Skip to content

Commit 9193b1c

Browse files
authored
remove default version (#2256)
* remove default version * add changelog
1 parent de94df1 commit 9193b1c

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

.changelog/2256.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
tencentcloud_ssm_secret: Remove default version while `secret_type` is 0
3+
```

tencentcloud/resource_tc_ssm_secret.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func resourceTencentCloudSsmSecret() *schema.Resource {
126126
Type: schema.TypeInt,
127127
Optional: true,
128128
Computed: true,
129-
Description: "Type of secret. `0`: user-defined secret. `4`: redis secret.",
129+
Description: "Type of secret. `0`: user-defined secret. `4`: redis secret. Default is `0`.",
130130
},
131131
"additional_config": {
132132
Type: schema.TypeString,
@@ -171,6 +171,7 @@ func resourceTencentCloudSsmSecretCreate(d *schema.ResourceData, meta interface{
171171
secretInfo *SecretInfo
172172
outErr, inErr error
173173
secretName string
174+
secretType int
174175
)
175176

176177
if v, ok := d.GetOk("secret_name"); ok {
@@ -186,14 +187,18 @@ func resourceTencentCloudSsmSecretCreate(d *schema.ResourceData, meta interface{
186187
}
187188

188189
if v, ok := d.GetOkExists("secret_type"); ok {
190+
secretType = v.(int)
189191
request.SecretType = helper.IntUint64(v.(int))
190192
}
191193

192194
if v, ok := d.GetOk("additional_config"); ok {
193195
request.AdditionalConfig = helper.String(v.(string))
194196
}
195197

196-
request.SecretString = helper.String("default")
198+
if secretType == 0 {
199+
request.VersionId = helper.String("default")
200+
request.SecretString = helper.String("default")
201+
}
197202
outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
198203
result, e := meta.(*TencentCloudClient).apiV3Conn.UseSsmClient().CreateSecret(request)
199204
if e != nil {
@@ -213,6 +218,20 @@ func resourceTencentCloudSsmSecretCreate(d *schema.ResourceData, meta interface{
213218
secretName = *response.Response.SecretName
214219
d.SetId(secretName)
215220

221+
//delete default version info
222+
if secretType == 0 {
223+
outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
224+
inErr = ssmService.DeleteSecretVersion(ctx, secretName, "default")
225+
if inErr != nil {
226+
return retryError(inErr)
227+
}
228+
return nil
229+
})
230+
if outErr != nil {
231+
return outErr
232+
}
233+
}
234+
216235
if isEnabled := d.Get("is_enabled").(bool); !isEnabled {
217236
outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
218237
inErr = ssmService.DisableSecret(ctx, secretName)

website/docs/r/ssm_secret.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ The following arguments are supported:
9191
* `is_enabled` - (Optional, Bool) Specify whether to enable secret. Default value is `true`.
9292
* `kms_key_id` - (Optional, String, ForceNew) KMS keyId used to encrypt secret. If it is empty, it means that the CMK created by SSM for you by default is used for encryption. You can also specify the KMS CMK created by yourself in the same region for encryption.
9393
* `recovery_window_in_days` - (Optional, Int) Specify the scheduled deletion date. Default value is `0` that means to delete immediately. 1-30 means the number of days reserved, completely deleted after this date.
94-
* `secret_type` - (Optional, Int) Type of secret. `0`: user-defined secret. `4`: redis secret.
94+
* `secret_type` - (Optional, Int) Type of secret. `0`: user-defined secret. `4`: redis secret. Default is `0`.
9595
* `tags` - (Optional, Map) Tags of secret.
9696

9797
## Attributes Reference

0 commit comments

Comments
 (0)