Skip to content

move_capacity_reservation_instances

move_capacity_reservation_instances(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    client_token: Optional[String] = None,
    source_capacity_reservation_id: Optional[CapacityReservationId] = None,
    destination_capacity_reservation_id: Optional[CapacityReservationId] = None,
    instance_count: Optional[Integer] = None,
) -> MoveCapacityReservationInstancesResult

Move available capacity from a source Capacity Reservation to a destination Capacity Reservation. The source Capacity Reservation and the destination Capacity Reservation must be active, owned by your Amazon Web Services account, and share the following:

  • Instance type

  • Platform

  • Availability Zone

  • Tenancy

  • Placement group

  • Capacity Reservation end time - At specific time or Manually.

Parameters:

  • dry_run (Optional[Boolean], default: None ) –

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • client_token (Optional[String], default: None ) –

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

  • source_capacity_reservation_id (Optional[CapacityReservationId], default: None ) –

    The ID of the Capacity Reservation from which you want to move capacity.

  • destination_capacity_reservation_id (Optional[CapacityReservationId], default: None ) –

    The ID of the Capacity Reservation that you want to move capacity into.

  • instance_count (Optional[Integer], default: None ) –

    The number of instances that you want to move from the source Capacity Reservation.

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def move_capacity_reservation_instances(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    client_token: Optional["capo_ec2.types.string.String"] = None,
    source_capacity_reservation_id: Optional[
        "capo_ec2.types.capacity_reservation_id.CapacityReservationId"
    ] = None,
    destination_capacity_reservation_id: Optional[
        "capo_ec2.types.capacity_reservation_id.CapacityReservationId"
    ] = None,
    instance_count: Optional["capo_ec2.types.integer.Integer"] = None,
) -> "capo_ec2.types.move_capacity_reservation_instances_result.MoveCapacityReservationInstancesResult":
    """<p>Move available capacity from a source Capacity Reservation to a destination Capacity Reservation. The source Capacity Reservation and the destination Capacity Reservation must be <code>active</code>, owned by your Amazon Web Services account, and share the following: </p> <ul> <li> <p>Instance type</p> </li> <li> <p>Platform</p> </li> <li> <p>Availability Zone</p> </li> <li> <p>Tenancy</p> </li> <li> <p>Placement group</p> </li> <li> <p>Capacity Reservation end time - <code>At specific time</code> or <code>Manually</code>.</p> </li> </ul>

    Args:
        dry_run: <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
        client_token: <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensure Idempotency</a>.</p>
        source_capacity_reservation_id: <p> The ID of the Capacity Reservation from which you want to move capacity. </p>
        destination_capacity_reservation_id: <p> The ID of the Capacity Reservation that you want to move capacity into. </p>
        instance_count: <p>The number of instances that you want to move from the source Capacity Reservation. </p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.move_capacity_reservation_instances_request.MoveCapacityReservationInstancesRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.move_capacity_reservation_instances_result.MoveCapacityReservationInstancesResult"
    ]:
        import capo_ec2._operations.amazon_ec2.move_capacity_reservation_instances

        output, http_response = (
            capo_ec2._operations.amazon_ec2.move_capacity_reservation_instances.move_capacity_reservation_instances(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("MoveCapacityReservationInstances")
    )
    input_: capo_ec2.types.move_capacity_reservation_instances_request.MoveCapacityReservationInstancesRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if source_capacity_reservation_id is not None:
        input_["source_capacity_reservation_id"] = source_capacity_reservation_id
    if destination_capacity_reservation_id is not None:
        input_["destination_capacity_reservation_id"] = (
            destination_capacity_reservation_id
        )
    if instance_count is not None:
        input_["instance_count"] = instance_count

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