Skip to content

get_component_policy

get_component_policy(
    component_arn: ComponentBuildVersionArn,
    *,
    config_overrides: Optional[imagebuilderClientConfig] = None,
) -> GetComponentPolicyResponse

Retrieves a component policy.

Parameters:

  • component_arn (ComponentBuildVersionArn) –

    The Amazon Resource Name (ARN) of the component whose policy you want to retrieve.

Raises:

  • CallRateLimitExceededException –

    You have exceeded the permitted request rate for the Amazon EC2 APIs that Image Builder calls on your behalf. Retry with an increasing or variable delay between requests.

  • ForbiddenException –

    You are not authorized to perform the requested operation.

  • InvalidRequestException –

    The request is malformed or otherwise invalid. Verify the request and try again.

  • ResourceNotFoundException –

    At least one of the resources referenced by your request does not exist.

  • ServiceException –

    An internal server error occurred while Image Builder processed the request. Retrying the request may succeed.

  • ServiceUnavailableException –

    The service is unable to process your request at this time.

  • UnknownServiceError –

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

Examples:

Get the resource policy for a component The following example retrieves the resource policy that's applied to a component that the owner shared with another account.

>>> client.get_component_policy(component_arn='arn:aws:imagebuilder:us-west-2:111122223333:component/my-shared-component/1.0.0/1')
Source code in docs_src/capo_imagebuilder/_services/imagebuilder.py
def get_component_policy(
    self,
    component_arn: "capo_imagebuilder.types.component_build_version_arn.ComponentBuildVersionArn",
    *,
    config_overrides: Optional[imagebuilderClientConfig] = None,
) -> "capo_imagebuilder.types.get_component_policy_response.GetComponentPolicyResponse":
    """<p>Retrieves a component policy.</p>

    Args:
        component_arn: <p>The Amazon Resource Name (ARN) of the component whose policy you want to retrieve.</p>

    Raises:
        capo_imagebuilder.errors.call_rate_limit_exceeded_exception.CallRateLimitExceededException: <p>You have exceeded the permitted request rate for the Amazon EC2 APIs that Image Builder calls on your behalf. Retry with an increasing or variable delay between requests.</p>
        capo_imagebuilder.errors.forbidden_exception.ForbiddenException: <p>You are not authorized to perform the requested operation.</p>
        capo_imagebuilder.errors.invalid_request_exception.InvalidRequestException: <p>The request is malformed or otherwise invalid. Verify the request and try again.</p>
        capo_imagebuilder.errors.resource_not_found_exception.ResourceNotFoundException: <p>At least one of the resources referenced by your request does not exist.</p>
        capo_imagebuilder.errors.service_exception.ServiceException: <p>An internal server error occurred while Image Builder processed the request. Retrying the request may succeed.</p>
        capo_imagebuilder.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is unable to process your request at this time.</p>
        capo_imagebuilder.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Get the resource policy for a component
        The following example retrieves the resource policy that's applied to a component that the owner shared with another account.

        >>> client.get_component_policy(component_arn='arn:aws:imagebuilder:us-west-2:111122223333:component/my-shared-component/1.0.0/1')
    """

    def _handler(
        req: "OperationRequest[capo_imagebuilder.types.get_component_policy_request.GetComponentPolicyRequest]",
    ) -> OperationResponse[
        "capo_imagebuilder.types.get_component_policy_response.GetComponentPolicyResponse"
    ]:
        import capo_imagebuilder._operations.imagebuilder.get_component_policy

        output, http_response = (
            capo_imagebuilder._operations.imagebuilder.get_component_policy.get_component_policy(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetComponentPolicy")
    )
    input_: capo_imagebuilder.types.get_component_policy_request.GetComponentPolicyRequest = {
        "component_arn": component_arn
    }

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