diff --git a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_information_leakage_prevention.go b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_information_leakage_prevention.go index 0fa556c050..73b9bb93c3 100644 --- a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_information_leakage_prevention.go +++ b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_information_leakage_prevention.go @@ -172,6 +172,8 @@ func resourceRuleRead(_ context.Context, d *schema.ResourceData, meta interface{ getResp, err := client.Request("GET", getPath, &getOpt) if err != nil { + // If the information leakage prevention rule does not exist, the response HTTP status code of + // the details API is 404. return common.CheckDeletedDiag(d, err, "error retrieving WAF information leakage prevention rule") } @@ -253,7 +255,9 @@ func resourceRuleDelete(_ context.Context, d *schema.ResourceData, meta interfac _, err = client.Request("DELETE", deletePath, &deleteOpt) if err != nil { - return diag.Errorf("error deleting WAF information leakage prevention rule: %s", err) + // If the information leakage prevention rule does not exist, the response HTTP status code of + // the deletion API is 404. + return common.CheckDeletedDiag(d, err, "error deleting WAF information leakage prevention rule") } return nil } diff --git a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_known_attack_source.go b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_known_attack_source.go index 84c9f12a45..29a06e3325 100644 --- a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_known_attack_source.go +++ b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_known_attack_source.go @@ -152,6 +152,7 @@ func resourceRuleKnownAttackRead(_ context.Context, d *schema.ResourceData, meta getResp, err := client.Request("GET", getPath, &getOpt) if err != nil { + // If the known attack source rule does not exist, the response HTTP status code of the details API is 404. return common.CheckDeletedDiag(d, err, "error retrieving WAF known attack source rule") } @@ -232,7 +233,8 @@ func resourceRuleKnownAttackDelete(_ context.Context, d *schema.ResourceData, me _, err = client.Request("DELETE", deletePath, &deleteRuleKnownAttackOpt) if err != nil { - return diag.Errorf("error deleting WAF known attack source rule: %s", err) + // If the known attack source rule does not exist, the response HTTP status code of the deletion API is 404. + return common.CheckDeletedDiag(d, err, "error deleting WAF known attack source rule") } return nil diff --git a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_precise_protection.go b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_precise_protection.go index bcda09ad0b..35241d1b26 100644 --- a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_precise_protection.go +++ b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_precise_protection.go @@ -355,6 +355,7 @@ func resourceRulePreciseProtectionRead(_ context.Context, d *schema.ResourceData getRuleResp, err := preciseProtectionClient.Request("GET", getRulePath, &getRuleOpt) if err != nil { + // If the rule does not exist, the response HTTP status code of the details API is 404. return common.CheckDeletedDiag(d, err, "error retrieving RulePreciseProtection") } @@ -497,7 +498,8 @@ func resourceRulePreciseProtectionDelete(_ context.Context, d *schema.ResourceDa } _, err = preciseProtectionClient.Request("DELETE", deletePath, &deleteOpt) if err != nil { - return diag.Errorf("error deleting RulePreciseProtection: %s", err) + // If the rule does not exist, the response HTTP status code of the deletion API is 404. + return common.CheckDeletedDiag(d, err, "error deleting RulePreciseProtection") } return nil } diff --git a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_web_tamper_protection.go b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_web_tamper_protection.go index 71b36400a2..748ed0889e 100644 --- a/huaweicloud/services/waf/resource_huaweicloud_waf_rule_web_tamper_protection.go +++ b/huaweicloud/services/waf/resource_huaweicloud_waf_rule_web_tamper_protection.go @@ -131,6 +131,7 @@ func resourceWafRuleWebTamperProtectionRead(_ context.Context, d *schema.Resourc epsID := cfg.GetEnterpriseProjectID(d) n, err := rules.GetWithEpsID(wafClient, policyID, d.Id(), epsID).Extract() if err != nil { + // If the web tamper protection rule does not exist, the response HTTP status code of the details API is 404. return common.CheckDeletedDiag(d, err, "error retrieving WAF web tamper protection rule") } @@ -156,7 +157,8 @@ func resourceWafRuleWebTamperProtectionDelete(_ context.Context, d *schema.Resou epsID := cfg.GetEnterpriseProjectID(d) err = rules.DeleteWithEpsID(wafClient, policyID, d.Id(), epsID).ExtractErr() if err != nil { - return diag.Errorf("error deleting WAF web tamper protection rule: %s", err) + // If the web tamper protection rule does not exist, the response HTTP status code of the deletion API is 404. + return common.CheckDeletedDiag(d, err, "error deleting WAF web tamper protection rule") } return nil }