deletePolicy method
Permanently deletes an AWS Firewall Manager policy.
May throw ResourceNotFoundException. May throw InvalidOperationException. May throw InternalErrorException. May throw InvalidInputException. May throw LimitExceededException.
Parameter policyId
:
The ID of the policy that you want to delete. You can retrieve this ID
from PutPolicy
and ListPolicies
.
Parameter deleteAllPolicyResources
:
If True
, the request performs cleanup according to the policy
type.
For AWS WAF and Shield Advanced policies, the cleanup does the following:
- Deletes rule groups created by AWS Firewall Manager
- Removes web ACLs from in-scope resources
- Deletes web ACLs that contain no rules or rule groups
- Disassociates the security group from in-scope resources
- Deletes the security group if it was created through Firewall Manager and if it's no longer associated with any resources through another policy
Implementation
Future<void> deletePolicy({
required String policyId,
bool? deleteAllPolicyResources,
}) async {
ArgumentError.checkNotNull(policyId, 'policyId');
_s.validateStringLength(
'policyId',
policyId,
36,
36,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSFMS_20180101.DeletePolicy'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'PolicyId': policyId,
if (deleteAllPolicyResources != null)
'DeleteAllPolicyResources': deleteAllPolicyResources,
},
);
}