@@ -338,21 +338,11 @@ func resourceSecurityRuntimeRuleDelete(ctx context.Context, d *schema.ResourceDa
338338 isBuiltIn := ok && isBuiltInRaw .(bool )
339339
340340 if isBuiltIn {
341- // Built-in rule: disable instead of deleting
342- req := sdk.RuntimeV1ToggleRulesRequest {
343- Enabled : false ,
344- Ids : []string {ruleID },
345- }
346- resp , err := client .RuntimeSecurityAPIToggleRulesWithResponse (ctx , req )
347- if err := sdk .CheckOKResponse (resp , err ); err != nil {
348- return diag .Errorf ("disabling built-in runtime rule (instead of deleting, we can't delete built in rules): %v" , err )
349- }
350-
351- d .SetId ("" )
352- return nil
341+ // Built-in rule: disable instead of deleting, we can't delete built in rules
342+ return disableRule (ctx , d , ruleID , client )
353343 }
354344
355- // Normal rule: delete it
345+ // not Build-in rule: delete it
356346 delReq := sdk.RuntimeSecurityAPIDeleteRulesJSONRequestBody {
357347 Ids : []string {ruleID },
358348 }
@@ -365,6 +355,20 @@ func resourceSecurityRuntimeRuleDelete(ctx context.Context, d *schema.ResourceDa
365355 return nil
366356}
367357
358+ func disableRule (ctx context.Context , d * schema.ResourceData , ruleID string , client sdk.ClientWithResponsesInterface ) diag.Diagnostics {
359+ req := sdk.RuntimeV1ToggleRulesRequest {
360+ Enabled : false ,
361+ Ids : []string {ruleID },
362+ }
363+ resp , err := client .RuntimeSecurityAPIToggleRulesWithResponse (ctx , req )
364+ if err := sdk .CheckOKResponse (resp , err ); err != nil {
365+ return diag .Errorf ("disabling built-in runtime rule (instead of deleting, we can't delete built in rules): %v" , err )
366+ }
367+
368+ d .SetId ("" )
369+ return nil
370+ }
371+
368372// findRuntimeRuleByName pages through API results to find a rule by name.
369373func findRuntimeRuleByName (ctx context.Context , client sdk.ClientWithResponsesInterface , name string ) (* sdk.RuntimeV1Rule , error ) {
370374 var cursor * string
0 commit comments