Skip to content

Commit d15e2d2

Browse files
authored
fix: ssm - add sweeper (#1145)
1 parent 7c9d555 commit d15e2d2

File tree

4 files changed

+59
-7
lines changed

4 files changed

+59
-7
lines changed

tencentcloud/data_source_tc_ssm_secret_versions_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestAccTencentCloudSsmSecretVersionsDataSource(t *testing.T) {
2828

2929
const TestAccTencentCloudSsmSecretVersionsDataSourceConfig = `
3030
resource "tencentcloud_ssm_secret" "secret" {
31-
secret_name = "unit-test"
31+
secret_name = "unit-test-ver-data"
3232
description = "test secret"
3333
3434
tags = {

tencentcloud/data_source_tc_ssm_secrets_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestAccTencentCloudSsmSecretsDataSource(t *testing.T) {
1818
Config: TestAccTencentCloudSsmSecretsDataSourceConfig,
1919
Check: resource.ComposeTestCheckFunc(
2020
testAccCheckTencentCloudDataSourceID(dataSourceName),
21-
resource.TestCheckResourceAttr(dataSourceName, "secret_list.0.secret_name", "unit-test"),
21+
resource.TestCheckResourceAttr(dataSourceName, "secret_list.0.secret_name", "unit-test-for-data"),
2222
resource.TestCheckResourceAttr(dataSourceName, "secret_list.0.description", "test secret"),
2323
resource.TestCheckResourceAttrSet(dataSourceName, "secret_list.0.kms_key_id"),
2424
resource.TestCheckResourceAttrSet(dataSourceName, "secret_list.0.create_uin"),
@@ -32,7 +32,7 @@ func TestAccTencentCloudSsmSecretsDataSource(t *testing.T) {
3232

3333
const TestAccTencentCloudSsmSecretsDataSourceConfig = `
3434
resource "tencentcloud_ssm_secret" "secret" {
35-
secret_name = "unit-test"
35+
secret_name = "unit-test-for-data"
3636
description = "test secret"
3737
3838
tags = {

tencentcloud/resource_tc_ssm_secret_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,64 @@ import (
44
"context"
55
"fmt"
66
"testing"
7+
"time"
8+
9+
ssm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm/v20190923"
710

811
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
912
"github.com/hashicorp/terraform-plugin-sdk/terraform"
1013
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
1114
)
1215

16+
func init() {
17+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_ssm_secret
18+
resource.AddTestSweepers("tencentcloud_ssm_secret", &resource.Sweeper{
19+
Name: "tencentcloud_ssm_secret",
20+
F: func(r string) error {
21+
logId := getLogId(contextNil)
22+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
23+
cli, _ := sharedClientForRegion(r)
24+
client := cli.(*TencentCloudClient).apiV3Conn
25+
service := SsmService{client}
26+
27+
secrets, err := service.DescribeSecretsByFilter(ctx, nil)
28+
29+
if err != nil {
30+
return err
31+
}
32+
33+
for i := range secrets {
34+
ss := secrets[i]
35+
name := *ss.SecretName
36+
createTime := ss.CreateTime
37+
created := time.Time{}
38+
if createTime != nil {
39+
created = time.Unix(int64(*createTime), 0)
40+
}
41+
if isResourcePersist(name, &created) {
42+
continue
43+
}
44+
err = service.DisableSecret(ctx, name)
45+
if err != nil {
46+
continue
47+
}
48+
err = resource.Retry(readRetryTimeout, func() *resource.RetryError {
49+
err := service.DeleteSecret(ctx, name, 0)
50+
if err != nil {
51+
return retryError(err, ssm.FAILEDOPERATION)
52+
}
53+
return nil
54+
})
55+
if err != nil {
56+
continue
57+
}
58+
}
59+
60+
return nil
61+
},
62+
})
63+
}
64+
1365
func TestAccTencentCloudSsmSecret_basic(t *testing.T) {
1466
t.Parallel()
1567
resourceName := "tencentcloud_ssm_secret.secret"

tencentcloud/resource_tc_ssm_secret_version_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestAccTencentCloudSsmSecretVersion_basic(t *testing.T) {
2424
Config: TestAccTencentCloudSsmSecretVersion_basicConfig,
2525
Check: resource.ComposeTestCheckFunc(
2626
testAccCheckSsmSecretVersionExists(resourceName),
27-
resource.TestCheckResourceAttr(resourceName, "secret_name", "unit-test"),
27+
resource.TestCheckResourceAttr(resourceName, "secret_name", "unit-test-for-version"),
2828
resource.TestCheckResourceAttr(resourceName, "version_id", "v1"),
2929
resource.TestCheckResourceAttr(resourceName, "secret_binary", "MTIzMTIzMTIzMTIzMTIzQQ=="),
3030
),
@@ -33,7 +33,7 @@ func TestAccTencentCloudSsmSecretVersion_basic(t *testing.T) {
3333
Config: TestAccTencentCloudSsmSecretVersion_secretStringConfig,
3434
Check: resource.ComposeTestCheckFunc(
3535
testAccCheckSsmSecretVersionExists(resourceName),
36-
resource.TestCheckResourceAttr(resourceName, "secret_name", "unit-test"),
36+
resource.TestCheckResourceAttr(resourceName, "secret_name", "unit-test-for-version"),
3737
resource.TestCheckResourceAttr(resourceName, "version_id", "v1"),
3838
resource.TestCheckResourceAttr(resourceName, "secret_string", "123456"),
3939
),
@@ -118,7 +118,7 @@ func testAccCheckSsmSecretVersionExists(name string) resource.TestCheckFunc {
118118

119119
const TestAccTencentCloudSsmSecretVersion_basicConfig = `
120120
resource "tencentcloud_ssm_secret" "secret" {
121-
secret_name = "unit-test"
121+
secret_name = "unit-test-for-version"
122122
description = "test secret"
123123
124124
tags = {
@@ -135,7 +135,7 @@ resource "tencentcloud_ssm_secret_version" "v1" {
135135

136136
const TestAccTencentCloudSsmSecretVersion_secretStringConfig = `
137137
resource "tencentcloud_ssm_secret" "secret" {
138-
secret_name = "unit-test"
138+
secret_name = "unit-test-for-version"
139139
description = "test secret"
140140
141141
tags = {

0 commit comments

Comments
 (0)