Skip to content

get_component_policy async

get_component_policy(
    component_arn: ComponentBuildVersionArn,
    *,
    config_overrides: Optional[AsyncimagebuilderClientConfig] = 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.

>>> await 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/async_imagebuilder.py
async def get_component_policy(
    self,
    component_arn: "capo_imagebuilder.types.component_build_version_arn.ComponentBuildVersionArn",
    *,
    config_overrides: Optional[AsyncimagebuilderClientConfig] = 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.

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

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

        (
            output,
            http_response,
        ) = await capo_imagebuilder._operations.imagebuilder.get_component_policy.async_get_component_policy(
            req.options, req.input
        )
        return AsyncOperationResponse(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 = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output