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.

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);
}