@@ -163,7 +163,6 @@ func resourceTencentCloudCfwEdgePolicyCreate(d *schema.ResourceData, meta interf
163163 }
164164
165165 request .Rules = append (request .Rules , & createRuleItem )
166-
167166 err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
168167 result , e := meta .(tccommon.ProviderMeta ).GetAPIV3Conn ().UseCfwClient ().AddAclRule (request )
169168 if e != nil {
@@ -172,6 +171,10 @@ func resourceTencentCloudCfwEdgePolicyCreate(d *schema.ResourceData, meta interf
172171 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
173172 }
174173
174+ if result == nil || result .Response == nil {
175+ return tccommon .RetryError (fmt .Errorf ("Create cfw edgePolicy failed, Response is nil." ))
176+ }
177+
175178 response = result
176179 return nil
177180 })
@@ -181,6 +184,10 @@ func resourceTencentCloudCfwEdgePolicyCreate(d *schema.ResourceData, meta interf
181184 return err
182185 }
183186
187+ if len (response .Response .RuleUuid ) == 0 {
188+ return fmt .Errorf ("RuleUuid is nil." )
189+ }
190+
184191 ruleUuid := * response .Response .RuleUuid [0 ]
185192 uuid = strconv .FormatInt (ruleUuid , 10 )
186193 d .SetId (uuid )
@@ -207,8 +214,8 @@ func resourceTencentCloudCfwEdgePolicyRead(d *schema.ResourceData, meta interfac
207214 }
208215
209216 if edgePolicy == nil {
217+ log .Printf ("[WARN]%s resource `tencentcloud_cfw_edge_policy` [%s] not found, please check if it has been deleted.\n " , logId , d .Id ())
210218 d .SetId ("" )
211- log .Printf ("[WARN]%s resource `CfwEdgePolicy` [%s] not found, please check if it has been deleted.\n " , logId , d .Id ())
212219 return nil
213220 }
214221
@@ -303,7 +310,6 @@ func resourceTencentCloudCfwEdgePolicyUpdate(d *schema.ResourceData, meta interf
303310 )
304311
305312 immutableArgs := []string {"uuid" , "direction" }
306-
307313 for _ , v := range immutableArgs {
308314 if d .HasChange (v ) {
309315 return fmt .Errorf ("argument `%s` cannot be changed" , v )
@@ -341,7 +347,7 @@ func resourceTencentCloudCfwEdgePolicyUpdate(d *schema.ResourceData, meta interf
341347 modifyRuleItem .Port = helper .String (v .(string ))
342348 }
343349
344- if v , ok := d .GetOk ("direction" ); ok {
350+ if v , ok := d .GetOkExists ("direction" ); ok {
345351 modifyRuleItem .Direction = helper .IntUint64 (v .(int ))
346352 }
347353
0 commit comments