listFirewallRules method

Future<ListFirewallRulesResponse> listFirewallRules({
  1. required String firewallRuleGroupId,
  2. Action? action,
  3. int? maxResults,
  4. String? nextToken,
  5. int? priority,
})

Retrieves the firewall rules that you have defined for the specified firewall rule group. DNS Firewall uses the rules in a rule group to filter DNS network traffic for a VPC.

A single call might return only a partial list of the rules. For information, see MaxResults.

For rules that require asynchronous provisioning, the response includes Status (see FirewallRuleStatus) and, on failure, StatusMessage with the reason.

May throw AccessDeniedException. May throw InternalServiceErrorException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter firewallRuleGroupId : The unique identifier of the firewall rule group that you want to retrieve the rules for.

Parameter action : Optional additional filter for the rules to retrieve.

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule:

  • ALLOW - Permit the request to go through. Not availabe for DNS Firewall Advanced rules.
  • ALERT - Permit the request to go through but send an alert to the logs.
  • BLOCK - Disallow the request. If this is specified, additional handling details are provided in the rule's BlockResponse setting.

Parameter maxResults : The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

Parameter nextToken : For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

Parameter priority : Optional additional filter for the rules to retrieve.

The setting that determines the processing order of the rules in a rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

Implementation

Future<ListFirewallRulesResponse> listFirewallRules({
  required String firewallRuleGroupId,
  Action? action,
  int? maxResults,
  String? nextToken,
  int? priority,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    100,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Route53Resolver.ListFirewallRules'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'FirewallRuleGroupId': firewallRuleGroupId,
      if (action != null) 'Action': action.value,
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
      if (priority != null) 'Priority': priority,
    },
  );

  return ListFirewallRulesResponse.fromJson(jsonResponse.body);
}