Skip to content

describe_resource_policy

describe_resource_policy(
    resource_arn: ResourceArn,
    *,
    config_overrides: Optional[NetworkFirewallClientConfig] = None,
) -> DescribeResourcePolicyResponse

Retrieves a resource policy that you created in a PutResourcePolicy request.

Parameters:

  • resource_arn (ResourceArn) –

    The Amazon Resource Name (ARN) of the rule group or firewall policy whose resource policy you want to retrieve.

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.

  • ResourceNotFoundException –

    Unable to locate a resource using the parameters that you provided.

  • 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 describe_resource_policy(
    self,
    resource_arn: "capo_network_firewall.types.resource_arn.ResourceArn",
    *,
    config_overrides: Optional[NetworkFirewallClientConfig] = None,
) -> "capo_network_firewall.types.describe_resource_policy_response.DescribeResourcePolicyResponse":
    """<p>Retrieves a resource policy that you created in a <a>PutResourcePolicy</a> request. </p>

    Args:
        resource_arn: <p>The Amazon Resource Name (ARN) of the rule group or firewall policy whose resource policy you want to retrieve. </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.resource_not_found_exception.ResourceNotFoundException: <p>Unable to locate a resource using the parameters that you provided.</p>
        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.describe_resource_policy_request.DescribeResourcePolicyRequest]",
    ) -> OperationResponse[
        "capo_network_firewall.types.describe_resource_policy_response.DescribeResourcePolicyResponse"
    ]:
        import capo_network_firewall._operations.network_firewall_20201112.describe_resource_policy

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeResourcePolicy")
    )
    input_: capo_network_firewall.types.describe_resource_policy_request.DescribeResourcePolicyRequest = {
        "resource_arn": resource_arn
    }

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