11/*
22Use this data source to query detailed information of SSM secret version
3+
34Example Usage
5+
46```hcl
7+ data "tencentcloud_ssm_secret_versions" "example" {
8+ secret_name = tencentcloud_ssm_secret_version.v1.secret_name
9+ version_id = tencentcloud_ssm_secret_version.v1.version_id
10+ }
11+
12+ resource "tencentcloud_ssm_secret" "example" {
13+ secret_name = "tf-example"
14+ description = "desc."
515
6- data "tencentcloud_ssm_secret_versions" "foo" {
7- secret_name = "test"
8- version_id = "v1"
16+ tags = {
17+ createdBy = "terraform"
18+ }
19+ }
20+
21+ resource "tencentcloud_ssm_secret_version" "v1" {
22+ secret_name = tencentcloud_ssm_secret.example.secret_name
23+ version_id = "v1"
24+ secret_binary = "MTIzMTIzMTIzMTIzMTIzQQ=="
925}
1026```
1127*/
@@ -72,22 +88,24 @@ func dataSourceTencentCloudSsmSecretVersions() *schema.Resource {
7288func dataSourceTencentCloudSsmSecretVersionsRead (d * schema.ResourceData , meta interface {}) error {
7389 defer logElapsed ("data_source.tencentcloud_ssm_secret_versions.read" )()
7490
75- logId := getLogId (contextNil )
76- ctx := context .WithValue (context .TODO (), logIdKey , logId )
77- ssmService := SsmService {
78- client : meta .(* TencentCloudClient ).apiV3Conn ,
79- }
91+ var (
92+ logId = getLogId (contextNil )
93+ ctx = context .WithValue (context .TODO (), logIdKey , logId )
94+ ssmService = SsmService {client : meta .(* TencentCloudClient ).apiV3Conn }
95+ secretName = d .Get ("secret_name" ).(string )
96+ outErr , inErr error
97+ secretInfo * SecretInfo
98+ )
8099
81- secretName := d .Get ("secret_name" ).(string )
82- var outErr , inErr error
83- var secretInfo * SecretInfo
84100 outErr = resource .Retry (readRetryTimeout , func () * resource.RetryError {
85101 secretInfo , inErr = ssmService .DescribeSecretByName (ctx , secretName )
86102 if inErr != nil {
87103 return retryError (inErr )
88104 }
105+
89106 return nil
90107 })
108+
91109 if outErr != nil {
92110 sdkErr , ok := outErr .(* sdkError.TencentCloudSDKError )
93111 if ok && sdkErr .Code == SSMResourceNotFound {
@@ -99,10 +117,12 @@ func dataSourceTencentCloudSsmSecretVersionsRead(d *schema.ResourceData, meta in
99117 log .Printf ("[CRITAL]%s read SSM secret failed, reason:%+v" , logId , outErr )
100118 return outErr
101119 }
120+
102121 if secretInfo .status != SSM_STATUS_ENABLED {
103122 log .Printf ("[CRITAL]%s read SSM secret version failed, reason: secret status is not Enabled" , logId )
104123 return nil
105124 }
125+
106126 var secretVersionInfos []* SecretVersionInfo
107127 var versionIds []string
108128 if v , ok := d .GetOk ("version_id" ); ok {
@@ -154,8 +174,10 @@ func dataSourceTencentCloudSsmSecretVersionsRead(d *schema.ResourceData, meta in
154174 log .Printf ("[CRITAL]%s provider set SSM secret version list fail, reason:%+v" , logId , e )
155175 return e
156176 }
177+
157178 if output , ok := d .GetOk ("result_output_file" ); ok && output .(string ) != "" {
158179 return writeToFile (output .(string ), secretVersionList )
159180 }
181+
160182 return nil
161183}
0 commit comments