:doc:`RDS <../../rds>` / Client / purchase_reserved_db_instances_offering

***************************************
purchase_reserved_db_instances_offering
***************************************



.. py:method:: RDS.Client.purchase_reserved_db_instances_offering(**kwargs)

  

  Purchases a reserved DB instance offering.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering>`_  


  **Request Syntax**
  ::

    response = client.purchase_reserved_db_instances_offering(
        ReservedDBInstancesOfferingId='string',
        ReservedDBInstanceId='string',
        DBInstanceCount=123,
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type ReservedDBInstancesOfferingId: string
  :param ReservedDBInstancesOfferingId: **[REQUIRED]** 

    The ID of the Reserved DB instance offering to purchase.

     

    Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

    

  
  :type ReservedDBInstanceId: string
  :param ReservedDBInstanceId: 

    Customer-specified identifier to track this reservation.

     

    Example: myreservationID

    

  
  :type DBInstanceCount: integer
  :param DBInstanceCount: 

    The number of instances to reserve.

     

    Default: ``1``

    

  
  :type Tags: list
  :param Tags: 

    A list of tags.

     

    For more information, see `Tagging Amazon RDS resources <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html>`__ in the *Amazon RDS User Guide* or `Tagging Amazon Aurora and Amazon RDS resources <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html>`__ in the *Amazon Aurora User Guide*.

    

  
    - *(dict) --* 

      Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

       

      For more information, see `Tagging Amazon RDS resources <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html>`__ in the *Amazon RDS User Guide* or `Tagging Amazon Aurora and Amazon RDS resources <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html>`__ in the *Amazon Aurora User Guide*.

      

    
      - **Key** *(string) --* 

        A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").

        

      
      - **Value** *(string) --* 

        A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").

        

      
    

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

    
    ::

      {
          'ReservedDBInstance': {
              'ReservedDBInstanceId': 'string',
              'ReservedDBInstancesOfferingId': 'string',
              'DBInstanceClass': 'string',
              'StartTime': datetime(2015, 1, 1),
              'Duration': 123,
              'FixedPrice': 123.0,
              'UsagePrice': 123.0,
              'CurrencyCode': 'string',
              'DBInstanceCount': 123,
              'ProductDescription': 'string',
              'OfferingType': 'string',
              'MultiAZ': True|False,
              'State': 'string',
              'RecurringCharges': [
                  {
                      'RecurringChargeAmount': 123.0,
                      'RecurringChargeFrequency': 'string'
                  },
              ],
              'ReservedDBInstanceArn': 'string',
              'LeaseId': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ReservedDBInstance** *(dict) --* 

        This data type is used as a response element in the ``DescribeReservedDBInstances`` and ``PurchaseReservedDBInstancesOffering`` actions.

        
        

        - **ReservedDBInstanceId** *(string) --* 

          The unique identifier for the reservation.

          
        

        - **ReservedDBInstancesOfferingId** *(string) --* 

          The offering identifier.

          
        

        - **DBInstanceClass** *(string) --* 

          The DB instance class for the reserved DB instance.

          
        

        - **StartTime** *(datetime) --* 

          The time the reservation started.

          
        

        - **Duration** *(integer) --* 

          The duration of the reservation in seconds.

          
        

        - **FixedPrice** *(float) --* 

          The fixed price charged for this reserved DB instance.

          
        

        - **UsagePrice** *(float) --* 

          The hourly price charged for this reserved DB instance.

          
        

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

          The currency code for the reserved DB instance.

          
        

        - **DBInstanceCount** *(integer) --* 

          The number of reserved DB instances.

          
        

        - **ProductDescription** *(string) --* 

          The description of the reserved DB instance.

          
        

        - **OfferingType** *(string) --* 

          The offering type of this reserved DB instance.

          
        

        - **MultiAZ** *(boolean) --* 

          Indicates whether the reservation applies to Multi-AZ deployments.

          
        

        - **State** *(string) --* 

          The state of the reserved DB instance.

          
        

        - **RecurringCharges** *(list) --* 

          The recurring price charged to run this reserved DB instance.

          
          

          - *(dict) --* 

            This data type is used as a response element in the ``DescribeReservedDBInstances`` and ``DescribeReservedDBInstancesOfferings`` actions.

            
            

            - **RecurringChargeAmount** *(float) --* 

              The amount of the recurring charge.

              
            

            - **RecurringChargeFrequency** *(string) --* 

              The frequency of the recurring charge.

              
        
      
        

        - **ReservedDBInstanceArn** *(string) --* 

          The Amazon Resource Name (ARN) for the reserved DB instance.

          
        

        - **LeaseId** *(string) --* 

          The unique identifier for the lease associated with the reserved DB instance.

           

          .. note::

            

            Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance.

            

          
    
  
  **Exceptions**
  
  *   :py:class:`RDS.Client.exceptions.ReservedDBInstanceAlreadyExistsFault`

  
  *   :py:class:`RDS.Client.exceptions.ReservedDBInstancesOfferingNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.ReservedDBInstanceQuotaExceededFault`

  

  **Examples**

  This example purchases a reserved DB instance offering that matches the specified settings.
  ::

    response = client.purchase_reserved_db_instances_offering(
        ReservedDBInstanceId='myreservationid',
        ReservedDBInstancesOfferingId='fb29428a-646d-4390-850e-5fe89926e727',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ReservedDBInstance': {
        },
        'ResponseMetadata': {
            '...': '...',
        },
    }

  