Skip to content

get_managed_resource async

get_managed_resource(
    resource_identifier: ResourceIdentifier,
    *,
    config_overrides: Optional[AsyncARCZonalShiftClientConfig] = None,
) -> GetManagedResourceResponse

Get information about a resource that's been registered for zonal shifts with Amazon Application Recovery Controller in this Amazon Web Services Region. Resources that are registered for zonal shifts are managed resources in ARC. You can start zonal shifts and configure zonal autoshift for managed resources.

Parameters:

Raises:

Source code in docs_src/capo_arc_zonal_shift/_services/async_arc_zonal_shift.py
async def get_managed_resource(
    self,
    resource_identifier: "capo_arc_zonal_shift.types.resource_identifier.ResourceIdentifier",
    *,
    config_overrides: Optional[AsyncARCZonalShiftClientConfig] = None,
) -> "capo_arc_zonal_shift.types.get_managed_resource_response.GetManagedResourceResponse":
    """<p>Get information about a resource that's been registered for zonal shifts with Amazon Application Recovery Controller in this Amazon Web Services Region. Resources that are registered for zonal shifts are managed resources in ARC. You can start zonal shifts and configure zonal autoshift for managed resources.</p>

    Args:
        resource_identifier: <p>The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.</p> <p>Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift:</p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.resource-types.ec2-auto-scaling-groups.html">Amazon EC2 Auto Scaling groups</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.resource-types.eks.html">Amazon Elastic Kubernetes Service</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.resource-types.app-load-balancers.html">Application Load Balancer</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.resource-types.network-load-balancers.html">Network Load Balancer</a> </p> </li> </ul>

    Raises:
        capo_arc_zonal_shift.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_arc_zonal_shift.errors.internal_server_exception.InternalServerException: <p>There was an internal server error.</p>
        capo_arc_zonal_shift.errors.resource_not_found_exception.ResourceNotFoundException: <p>The input requested a resource that was not found.</p>
        capo_arc_zonal_shift.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_arc_zonal_shift.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_arc_zonal_shift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_arc_zonal_shift.types.get_managed_resource_request.GetManagedResourceRequest]",
    ) -> AsyncOperationResponse[
        "capo_arc_zonal_shift.types.get_managed_resource_response.GetManagedResourceResponse"
    ]:
        import capo_arc_zonal_shift._operations.perc_data_plane.get_managed_resource

        (
            output,
            http_response,
        ) = await capo_arc_zonal_shift._operations.perc_data_plane.get_managed_resource.async_get_managed_resource(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetManagedResource")
    )
    input_: capo_arc_zonal_shift.types.get_managed_resource_request.GetManagedResourceRequest = {
        "resource_identifier": resource_identifier
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output