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

************************************
purchase_reserved_instances_offering
************************************



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

  

  Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

   

  Use  DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with  DescribeReservedInstances.

   

  To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

   

  For more information, see `Reserved Instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html>`__ and `Sell in the Reserved Instance Marketplace <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html>`__ in the *Amazon EC2 User Guide*.

  

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


  **Request Syntax**
  ::

    response = client.purchase_reserved_instances_offering(
        InstanceCount=123,
        ReservedInstancesOfferingId='string',
        PurchaseTime=datetime(2015, 1, 1),
        DryRun=True|False,
        LimitPrice={
            'Amount': 123.0,
            'CurrencyCode': 'USD'
        }
    )
    
  :type InstanceCount: integer
  :param InstanceCount: **[REQUIRED]** 

    The number of Reserved Instances to purchase.

    

  
  :type ReservedInstancesOfferingId: string
  :param ReservedInstancesOfferingId: **[REQUIRED]** 

    The ID of the Reserved Instance offering to purchase.

    

  
  :type PurchaseTime: datetime
  :param PurchaseTime: 

    The time at which to purchase the Reserved Instance, in UTC format (for example, *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z).

    

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

    

  
  :type LimitPrice: dict
  :param LimitPrice: 

    Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

    

  
    - **Amount** *(float) --* 

      Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

      

    
    - **CurrencyCode** *(string) --* 

      The currency in which the ``limitPrice`` amount is specified. At this time, the only supported currency is ``USD``.

      

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

    
    ::

      {
          'ReservedInstancesId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Contains the output of PurchaseReservedInstancesOffering.

      
      

      - **ReservedInstancesId** *(string) --* 

        The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see `Crossing pricing tiers <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-reserved-instances-application.html#crossing-pricing-tiers>`__ in the *Amazon EC2 User Guide*.

        
  