From 86263eb0bc5b3b7aabaf803d669ea2a273e041e8 Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 21:48:44 +0100 Subject: [PATCH 1/8] f-aws_ecs_account_setting_default --- .../service/ecs/account_setting_default.go | 3 +- .../ecs/account_setting_default_test.go | 48 +++++++++++++++++-- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/internal/service/ecs/account_setting_default.go b/internal/service/ecs/account_setting_default.go index e5beae7527e2..b28ab4d6fc3d 100644 --- a/internal/service/ecs/account_setting_default.go +++ b/internal/service/ecs/account_setting_default.go @@ -146,11 +146,12 @@ func resourceAccountSettingDefaultDelete(ctx context.Context, d *schema.Resource conn := meta.(*conns.AWSClient).ECSConn(ctx) settingName := d.Get("name").(string) + settingValue := d.Get("value").(string) log.Printf("[WARN] Disabling ECS Account Setting Default %s", settingName) input := ecs.PutAccountSettingDefaultInput{ Name: aws.String(settingName), - Value: aws.String("disabled"), + Value: aws.String(settingValue), } _, err := conn.PutAccountSettingDefaultWithContext(ctx, &input) diff --git a/internal/service/ecs/account_setting_default_test.go b/internal/service/ecs/account_setting_default_test.go index 2459c9efe7ad..c1806dad125d 100644 --- a/internal/service/ecs/account_setting_default_test.go +++ b/internal/service/ecs/account_setting_default_test.go @@ -23,11 +23,12 @@ func TestAccECSAccountSettingDefault_serial(t *testing.T) { t.Parallel() testCases := map[string]func(*testing.T){ - "containerInstanceLongARNFormat": testAccAccountSettingDefault_containerInstanceLongARNFormat, - "serviceLongARNFormat": testAccAccountSettingDefault_serviceLongARNFormat, - "taskLongARNFormat": testAccAccountSettingDefault_taskLongARNFormat, - "vpcTrunking": testAccAccountSettingDefault_vpcTrunking, - "containerInsights": testAccAccountSettingDefault_containerInsights, + // "containerInstanceLongARNFormat": testAccAccountSettingDefault_containerInstanceLongARNFormat, + // "serviceLongARNFormat": testAccAccountSettingDefault_serviceLongARNFormat, + // "taskLongARNFormat": testAccAccountSettingDefault_taskLongARNFormat, + // "vpcTrunking": testAccAccountSettingDefault_vpcTrunking, + // "containerInsights": testAccAccountSettingDefault_containerInsights, + "fargateTaskRetirementWaitPeriod": testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod, } acctest.RunSerialTests1Level(t, testCases, 0) @@ -178,6 +179,34 @@ func testAccAccountSettingDefault_containerInsights(t *testing.T) { }) } +func testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod(t *testing.T) { + ctx := acctest.Context(t) + resourceName := "aws_ecs_account_setting_default.test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAccountSettingDefaultDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "name", "fargateTaskRetirementWaitPeriod"), + resource.TestCheckResourceAttr(resourceName, "value", "7"), + acctest.MatchResourceAttrGlobalARN(resourceName, "principal_arn", "iam", regexache.MustCompile("root")), + ), + }, + { + ResourceName: resourceName, + ImportStateId: "fargateTaskRetirementWaitPeriod", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func testAccCheckAccountSettingDefaultDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).ECSConn(ctx) @@ -232,3 +261,12 @@ resource "aws_ecs_account_setting_default" "test" { } `, settingName) } + +func testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod() string { + return fmt.Sprintf(` +resource "aws_ecs_account_setting_default" "test" { + name = "fargateTaskRetirementWaitPeriod" + value = "7" +} +`) +} From 60d13fe213ef63612bc3e4e612a9c320abc0aca3 Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 21:59:20 +0100 Subject: [PATCH 2/8] f-support for network_card_index --- internal/service/ecs/account_setting_default.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/service/ecs/account_setting_default.go b/internal/service/ecs/account_setting_default.go index b28ab4d6fc3d..327fc4585ed7 100644 --- a/internal/service/ecs/account_setting_default.go +++ b/internal/service/ecs/account_setting_default.go @@ -146,7 +146,11 @@ func resourceAccountSettingDefaultDelete(ctx context.Context, d *schema.Resource conn := meta.(*conns.AWSClient).ECSConn(ctx) settingName := d.Get("name").(string) - settingValue := d.Get("value").(string) + settingValue := "disabled" + + if settingName == "fargateTaskRetirementWaitPeriod" { + settingValue = "7" + } log.Printf("[WARN] Disabling ECS Account Setting Default %s", settingName) input := ecs.PutAccountSettingDefaultInput{ From ba64351f719eeea46aff0710a297a2f7740c2fb1 Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 22:14:49 +0100 Subject: [PATCH 3/8] f-aws_ecs_account_setting_default --- .changelog/37018.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/37018.txt diff --git a/.changelog/37018.txt b/.changelog/37018.txt new file mode 100644 index 000000000000..2f34b11a9efd --- /dev/null +++ b/.changelog/37018.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_ecs_account_setting_default: Add support for `fargateTaskRetirementWaitPeriod` value in `Name` argument +``` \ No newline at end of file From 60d6e3485efee38ffe14efb82e82c2fc7f0ce406 Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 22:25:52 +0100 Subject: [PATCH 4/8] f-support for network_card_index --- internal/service/ecs/account_setting_default.go | 1 + internal/service/ecs/account_setting_default_test.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/service/ecs/account_setting_default.go b/internal/service/ecs/account_setting_default.go index 327fc4585ed7..d959005448c3 100644 --- a/internal/service/ecs/account_setting_default.go +++ b/internal/service/ecs/account_setting_default.go @@ -148,6 +148,7 @@ func resourceAccountSettingDefaultDelete(ctx context.Context, d *schema.Resource settingName := d.Get("name").(string) settingValue := "disabled" + //Default value: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html#task-retirement-change if settingName == "fargateTaskRetirementWaitPeriod" { settingValue = "7" } diff --git a/internal/service/ecs/account_setting_default_test.go b/internal/service/ecs/account_setting_default_test.go index c1806dad125d..894f0417a34e 100644 --- a/internal/service/ecs/account_setting_default_test.go +++ b/internal/service/ecs/account_setting_default_test.go @@ -193,7 +193,7 @@ func testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod(t *testing.T) Config: testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr(resourceName, "name", "fargateTaskRetirementWaitPeriod"), - resource.TestCheckResourceAttr(resourceName, "value", "7"), + resource.TestCheckResourceAttr(resourceName, "value", "14"), acctest.MatchResourceAttrGlobalARN(resourceName, "principal_arn", "iam", regexache.MustCompile("root")), ), }, @@ -234,7 +234,7 @@ func testAccCheckAccountSettingDefaultDestroy(ctx context.Context) resource.Test } for _, value := range resp.Settings { - if aws.StringValue(value.Value) != "disabled" { + if aws.StringValue(value.Value) != "disabled" && aws.StringValue(value.Value) != "7" { switch name { case ecs.SettingNameContainerInstanceLongArnFormat: return nil @@ -266,7 +266,7 @@ func testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod() string return fmt.Sprintf(` resource "aws_ecs_account_setting_default" "test" { name = "fargateTaskRetirementWaitPeriod" - value = "7" + value = "14" } `) } From e64c6822f817ca2dda37b3310125e148845808bd Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 22:26:43 +0100 Subject: [PATCH 5/8] f-support for network_card_index --- internal/service/ecs/account_setting_default_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/ecs/account_setting_default_test.go b/internal/service/ecs/account_setting_default_test.go index 894f0417a34e..fe9d2c961aba 100644 --- a/internal/service/ecs/account_setting_default_test.go +++ b/internal/service/ecs/account_setting_default_test.go @@ -23,11 +23,11 @@ func TestAccECSAccountSettingDefault_serial(t *testing.T) { t.Parallel() testCases := map[string]func(*testing.T){ - // "containerInstanceLongARNFormat": testAccAccountSettingDefault_containerInstanceLongARNFormat, - // "serviceLongARNFormat": testAccAccountSettingDefault_serviceLongARNFormat, - // "taskLongARNFormat": testAccAccountSettingDefault_taskLongARNFormat, - // "vpcTrunking": testAccAccountSettingDefault_vpcTrunking, - // "containerInsights": testAccAccountSettingDefault_containerInsights, + "containerInstanceLongARNFormat": testAccAccountSettingDefault_containerInstanceLongARNFormat, + "serviceLongARNFormat": testAccAccountSettingDefault_serviceLongARNFormat, + "taskLongARNFormat": testAccAccountSettingDefault_taskLongARNFormat, + "vpcTrunking": testAccAccountSettingDefault_vpcTrunking, + "containerInsights": testAccAccountSettingDefault_containerInsights, "fargateTaskRetirementWaitPeriod": testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod, } From 9699a424c2cf2c179308cedf42b27d75204d9941 Mon Sep 17 00:00:00 2001 From: nikhil Date: Sat, 20 Apr 2024 22:36:15 +0100 Subject: [PATCH 6/8] f-aws_ecs_account_setting_default --- internal/service/ecs/account_setting_default_test.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/service/ecs/account_setting_default_test.go b/internal/service/ecs/account_setting_default_test.go index fe9d2c961aba..877c257feb13 100644 --- a/internal/service/ecs/account_setting_default_test.go +++ b/internal/service/ecs/account_setting_default_test.go @@ -182,6 +182,7 @@ func testAccAccountSettingDefault_containerInsights(t *testing.T) { func testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ecs_account_setting_default.test" + settingName := ecs.SettingNameFargateTaskRetirementWaitPeriod resource.Test(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t) }, @@ -190,7 +191,7 @@ func testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod(t *testing.T) CheckDestroy: testAccCheckAccountSettingDefaultDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(), + Config: testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(settingName), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr(resourceName, "name", "fargateTaskRetirementWaitPeriod"), resource.TestCheckResourceAttr(resourceName, "value", "14"), @@ -262,11 +263,11 @@ resource "aws_ecs_account_setting_default" "test" { `, settingName) } -func testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod() string { +func testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(settingName string) string { return fmt.Sprintf(` resource "aws_ecs_account_setting_default" "test" { - name = "fargateTaskRetirementWaitPeriod" + name = %[1]q value = "14" } -`) +`, settingName) } From 1e18077db26e6cf91060d671395713ac03b23d15 Mon Sep 17 00:00:00 2001 From: Sharon Nam Date: Fri, 10 May 2024 14:28:00 -0700 Subject: [PATCH 7/8] Use consts --- internal/service/ecs/account_setting_default.go | 4 ++-- internal/service/ecs/consts.go | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/service/ecs/account_setting_default.go b/internal/service/ecs/account_setting_default.go index 2a3cbd8a50bc..3f9eba9489bb 100644 --- a/internal/service/ecs/account_setting_default.go +++ b/internal/service/ecs/account_setting_default.go @@ -150,8 +150,8 @@ func resourceAccountSettingDefaultDelete(ctx context.Context, d *schema.Resource settingValue := "disabled" //Default value: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html#task-retirement-change - if settingName == "fargateTaskRetirementWaitPeriod" { - settingValue = "7" + if settingName == ecs.SettingNameFargateTaskRetirementWaitPeriod { + settingValue = fargateTaskRetirementWaitPeriodValue } log.Printf("[WARN] Disabling ECS Account Setting Default %s", settingName) diff --git a/internal/service/ecs/consts.go b/internal/service/ecs/consts.go index 51cea2cb9aec..fe9075359588 100644 --- a/internal/service/ecs/consts.go +++ b/internal/service/ecs/consts.go @@ -17,3 +17,7 @@ const ( clusterStatusInactive = "INACTIVE" clusterStatusProvisioning = "PROVISIONING" ) + +const ( + fargateTaskRetirementWaitPeriodValue = "7" +) From 62975f60ec23b9f34b0c61c6630300ba9e5f8209 Mon Sep 17 00:00:00 2001 From: Sharon Nam Date: Fri, 10 May 2024 16:35:23 -0700 Subject: [PATCH 8/8] Linter fixes --- internal/service/ecs/account_setting_default.go | 2 +- internal/service/ecs/account_setting_default_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/ecs/account_setting_default.go b/internal/service/ecs/account_setting_default.go index 3f9eba9489bb..9f324d029bdc 100644 --- a/internal/service/ecs/account_setting_default.go +++ b/internal/service/ecs/account_setting_default.go @@ -146,7 +146,7 @@ func resourceAccountSettingDefaultDelete(ctx context.Context, d *schema.Resource var diags diag.Diagnostics conn := meta.(*conns.AWSClient).ECSConn(ctx) - settingName := d.Get("name").(string) + settingName := d.Get(names.AttrName).(string) settingValue := "disabled" //Default value: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html#task-retirement-change diff --git a/internal/service/ecs/account_setting_default_test.go b/internal/service/ecs/account_setting_default_test.go index e95a9958e3a1..f664a3e58cf2 100644 --- a/internal/service/ecs/account_setting_default_test.go +++ b/internal/service/ecs/account_setting_default_test.go @@ -193,8 +193,8 @@ func testAccAccountSettingDefault_fargateTaskRetirementWaitPeriod(t *testing.T) { Config: testAccAccountSettingDefaultConfig_fargateTaskRetirementWaitPeriod(settingName), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr(resourceName, "name", "fargateTaskRetirementWaitPeriod"), - resource.TestCheckResourceAttr(resourceName, "value", "14"), + resource.TestCheckResourceAttr(resourceName, names.AttrName, "fargateTaskRetirementWaitPeriod"), + resource.TestCheckResourceAttr(resourceName, names.AttrValue, "14"), acctest.MatchResourceAttrGlobalARN(resourceName, "principal_arn", "iam", regexache.MustCompile("root")), ), },