:doc:`MediaLive <../../medialive>` / Client / purchase_offering

*****************
purchase_offering
*****************



.. py:method:: MediaLive.Client.purchase_offering(**kwargs)

  Purchase an offering and create a reservation.

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering>`_  


  **Request Syntax**
  ::

    response = client.purchase_offering(
        Count=123,
        Name='string',
        OfferingId='string',
        RenewalSettings={
            'AutomaticRenewal': 'DISABLED'|'ENABLED'|'UNAVAILABLE',
            'RenewalCount': 123
        },
        RequestId='string',
        Start='string',
        Tags={
            'string': 'string'
        }
    )
    
  :type Count: integer
  :param Count: **[REQUIRED]** Number of resources

  
  :type Name: string
  :param Name: Name for the new reservation

  
  :type OfferingId: string
  :param OfferingId: **[REQUIRED]** Offering to purchase, e.g. '87654321'

  
  :type RenewalSettings: dict
  :param RenewalSettings: Renewal settings for the reservation

  
    - **AutomaticRenewal** *(string) --* Automatic renewal status for the reservation

    
    - **RenewalCount** *(integer) --* Count for the reservation renewal

    
  
  :type RequestId: string
  :param RequestId: Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.This field is autopopulated if not provided.

  
  :type Start: string
  :param Start: Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now.

  
  :type Tags: dict
  :param Tags: A collection of key-value pairs

  
    - *(string) --* Placeholder documentation for __string

    
      - *(string) --* Placeholder documentation for __string

      


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

    
    ::

      {
          'Reservation': {
              'Arn': 'string',
              'Count': 123,
              'CurrencyCode': 'string',
              'Duration': 123,
              'DurationUnits': 'MONTHS',
              'End': 'string',
              'FixedPrice': 123.0,
              'Name': 'string',
              'OfferingDescription': 'string',
              'OfferingId': 'string',
              'OfferingType': 'NO_UPFRONT',
              'Region': 'string',
              'RenewalSettings': {
                  'AutomaticRenewal': 'DISABLED'|'ENABLED'|'UNAVAILABLE',
                  'RenewalCount': 123
              },
              'ReservationId': 'string',
              'ResourceSpecification': {
                  'ChannelClass': 'STANDARD'|'SINGLE_PIPELINE',
                  'Codec': 'MPEG2'|'AVC'|'HEVC'|'AUDIO'|'LINK'|'AV1',
                  'MaximumBitrate': 'MAX_10_MBPS'|'MAX_20_MBPS'|'MAX_50_MBPS',
                  'MaximumFramerate': 'MAX_30_FPS'|'MAX_60_FPS',
                  'Resolution': 'SD'|'HD'|'FHD'|'UHD',
                  'ResourceType': 'INPUT'|'OUTPUT'|'MULTIPLEX'|'CHANNEL',
                  'SpecialFeature': 'ADVANCED_AUDIO'|'AUDIO_NORMALIZATION'|'MGHD'|'MGUHD',
                  'VideoQuality': 'STANDARD'|'ENHANCED'|'PREMIUM'
              },
              'Start': 'string',
              'State': 'ACTIVE'|'EXPIRED'|'CANCELED'|'DELETED',
              'Tags': {
                  'string': 'string'
              },
              'UsagePrice': 123.0
          }
      }
      
    **Response Structure**

    

    - *(dict) --* Purchased reservation
      

      - **Reservation** *(dict) --* Reserved resources available to use
        

        - **Arn** *(string) --* Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
        

        - **Count** *(integer) --* Number of reserved resources
        

        - **CurrencyCode** *(string) --* Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'
        

        - **Duration** *(integer) --* Lease duration, e.g. '12'
        

        - **DurationUnits** *(string) --* Units for duration, e.g. 'MONTHS'
        

        - **End** *(string) --* Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'
        

        - **FixedPrice** *(float) --* One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering
        

        - **Name** *(string) --* User specified reservation name
        

        - **OfferingDescription** *(string) --* Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'
        

        - **OfferingId** *(string) --* Unique offering ID, e.g. '87654321'
        

        - **OfferingType** *(string) --* Offering type, e.g. 'NO_UPFRONT'
        

        - **Region** *(string) --* AWS region, e.g. 'us-west-2'
        

        - **RenewalSettings** *(dict) --* Renewal settings for the reservation
          

          - **AutomaticRenewal** *(string) --* Automatic renewal status for the reservation
          

          - **RenewalCount** *(integer) --* Count for the reservation renewal
      
        

        - **ReservationId** *(string) --* Unique reservation ID, e.g. '1234567'
        

        - **ResourceSpecification** *(dict) --* Resource configuration details
          

          - **ChannelClass** *(string) --* Channel class, e.g. 'STANDARD'
          

          - **Codec** *(string) --* Codec, e.g. 'AVC'
          

          - **MaximumBitrate** *(string) --* Maximum bitrate, e.g. 'MAX_20_MBPS'
          

          - **MaximumFramerate** *(string) --* Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
          

          - **Resolution** *(string) --* Resolution, e.g. 'HD'
          

          - **ResourceType** *(string) --* Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
          

          - **SpecialFeature** *(string) --* Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
          

          - **VideoQuality** *(string) --* Video quality, e.g. 'STANDARD' (Outputs only)
      
        

        - **Start** *(string) --* Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'
        

        - **State** *(string) --* Current state of reservation, e.g. 'ACTIVE'
        

        - **Tags** *(dict) --* A collection of key-value pairs
          

          - *(string) --* Placeholder documentation for __string
            

            - *(string) --* Placeholder documentation for __string
      
    
        

        - **UsagePrice** *(float) --* Recurring usage charge for each reserved resource, e.g. '157.0'
    
  
  **Exceptions**
  
  *   :py:class:`MediaLive.Client.exceptions.BadRequestException`

  
  *   :py:class:`MediaLive.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`MediaLive.Client.exceptions.ForbiddenException`

  
  *   :py:class:`MediaLive.Client.exceptions.BadGatewayException`

  
  *   :py:class:`MediaLive.Client.exceptions.NotFoundException`

  
  *   :py:class:`MediaLive.Client.exceptions.GatewayTimeoutException`

  
  *   :py:class:`MediaLive.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`MediaLive.Client.exceptions.ConflictException`

  