Skip to content

create_capacity_reservation_by_splitting async

create_capacity_reservation_by_splitting(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    client_token: Optional[String] = None,
    source_capacity_reservation_id: Optional[CapacityReservationId] = None,
    instance_count: Optional[Integer] = None,
    tag_specifications: Optional[TagSpecificationList] = None,
) -> CreateCapacityReservationBySplittingResult

Create a new Capacity Reservation by splitting the capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be active and owned by your Amazon Web Services account.

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 split the capacity.

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

    The number of instances to split from the source Capacity Reservation.

  • tag_specifications (Optional[TagSpecificationList], default: None ) –

    The tags to apply to the new Capacity Reservation.

Raises:

Source code in docs_src/capo_ec2/_services/async_ec2.py
async def create_capacity_reservation_by_splitting(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = 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,
    instance_count: Optional["capo_ec2.types.integer.Integer"] = None,
    tag_specifications: Optional[
        "capo_ec2.types.tag_specification_list.TagSpecificationList"
    ] = None,
) -> "capo_ec2.types.create_capacity_reservation_by_splitting_result.CreateCapacityReservationBySplittingResult":
    """<p> Create a new Capacity Reservation by splitting the capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be <code>active</code> and owned by your Amazon Web Services account. </p>

    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 split the capacity. </p>
        instance_count: <p> The number of instances to split from the source Capacity Reservation. </p>
        tag_specifications: <p> The tags to apply to the new Capacity Reservation. </p>

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

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.create_capacity_reservation_by_splitting_request.CreateCapacityReservationBySplittingRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.create_capacity_reservation_by_splitting_result.CreateCapacityReservationBySplittingResult"
    ]:
        import capo_ec2._operations.amazon_ec2.create_capacity_reservation_by_splitting

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.create_capacity_reservation_by_splitting.async_create_capacity_reservation_by_splitting(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateCapacityReservationBySplitting")
    )
    input_: capo_ec2.types.create_capacity_reservation_by_splitting_request.CreateCapacityReservationBySplittingRequest = {}
    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 instance_count is not None:
        input_["instance_count"] = instance_count
    if tag_specifications is not None:
        input_["tag_specifications"] = tag_specifications

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