Skip to content

batch_create_firewall_rule async

batch_create_firewall_rule(
    firewall_rules: BatchCreateFirewallRuleInputItems,
    *,
    config_overrides: Optional[AsyncRoute53GlobalResolverClientConfig] = None,
) -> BatchCreateFirewallRuleOutput

Creates multiple DNS firewall rules in a single operation. This is more efficient than creating rules individually when you need to set up multiple rules at once.

Route 53 Global Resolver is a global service that supports resolvers in multiple Amazon Web Services Regions but you must specify the US East (Ohio) Region to create, update, or otherwise work with Route 53 Global Resolver resources. That is, for example, specify --region us-east-2 on Amazon Web Services CLI commands.

Parameters:

Raises:

Source code in docs_src/capo_route53globalresolver/_services/async_route53_global_resolver.py
async def batch_create_firewall_rule(
    self,
    firewall_rules: "capo_route53globalresolver.types.batch_create_firewall_rule_input_items.BatchCreateFirewallRuleInputItems",
    *,
    config_overrides: Optional[AsyncRoute53GlobalResolverClientConfig] = None,
) -> "capo_route53globalresolver.types.batch_create_firewall_rule_output.BatchCreateFirewallRuleOutput":
    """<p>Creates multiple DNS firewall rules in a single operation. This is more efficient than creating rules individually when you need to set up multiple rules at once.</p> <important> <p>Route 53 Global Resolver is a global service that supports resolvers in multiple Amazon Web Services Regions but you must specify the US East (Ohio) Region to create, update, or otherwise work with Route 53 Global Resolver resources. That is, for example, specify <code>--region us-east-2</code> on Amazon Web Services CLI commands.</p> </important>

    Args:
        firewall_rules: <p>The <code>BatchCreateFirewallRuleInputItem</code> objects contain the information for each Firewall rule.</p>

    Raises:
        capo_route53globalresolver.errors.access_denied_exception.AccessDeniedException: <p>You don't have permission to perform this operation. Check your IAM permissions and try again.</p>
        capo_route53globalresolver.errors.internal_server_exception.InternalServerException: <p>An internal server error occurred. Try again later.</p>
        capo_route53globalresolver.errors.throttling_exception.ThrottlingException: <p>The request was throttled due to too many requests. Wait a moment and try again.</p>
        capo_route53globalresolver.errors.validation_exception.ValidationException: <p>The input parameters are invalid. Check the parameter values and try again.</p>
        capo_route53globalresolver.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_route53globalresolver.types.batch_create_firewall_rule_input.BatchCreateFirewallRuleInput]",
    ) -> AsyncOperationResponse[
        "capo_route53globalresolver.types.batch_create_firewall_rule_output.BatchCreateFirewallRuleOutput"
    ]:
        import capo_route53globalresolver._operations.ec2_dns_global_resolver_customer_api.batch_create_firewall_rule

        (
            output,
            http_response,
        ) = await capo_route53globalresolver._operations.ec2_dns_global_resolver_customer_api.batch_create_firewall_rule.async_batch_create_firewall_rule(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("BatchCreateFirewallRule")
    )
    input_: capo_route53globalresolver.types.batch_create_firewall_rule_input.BatchCreateFirewallRuleInput = {
        "firewall_rules": firewall_rules
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output