Skip to content

create_proxy_rules

create_proxy_rules(
    rules: CreateProxyRulesByRequestPhase,
    *,
    config_overrides: Optional[NetworkFirewallClientConfig] = None,
    proxy_rule_group_arn: Optional[ResourceArn] = None,
    proxy_rule_group_name: Optional[ResourceName] = None,
) -> CreateProxyRulesResponse

Creates Network Firewall ProxyRule resources.

Attaches new proxy rule(s) to an existing proxy rule group.

To retrieve information about individual proxy rules, use DescribeProxyRuleGroup and DescribeProxyRule.

Parameters:

  • proxy_rule_group_arn (Optional[ResourceArn], default: None ) –

    The Amazon Resource Name (ARN) of a proxy rule group.

    You must specify the ARN or the name, and you can specify both.

  • proxy_rule_group_name (Optional[ResourceName], default: None ) –

    The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.

    You must specify the ARN or the name, and you can specify both.

  • rules (CreateProxyRulesByRequestPhase) –

    Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert).

Raises:

  • InternalServerError –

    Your request is valid, but Network Firewall couldn't perform the operation because of a system problem. Retry your request.

  • InvalidRequestException –

    The operation failed because of a problem with your request. Examples include:

    • You specified an unsupported parameter name or value.

    • You tried to update a property with a value that isn't among the available types.

    • Your request references an ARN that is malformed, or corresponds to a resource that isn't valid in the context of the request.

  • ThrottlingException –

    Unable to process the request due to throttling limitations.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_network_firewall/_services/network_firewall.py
def create_proxy_rules(
    self,
    rules: "capo_network_firewall.types.create_proxy_rules_by_request_phase.CreateProxyRulesByRequestPhase",
    *,
    config_overrides: Optional[NetworkFirewallClientConfig] = None,
    proxy_rule_group_arn: Optional[
        "capo_network_firewall.types.resource_arn.ResourceArn"
    ] = None,
    proxy_rule_group_name: Optional[
        "capo_network_firewall.types.resource_name.ResourceName"
    ] = None,
) -> "capo_network_firewall.types.create_proxy_rules_response.CreateProxyRulesResponse":
    """<p>Creates Network Firewall <a>ProxyRule</a> resources. </p> <p>Attaches new proxy rule(s) to an existing proxy rule group. </p> <p>To retrieve information about individual proxy rules, use <a>DescribeProxyRuleGroup</a> and <a>DescribeProxyRule</a>.</p>

    Args:
        proxy_rule_group_arn: <p>The Amazon Resource Name (ARN) of a proxy rule group.</p> <p>You must specify the ARN or the name, and you can specify both. </p>
        proxy_rule_group_name: <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p> <p>You must specify the ARN or the name, and you can specify both. </p>
        rules: <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>

    Raises:
        capo_network_firewall.errors.internal_server_error.InternalServerError: <p>Your request is valid, but Network Firewall couldn't perform the operation because of a system problem. Retry your request. </p>
        capo_network_firewall.errors.invalid_request_exception.InvalidRequestException: <p>The operation failed because of a problem with your request. Examples include: </p> <ul> <li> <p>You specified an unsupported parameter name or value.</p> </li> <li> <p>You tried to update a property with a value that isn't among the available types.</p> </li> <li> <p>Your request references an ARN that is malformed, or corresponds to a resource that isn't valid in the context of the request.</p> </li> </ul>
        capo_network_firewall.errors.throttling_exception.ThrottlingException: <p>Unable to process the request due to throttling limitations.</p>
        capo_network_firewall.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_network_firewall.types.create_proxy_rules_request.CreateProxyRulesRequest]",
    ) -> OperationResponse[
        "capo_network_firewall.types.create_proxy_rules_response.CreateProxyRulesResponse"
    ]:
        import capo_network_firewall._operations.network_firewall_20201112.create_proxy_rules

        output, http_response = (
            capo_network_firewall._operations.network_firewall_20201112.create_proxy_rules.create_proxy_rules(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateProxyRules")
    )
    input_: capo_network_firewall.types.create_proxy_rules_request.CreateProxyRulesRequest = {
        "rules": rules
    }
    if proxy_rule_group_arn is not None:
        input_["proxy_rule_group_arn"] = proxy_rule_group_arn
    if proxy_rule_group_name is not None:
        input_["proxy_rule_group_name"] = proxy_rule_group_name

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output