DeviceFarm / Client / purchase_offering
purchase_offering#
- DeviceFarm.Client.purchase_offering(**kwargs)#
- Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a - NotEligibleerror if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.- See also: AWS API Documentation - Request Syntax- response = client.purchase_offering( offeringId='string', quantity=123, offeringPromotionId='string' ) - Parameters:
- offeringId (string) – - [REQUIRED] - The ID of the offering. 
- quantity (integer) – - [REQUIRED] - The number of device slots to purchase in an offering request. 
- offeringPromotionId (string) – The ID of the offering promotion to be applied to the purchase. 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'offeringTransaction': { 'offeringStatus': { 'type': 'PURCHASE'|'RENEW'|'SYSTEM', 'offering': { 'id': 'string', 'description': 'string', 'type': 'RECURRING', 'platform': 'ANDROID'|'IOS', 'recurringCharges': [ { 'cost': { 'amount': 123.0, 'currencyCode': 'USD' }, 'frequency': 'MONTHLY' }, ] }, 'quantity': 123, 'effectiveOn': datetime(2015, 1, 1) }, 'transactionId': 'string', 'offeringPromotionId': 'string', 'createdOn': datetime(2015, 1, 1), 'cost': { 'amount': 123.0, 'currencyCode': 'USD' } } } - Response Structure- (dict) – - The result of the purchase offering (for example, success or failure). - offeringTransaction (dict) – - Represents the offering transaction for the purchase result. - offeringStatus (dict) – - The status of an offering transaction. - type (string) – - The type specified for the offering status. 
- offering (dict) – - Represents the metadata of an offering status. - id (string) – - The ID that corresponds to a device offering. 
- description (string) – - A string that describes the offering. 
- type (string) – - The type of offering (for example, - RECURRING) for a device.
- platform (string) – - The platform of the device (for example, - ANDROIDor- IOS).
- recurringCharges (list) – - Specifies whether there are recurring charges for the offering. - (dict) – - Specifies whether charges for devices are recurring. - cost (dict) – - The cost of the recurring charge. - amount (float) – - The numerical amount of an offering or transaction. 
- currencyCode (string) – - The currency code of a monetary amount. For example, - USDmeans U.S. dollars.
 
- frequency (string) – - The frequency in which charges recur. 
 
 
 
- quantity (integer) – - The number of available devices in the offering. 
- effectiveOn (datetime) – - The date on which the offering is effective. 
 
- transactionId (string) – - The transaction ID of the offering transaction. 
- offeringPromotionId (string) – - The ID that corresponds to a device offering promotion. 
- createdOn (datetime) – - The date on which an offering transaction was created. 
- cost (dict) – - The cost of an offering transaction. - amount (float) – - The numerical amount of an offering or transaction. 
- currencyCode (string) – - The currency code of a monetary amount. For example, - USDmeans U.S. dollars.
 
 
 
 
 - Exceptions- DeviceFarm.Client.exceptions.ArgumentException
- DeviceFarm.Client.exceptions.NotFoundException
- DeviceFarm.Client.exceptions.NotEligibleException
- DeviceFarm.Client.exceptions.LimitExceededException
- DeviceFarm.Client.exceptions.ServiceAccountException
 - Examples- The following example purchases a specific device slot offering. - response = client.purchase_offering( # You can get the offering ID by using the list-offerings CLI command. offeringId='D68B3C05-1BA6-4360-BC69-12345EXAMPLE', quantity=1, ) print(response) - Expected Output: - { 'offeringTransaction': { 'cost': { 'amount': 8.07, 'currencyCode': 'USD', }, 'createdOn': datetime(2016, 8, 31, 12, 59, 0, 2, 244, 0), 'offeringStatus': { 'type': 'PURCHASE', 'effectiveOn': datetime(2016, 8, 31, 12, 59, 0, 2, 244, 0), 'offering': { 'type': 'RECURRING', 'description': 'Android Remote Access Unmetered Device Slot', 'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE', 'platform': 'ANDROID', }, 'quantity': 1, }, 'transactionId': 'd30614ed-1b03-404c-9893-12345EXAMPLE', }, 'ResponseMetadata': { '...': '...', }, }