:doc:`EC2 <../../ec2>` / Client / cancel_capacity_reservation

***************************
cancel_capacity_reservation
***************************



.. py:method:: EC2.Client.cancel_capacity_reservation(**kwargs)

  

  Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to ``cancelled``.

   

  You can cancel a Capacity Reservation that is in the following states:

   

  
  * ``assessing``
   
  * ``active`` and there is no commitment duration or the commitment duration has elapsed. You can't cancel a future-dated Capacity Reservation during the commitment duration.
  

   

  .. note::

    

    You can't modify or cancel a Capacity Block. For more information, see `Capacity Blocks for ML <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html>`__.

    

   

  If a future-dated Capacity Reservation enters the ``delayed`` state, the commitment duration is waived, and you can cancel it as soon as it enters the ``active`` state.

   

  Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation>`_  


  **Request Syntax**
  ::

    response = client.cancel_capacity_reservation(
        CapacityReservationId='string',
        DryRun=True|False
    )
    
  :type CapacityReservationId: string
  :param CapacityReservationId: **[REQUIRED]** 

    The ID of the Capacity Reservation to be cancelled.

    

  
  :type DryRun: boolean
  :param DryRun: 

    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``.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Return': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Return** *(boolean) --* 

        Returns ``true`` if the request succeeds; otherwise, it returns an error.

        
  