FreeTier ******** Client ====== class FreeTier.Client A low-level client representing AWS Free Tier You can use the Amazon Web Services Free Tier API to query programmatically your Free Tier usage data. Free Tier tracks your monthly usage data for all free tier offers that are associated with your Amazon Web Services account. You can use the Free Tier API to filter and show only the data that you want. Service endpoint The Free Tier API provides the following endpoint: For more information, see Using the Amazon Web Services Free Tier in the *Billing User Guide*. import boto3 client = boto3.client('freetier') These are the available methods: * can_paginate * close * get_account_activity * get_account_plan_state * get_free_tier_usage * get_paginator * get_waiter * list_account_activities * upgrade_account_plan Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * GetFreeTierUsage * ListAccountActivities FreeTier / Paginator / ListAccountActivities ListAccountActivities ********************* class FreeTier.Paginator.ListAccountActivities paginator = client.get_paginator('list_account_activities') paginate(**kwargs) Creates an iterator that will paginate through responses from "FreeTier.Client.list_account_activities()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filterActivityStatuses=[ 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'EXPIRING', ], languageCode='en-US'|'en-GB'|'id-ID'|'de-DE'|'es-ES'|'fr-FR'|'ja-JP'|'it-IT'|'pt-PT'|'ko-KR'|'zh-CN'|'zh-TW'|'tr-TR', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filterActivityStatuses** (*list*) -- The activity status filter. This field can be used to filter the response by activities status. * *(string) --* * **languageCode** (*string*) -- The language code used to return translated titles. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'activities': [ { 'activityId': 'string', 'title': 'string', 'reward': { 'credit': { 'amount': 123.0, 'unit': 'USD' } }, 'status': 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'EXPIRING' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **activities** *(list) --* A brief information about the activities. * *(dict) --* The summary of activities. * **activityId** *(string) --* A unique identifier that identifies the activity. * **title** *(string) --* The title of the activity. * **reward** *(dict) --* The reward for the activity. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "credit". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **credit** *(dict) --* The credits gained by activity rewards. * **amount** *(float) --* The aggregated monetary amount of credits earned. * **unit** *(string) --* The unit that the monetary amount is given in. * **status** *(string) --* The current status of the activity. * **NextToken** *(string) --* A token to resume pagination. FreeTier / Paginator / GetFreeTierUsage GetFreeTierUsage **************** class FreeTier.Paginator.GetFreeTierUsage paginator = client.get_paginator('get_free_tier_usage') paginate(**kwargs) Creates an iterator that will paginate through responses from "FreeTier.Client.get_free_tier_usage()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( filter={ 'Or': [ {'... recursive ...'}, ], 'And': [ {'... recursive ...'}, ], 'Not': {'... recursive ...'}, 'Dimensions': { 'Key': 'SERVICE'|'OPERATION'|'USAGE_TYPE'|'REGION'|'FREE_TIER_TYPE'|'DESCRIPTION'|'USAGE_PERCENTAGE', 'Values': [ 'string', ], 'MatchOptions': [ 'EQUALS'|'STARTS_WITH'|'ENDS_WITH'|'CONTAINS'|'GREATER_THAN_OR_EQUAL', ] } }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **filter** (*dict*) -- An expression that specifies the conditions that you want each "FreeTierUsage" object to meet. * **Or** *(list) --* Return results that match any of the "Expressions" that you specified. in the array. * *(dict) --* Use "Expression" to filter in the "GetFreeTierUsage" API operation. You can use the following patterns: * Simple dimension values ( "Dimensions" root operator) * Complex expressions with logical operators ( "AND", "NOT", and "OR" root operators). For *simple dimension values*, you can set the dimension name, values, and match type for the filters that you plan to use. **Example for simple dimension values** You can filter to match exactly for "REGION==us-east-1 OR REGION==us-west-1". The corresponding "Expression" appears like the following: "{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] } }" As shown in the previous example, lists of dimension values are combined with "OR" when you apply the filter. For *complex expressions with logical operators*, you can have nested expressions to use the logical operators and specify advanced filtering. **Example for complex expressions with logical operators** You can filter by "((REGION == us-east-1 OR REGION == us-west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer)". The corresponding "Expression" appears like the following: "{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] }}, {"Dimensions": { "Key": "SERVICE", "Values": ["AWSLambda"], "MatchOptions": ["CONTAINS"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"], "MatchOptions": ["CONTAINS"] }}} ] }" In the following **Contents**, you must specify exactly one of the following root operators. * **And** *(list) --* Return results that match all "Expressions" that you specified in the array. * *(dict) --* Use "Expression" to filter in the "GetFreeTierUsage" API operation. You can use the following patterns: * Simple dimension values ( "Dimensions" root operator) * Complex expressions with logical operators ( "AND", "NOT", and "OR" root operators). For *simple dimension values*, you can set the dimension name, values, and match type for the filters that you plan to use. **Example for simple dimension values** You can filter to match exactly for "REGION==us-east-1 OR REGION==us-west-1". The corresponding "Expression" appears like the following: "{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] } }" As shown in the previous example, lists of dimension values are combined with "OR" when you apply the filter. For *complex expressions with logical operators*, you can have nested expressions to use the logical operators and specify advanced filtering. **Example for complex expressions with logical operators** You can filter by "((REGION == us-east-1 OR REGION == us-west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer)". The corresponding "Expression" appears like the following: "{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] }}, {"Dimensions": { "Key": "SERVICE", "Values": ["AWSLambda"], "MatchOptions": ["CONTAINS"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"], "MatchOptions": ["CONTAINS"] }}} ] }" In the following **Contents**, you must specify exactly one of the following root operators. * **Not** *(dict) --* Return results that don’t match the "Expression" that you specified. * **Dimensions** *(dict) --* The specific dimension, values, and match type to filter objects with. * **Key** *(string) --* **[REQUIRED]** The name of the dimension that you want to filter on. * **Values** *(list) --* **[REQUIRED]** The metadata values you can specify to filter upon, so that the results all match at least one of the specified values. * *(string) --* * **MatchOptions** *(list) --* **[REQUIRED]** The match options that you can use to filter your results. You can specify only one of these values in the array. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'freeTierUsages': [ { 'service': 'string', 'operation': 'string', 'usageType': 'string', 'region': 'string', 'actualUsageAmount': 123.0, 'forecastedUsageAmount': 123.0, 'limit': 123.0, 'unit': 'string', 'description': 'string', 'freeTierType': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **freeTierUsages** *(list) --* The list of Free Tier usage objects that meet your filter expression. * *(dict) --* Consists of a Amazon Web Services Free Tier offer’s metadata and your data usage for the offer. * **service** *(string) --* The name of the Amazon Web Services service providing the Free Tier offer. For example, this can be Amazon Elastic Compute Cloud. * **operation** *(string) --* Describes "usageType" more granularly with the specific Amazon Web Services service API operation. For example, this can be the "RunInstances" API operation for Amazon Elastic Compute Cloud. * **usageType** *(string) --* Describes the usage details of the offer. For example, this might be "Global-BoxUsage:freetrial". * **region** *(string) --* Describes the Amazon Web Services Region for which this offer is applicable * **actualUsageAmount** *(float) --* Describes the actual usage accrued month-to-day (MTD) that you've used so far. * **forecastedUsageAmount** *(float) --* Describes the forecasted usage by the month that you're expected to use. * **limit** *(float) --* Describes the maximum usage allowed in Free Tier. * **unit** *(string) --* Describes the unit of the "usageType", such as "Hrs". * **description** *(string) --* The description of the Free Tier offer. * **freeTierType** *(string) --* Describes the type of the Free Tier offer. For example, the offer can be ""12 Months Free"", ""Always Free"", and ""Free Trial"". * **NextToken** *(string) --* A token to resume pagination. FreeTier / Client / get_paginator get_paginator ************* FreeTier.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. FreeTier / Client / upgrade_account_plan upgrade_account_plan ******************** FreeTier.Client.upgrade_account_plan(**kwargs) The account plan type for the Amazon Web Services account. See also: AWS API Documentation **Request Syntax** response = client.upgrade_account_plan( accountPlanType='FREE'|'PAID' ) Parameters: **accountPlanType** (*string*) -- **[REQUIRED]** The target account plan type. This makes it explicit about the change and latest value of the "accountPlanType". Return type: dict Returns: **Response Syntax** { 'accountId': 'string', 'accountPlanType': 'FREE'|'PAID', 'accountPlanStatus': 'NOT_STARTED'|'ACTIVE'|'EXPIRED' } **Response Structure** * *(dict) --* * **accountId** *(string) --* A unique identifier that identifies the account. * **accountPlanType** *(string) --* The type of plan for the account. * **accountPlanStatus** *(string) --* This indicates the latest state of the account plan within its lifecycle. **Exceptions** * "FreeTier.Client.exceptions.InternalServerException" * "FreeTier.Client.exceptions.ValidationException" * "FreeTier.Client.exceptions.AccessDeniedException" * "FreeTier.Client.exceptions.ResourceNotFoundException" * "FreeTier.Client.exceptions.ThrottlingException" FreeTier / Client / can_paginate can_paginate ************ FreeTier.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. FreeTier / Client / list_account_activities list_account_activities *********************** FreeTier.Client.list_account_activities(**kwargs) Returns a list of activities that are available. This operation supports pagination and filtering by status. See also: AWS API Documentation **Request Syntax** response = client.list_account_activities( filterActivityStatuses=[ 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'EXPIRING', ], nextToken='string', maxResults=123, languageCode='en-US'|'en-GB'|'id-ID'|'de-DE'|'es-ES'|'fr-FR'|'ja-JP'|'it-IT'|'pt-PT'|'ko-KR'|'zh-CN'|'zh-TW'|'tr-TR' ) Parameters: * **filterActivityStatuses** (*list*) -- The activity status filter. This field can be used to filter the response by activities status. * *(string) --* * **nextToken** (*string*) -- A token from a previous paginated response. If this is specified, the response includes records beginning from this token (inclusive), up to the number specified by "maxResults". * **maxResults** (*integer*) -- The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. * **languageCode** (*string*) -- The language code used to return translated titles. Return type: dict Returns: **Response Syntax** { 'activities': [ { 'activityId': 'string', 'title': 'string', 'reward': { 'credit': { 'amount': 123.0, 'unit': 'USD' } }, 'status': 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'EXPIRING' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **activities** *(list) --* A brief information about the activities. * *(dict) --* The summary of activities. * **activityId** *(string) --* A unique identifier that identifies the activity. * **title** *(string) --* The title of the activity. * **reward** *(dict) --* The reward for the activity. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "credit". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **credit** *(dict) --* The credits gained by activity rewards. * **amount** *(float) --* The aggregated monetary amount of credits earned. * **unit** *(string) --* The unit that the monetary amount is given in. * **status** *(string) --* The current status of the activity. * **nextToken** *(string) --* The token to include in another request to get the next page of items. This value is "null" when there are no more items to return. **Exceptions** * "FreeTier.Client.exceptions.InternalServerException" * "FreeTier.Client.exceptions.ValidationException" * "FreeTier.Client.exceptions.ThrottlingException" FreeTier / Client / get_free_tier_usage get_free_tier_usage ******************* FreeTier.Client.get_free_tier_usage(**kwargs) Returns a list of all Free Tier usage objects that match your filters. See also: AWS API Documentation **Request Syntax** response = client.get_free_tier_usage( filter={ 'Or': [ {'... recursive ...'}, ], 'And': [ {'... recursive ...'}, ], 'Not': {'... recursive ...'}, 'Dimensions': { 'Key': 'SERVICE'|'OPERATION'|'USAGE_TYPE'|'REGION'|'FREE_TIER_TYPE'|'DESCRIPTION'|'USAGE_PERCENTAGE', 'Values': [ 'string', ], 'MatchOptions': [ 'EQUALS'|'STARTS_WITH'|'ENDS_WITH'|'CONTAINS'|'GREATER_THAN_OR_EQUAL', ] } }, maxResults=123, nextToken='string' ) Parameters: * **filter** (*dict*) -- An expression that specifies the conditions that you want each "FreeTierUsage" object to meet. * **Or** *(list) --* Return results that match any of the "Expressions" that you specified. in the array. * *(dict) --* Use "Expression" to filter in the "GetFreeTierUsage" API operation. You can use the following patterns: * Simple dimension values ( "Dimensions" root operator) * Complex expressions with logical operators ( "AND", "NOT", and "OR" root operators). For *simple dimension values*, you can set the dimension name, values, and match type for the filters that you plan to use. **Example for simple dimension values** You can filter to match exactly for "REGION==us-east-1 OR REGION==us-west-1". The corresponding "Expression" appears like the following: "{ "Dimensions": { "Key": "REGION", "Values": [ "us- east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] } }" As shown in the previous example, lists of dimension values are combined with "OR" when you apply the filter. For *complex expressions with logical operators*, you can have nested expressions to use the logical operators and specify advanced filtering. **Example for complex expressions with logical operators** You can filter by "((REGION == us-east-1 OR REGION == us- west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer)". The corresponding "Expression" appears like the following: "{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] }}, {"Dimensions": { "Key": "SERVICE", "Values": ["AWSLambda"], "MatchOptions": ["CONTAINS"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"], "MatchOptions": ["CONTAINS"] }}} ] }" In the following **Contents**, you must specify exactly one of the following root operators. * **And** *(list) --* Return results that match all "Expressions" that you specified in the array. * *(dict) --* Use "Expression" to filter in the "GetFreeTierUsage" API operation. You can use the following patterns: * Simple dimension values ( "Dimensions" root operator) * Complex expressions with logical operators ( "AND", "NOT", and "OR" root operators). For *simple dimension values*, you can set the dimension name, values, and match type for the filters that you plan to use. **Example for simple dimension values** You can filter to match exactly for "REGION==us-east-1 OR REGION==us-west-1". The corresponding "Expression" appears like the following: "{ "Dimensions": { "Key": "REGION", "Values": [ "us- east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] } }" As shown in the previous example, lists of dimension values are combined with "OR" when you apply the filter. For *complex expressions with logical operators*, you can have nested expressions to use the logical operators and specify advanced filtering. **Example for complex expressions with logical operators** You can filter by "((REGION == us-east-1 OR REGION == us- west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer)". The corresponding "Expression" appears like the following: "{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] }}, {"Dimensions": { "Key": "SERVICE", "Values": ["AWSLambda"], "MatchOptions": ["CONTAINS"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"], "MatchOptions": ["CONTAINS"] }}} ] }" In the following **Contents**, you must specify exactly one of the following root operators. * **Not** *(dict) --* Return results that don’t match the "Expression" that you specified. * **Dimensions** *(dict) --* The specific dimension, values, and match type to filter objects with. * **Key** *(string) --* **[REQUIRED]** The name of the dimension that you want to filter on. * **Values** *(list) --* **[REQUIRED]** The metadata values you can specify to filter upon, so that the results all match at least one of the specified values. * *(string) --* * **MatchOptions** *(list) --* **[REQUIRED]** The match options that you can use to filter your results. You can specify only one of these values in the array. * *(string) --* * **maxResults** (*integer*) -- The maximum number of results to return in the response. "MaxResults" means that there can be up to the specified number of values, but there might be fewer results based on your filters. * **nextToken** (*string*) -- The pagination token that indicates the next set of results to retrieve. Return type: dict Returns: **Response Syntax** { 'freeTierUsages': [ { 'service': 'string', 'operation': 'string', 'usageType': 'string', 'region': 'string', 'actualUsageAmount': 123.0, 'forecastedUsageAmount': 123.0, 'limit': 123.0, 'unit': 'string', 'description': 'string', 'freeTierType': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **freeTierUsages** *(list) --* The list of Free Tier usage objects that meet your filter expression. * *(dict) --* Consists of a Amazon Web Services Free Tier offer’s metadata and your data usage for the offer. * **service** *(string) --* The name of the Amazon Web Services service providing the Free Tier offer. For example, this can be Amazon Elastic Compute Cloud. * **operation** *(string) --* Describes "usageType" more granularly with the specific Amazon Web Services service API operation. For example, this can be the "RunInstances" API operation for Amazon Elastic Compute Cloud. * **usageType** *(string) --* Describes the usage details of the offer. For example, this might be "Global-BoxUsage:freetrial". * **region** *(string) --* Describes the Amazon Web Services Region for which this offer is applicable * **actualUsageAmount** *(float) --* Describes the actual usage accrued month-to-day (MTD) that you've used so far. * **forecastedUsageAmount** *(float) --* Describes the forecasted usage by the month that you're expected to use. * **limit** *(float) --* Describes the maximum usage allowed in Free Tier. * **unit** *(string) --* Describes the unit of the "usageType", such as "Hrs". * **description** *(string) --* The description of the Free Tier offer. * **freeTierType** *(string) --* Describes the type of the Free Tier offer. For example, the offer can be ""12 Months Free"", ""Always Free"", and ""Free Trial"". * **nextToken** *(string) --* The pagination token that indicates the next set of results to retrieve. **Exceptions** * "FreeTier.Client.exceptions.InternalServerException" * "FreeTier.Client.exceptions.ValidationException" * "FreeTier.Client.exceptions.ThrottlingException" FreeTier / Client / get_waiter get_waiter ********** FreeTier.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" FreeTier / Client / close close ***** FreeTier.Client.close() Closes underlying endpoint connections. FreeTier / Client / get_account_activity get_account_activity ******************** FreeTier.Client.get_account_activity(**kwargs) Returns a specific activity record that is available to the customer. See also: AWS API Documentation **Request Syntax** response = client.get_account_activity( activityId='string', languageCode='en-US'|'en-GB'|'id-ID'|'de-DE'|'es-ES'|'fr-FR'|'ja-JP'|'it-IT'|'pt-PT'|'ko-KR'|'zh-CN'|'zh-TW'|'tr-TR' ) Parameters: * **activityId** (*string*) -- **[REQUIRED]** A unique identifier that identifies the activity. * **languageCode** (*string*) -- The language code used to return translated title and description fields. Return type: dict Returns: **Response Syntax** { 'activityId': 'string', 'title': 'string', 'description': 'string', 'status': 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'EXPIRING', 'instructionsUrl': 'string', 'reward': { 'credit': { 'amount': 123.0, 'unit': 'USD' } }, 'estimatedTimeToCompleteInMinutes': 123, 'expiresAt': datetime(2015, 1, 1), 'startedAt': datetime(2015, 1, 1), 'completedAt': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **activityId** *(string) --* A unique identifier that identifies the activity. * **title** *(string) --* A short activity title. * **description** *(string) --* Provides detailed information about the activity and its expected outcomes. * **status** *(string) --* The current activity status. * **instructionsUrl** *(string) --* The URL resource that provides guidance on activity requirements and completion. * **reward** *(dict) --* A reward granted upon activity completion. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "credit". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **credit** *(dict) --* The credits gained by activity rewards. * **amount** *(float) --* The aggregated monetary amount of credits earned. * **unit** *(string) --* The unit that the monetary amount is given in. * **estimatedTimeToCompleteInMinutes** *(integer) --* The estimated time to complete the activity. This is the duration in minutes. * **expiresAt** *(datetime) --* The time by which the activity must be completed to receive a reward. * **startedAt** *(datetime) --* The timestamp when the activity started. This field appears only for activities in the "IN_PROGRESS" or "COMPLETED" states. * **completedAt** *(datetime) --* The timestamp when the activity is completed. This field appears only for activities in the "COMPLETED" state. **Exceptions** * "FreeTier.Client.exceptions.InternalServerException" * "FreeTier.Client.exceptions.ValidationException" * "FreeTier.Client.exceptions.ResourceNotFoundException" * "FreeTier.Client.exceptions.ThrottlingException" FreeTier / Client / get_account_plan_state get_account_plan_state ********************** FreeTier.Client.get_account_plan_state() This returns all of the information related to the state of the account plan related to Free Tier. See also: AWS API Documentation **Request Syntax** response = client.get_account_plan_state() Return type: dict Returns: **Response Syntax** { 'accountId': 'string', 'accountPlanType': 'FREE'|'PAID', 'accountPlanStatus': 'NOT_STARTED'|'ACTIVE'|'EXPIRED', 'accountPlanRemainingCredits': { 'amount': 123.0, 'unit': 'USD' }, 'accountPlanExpirationDate': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **accountId** *(string) --* A unique identifier that identifies the account. * **accountPlanType** *(string) --* The plan type for the account. * **accountPlanStatus** *(string) --* The current status for the account plan. * **accountPlanRemainingCredits** *(dict) --* The amount of credits remaining for the account. * **amount** *(float) --* The aggregated monetary amount of credits earned. * **unit** *(string) --* The unit that the monetary amount is given in. * **accountPlanExpirationDate** *(datetime) --* The timestamp for when the current account plan expires. **Exceptions** * "FreeTier.Client.exceptions.InternalServerException" * "FreeTier.Client.exceptions.ValidationException" * "FreeTier.Client.exceptions.AccessDeniedException" * "FreeTier.Client.exceptions.ResourceNotFoundException" * "FreeTier.Client.exceptions.ThrottlingException"