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
|