@@ -68,13 +68,13 @@ func resourceTencentCloudApmInstanceCreate(d *schema.ResourceData, meta interfac
6868 defer tccommon .LogElapsed ("resource.tencentcloud_apm_instance.create" )()
6969 defer tccommon .InconsistentCheck (d , meta )()
7070
71- logId := tccommon .GetLogId (tccommon .ContextNil )
72-
7371 var (
72+ logId = tccommon .GetLogId (tccommon .ContextNil )
7473 request = apm .NewCreateApmInstanceRequest ()
7574 response = apm .NewCreateApmInstanceResponse ()
7675 instanceId string
7776 )
77+
7878 if v , ok := d .GetOk ("name" ); ok {
7979 request .Name = helper .String (v .(string ))
8080 }
@@ -102,9 +102,11 @@ func resourceTencentCloudApmInstanceCreate(d *schema.ResourceData, meta interfac
102102 } else {
103103 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
104104 }
105+
105106 response = result
106107 return nil
107108 })
109+
108110 if err != nil {
109111 log .Printf ("[CRITAL]%s create apm instance failed, reason:%+v" , logId , err )
110112 return err
@@ -130,15 +132,24 @@ func resourceTencentCloudApmInstanceRead(d *schema.ResourceData, meta interface{
130132 defer tccommon .LogElapsed ("resource.tencentcloud_apm_instance.read" )()
131133 defer tccommon .InconsistentCheck (d , meta )()
132134
133- logId := tccommon .GetLogId (tccommon .ContextNil )
134-
135- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
135+ var (
136+ logId = tccommon .GetLogId (tccommon .ContextNil )
137+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
138+ service = ApmService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
139+ instance * apm.ApmInstanceDetail
140+ instanceId = d .Id ()
141+ )
136142
137- service := ApmService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
143+ err := resource .Retry (tccommon .ReadRetryTimeout , func () * resource.RetryError {
144+ result , err := service .DescribeApmInstanceById (ctx , instanceId )
145+ if err != nil {
146+ return tccommon .RetryError (err )
147+ }
138148
139- instanceId := d .Id ()
149+ instance = result
150+ return nil
151+ })
140152
141- instance , err := service .DescribeApmInstanceById (ctx , instanceId )
142153 if err != nil {
143154 return err
144155 }
@@ -184,18 +195,16 @@ func resourceTencentCloudApmInstanceUpdate(d *schema.ResourceData, meta interfac
184195 defer tccommon .LogElapsed ("resource.tencentcloud_apm_instance.update" )()
185196 defer tccommon .InconsistentCheck (d , meta )()
186197
187- logId := tccommon .GetLogId (tccommon .ContextNil )
188-
189- request := apm .NewModifyApmInstanceRequest ()
198+ var (
199+ logId = tccommon .GetLogId (tccommon .ContextNil )
200+ request = apm .NewModifyApmInstanceRequest ()
201+ instanceId = d .Id ()
202+ )
190203
191204 needChange := false
192-
193- instanceId := d .Id ()
194-
195205 request .InstanceId = & instanceId
196206
197207 mutableArgs := []string {"name" , "description" , "trace_duration" , "span_daily_counters" , "pay_mode" }
198-
199208 for _ , v := range mutableArgs {
200209 if d .HasChange (v ) {
201210 needChange = true
@@ -204,7 +213,6 @@ func resourceTencentCloudApmInstanceUpdate(d *schema.ResourceData, meta interfac
204213 }
205214
206215 if needChange {
207-
208216 if v , ok := d .GetOk ("name" ); ok {
209217 request .Name = helper .String (v .(string ))
210218 }
@@ -232,13 +240,14 @@ func resourceTencentCloudApmInstanceUpdate(d *schema.ResourceData, meta interfac
232240 } else {
233241 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
234242 }
243+
235244 return nil
236245 })
246+
237247 if err != nil {
238248 log .Printf ("[CRITAL]%s update apm instance failed, reason:%+v" , logId , err )
239249 return err
240250 }
241-
242251 }
243252
244253 if d .HasChange ("tags" ) {
@@ -260,11 +269,12 @@ func resourceTencentCloudApmInstanceDelete(d *schema.ResourceData, meta interfac
260269 defer tccommon .LogElapsed ("resource.tencentcloud_apm_instance.delete" )()
261270 defer tccommon .InconsistentCheck (d , meta )()
262271
263- logId := tccommon .GetLogId (tccommon .ContextNil )
264- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
265-
266- service := ApmService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
267- instanceId := d .Id ()
272+ var (
273+ logId = tccommon .GetLogId (tccommon .ContextNil )
274+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
275+ service = ApmService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
276+ instanceId = d .Id ()
277+ )
268278
269279 if err := service .DeleteApmInstanceById (ctx , instanceId ); err != nil {
270280 return err
0 commit comments