Table of Contents
A low-level client representing AWS Savings Plans (avingsPlans)
Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For more information, see the AWS Savings Plans User Guide .
import boto3
client = boto3.client('savingsplans')
These are the available methods:
Check if an operation can be paginated.
Creates a Savings Plan.
See also: AWS API Documentation
Request Syntax
response = client.create_savings_plan(
savingsPlanOfferingId='string',
commitment='string',
upfrontPaymentAmount='string',
purchaseTime=datetime(2015, 1, 1),
clientToken='string',
tags={
'string': 'string'
}
)
[REQUIRED]
The ID of the offering.
[REQUIRED]
The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more than three digits after the decimal point.
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
One or more tags.
dict
Response Syntax
{
'savingsPlanId': 'string'
}
Response Structure
(dict) --
savingsPlanId (string) --
The ID of the Savings Plan.
Exceptions
Deletes the queued purchase for the specified Savings Plan.
See also: AWS API Documentation
Request Syntax
response = client.delete_queued_savings_plan(
savingsPlanId='string'
)
[REQUIRED]
The ID of the Savings Plan.
{}
Response Structure
Exceptions
Describes the specified Savings Plans rates.
See also: AWS API Documentation
Request Syntax
response = client.describe_savings_plan_rates(
savingsPlanId='string',
filters=[
{
'name': 'region'|'instanceType'|'productDescription'|'tenancy'|'productType'|'serviceCode'|'usageType'|'operation',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
[REQUIRED]
The ID of the Savings Plan.
The filters.
Information about a filter.
The filter name.
The filter values.
dict
Response Syntax
{
'savingsPlanId': 'string',
'searchResults': [
{
'rate': 'string',
'currency': 'CNY'|'USD',
'unit': 'Hrs'|'Lambda-GB-Second'|'Request',
'productType': 'EC2'|'Fargate'|'Lambda'|'SageMaker',
'serviceCode': 'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker',
'usageType': 'string',
'operation': 'string',
'properties': [
{
'name': 'region'|'instanceType'|'instanceFamily'|'productDescription'|'tenancy',
'value': 'string'
},
]
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
savingsPlanId (string) --
The ID of the Savings Plan.
searchResults (list) --
Information about the Savings Plans rates.
(dict) --
Information about a Savings Plan rate.
rate (string) --
The rate.
currency (string) --
The currency.
unit (string) --
The unit.
productType (string) --
The product type.
serviceCode (string) --
The service.
usageType (string) --
The usage details of the line item in the billing report.
operation (string) --
The specific AWS operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a property.
name (string) --
The property name.
value (string) --
The property value.
nextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Exceptions
Describes the specified Savings Plans.
See also: AWS API Documentation
Request Syntax
response = client.describe_savings_plans(
savingsPlanArns=[
'string',
],
savingsPlanIds=[
'string',
],
nextToken='string',
maxResults=123,
states=[
'payment-pending'|'payment-failed'|'active'|'retired'|'queued'|'queued-deleted',
],
filters=[
{
'name': 'region'|'ec2-instance-family'|'commitment'|'upfront'|'term'|'savings-plan-type'|'payment-option'|'start'|'end',
'values': [
'string',
]
},
]
)
The Amazon Resource Names (ARN) of the Savings Plans.
The IDs of the Savings Plans.
The states.
The filters.
Information about a filter.
The filter name.
The filter value.
dict
Response Syntax
{
'savingsPlans': [
{
'offeringId': 'string',
'savingsPlanId': 'string',
'savingsPlanArn': 'string',
'description': 'string',
'start': 'string',
'end': 'string',
'state': 'payment-pending'|'payment-failed'|'active'|'retired'|'queued'|'queued-deleted',
'region': 'string',
'ec2InstanceFamily': 'string',
'savingsPlanType': 'Compute'|'EC2Instance'|'SageMaker',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'productTypes': [
'EC2'|'Fargate'|'Lambda'|'SageMaker',
],
'currency': 'CNY'|'USD',
'commitment': 'string',
'upfrontPaymentAmount': 'string',
'recurringPaymentAmount': 'string',
'termDurationInSeconds': 123,
'tags': {
'string': 'string'
}
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
savingsPlans (list) --
Information about the Savings Plans.
(dict) --
Information about a Savings Plan.
offeringId (string) --
The ID of the offering.
savingsPlanId (string) --
The ID of the Savings Plan.
savingsPlanArn (string) --
The Amazon Resource Name (ARN) of the Savings Plan.
description (string) --
The description.
start (string) --
The start time.
end (string) --
The end time.
state (string) --
The state.
region (string) --
The AWS Region.
ec2InstanceFamily (string) --
The EC2 instance family.
savingsPlanType (string) --
The plan type.
paymentOption (string) --
The payment option.
productTypes (list) --
The product types.
currency (string) --
The currency.
commitment (string) --
The hourly commitment, in USD.
upfrontPaymentAmount (string) --
The up-front payment amount.
recurringPaymentAmount (string) --
The recurring payment amount.
termDurationInSeconds (integer) --
The duration of the term, in seconds.
tags (dict) --
One or more tags.
nextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Exceptions
Describes the specified Savings Plans offering rates.
See also: AWS API Documentation
Request Syntax
response = client.describe_savings_plans_offering_rates(
savingsPlanOfferingIds=[
'string',
],
savingsPlanPaymentOptions=[
'All Upfront'|'Partial Upfront'|'No Upfront',
],
savingsPlanTypes=[
'Compute'|'EC2Instance'|'SageMaker',
],
products=[
'EC2'|'Fargate'|'Lambda'|'SageMaker',
],
serviceCodes=[
'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker',
],
usageTypes=[
'string',
],
operations=[
'string',
],
filters=[
{
'name': 'region'|'instanceFamily'|'instanceType'|'productDescription'|'tenancy'|'productId',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
The IDs of the offerings.
The payment options.
The plan types.
The AWS products.
The services.
The usage details of the line item in the billing report.
The specific AWS operation for the line item in the billing report.
The filters.
Information about a filter.
The filter name.
The filter values.
dict
Response Syntax
{
'searchResults': [
{
'savingsPlanOffering': {
'offeringId': 'string',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'planType': 'Compute'|'EC2Instance'|'SageMaker',
'durationSeconds': 123,
'currency': 'CNY'|'USD',
'planDescription': 'string'
},
'rate': 'string',
'unit': 'Hrs'|'Lambda-GB-Second'|'Request',
'productType': 'EC2'|'Fargate'|'Lambda'|'SageMaker',
'serviceCode': 'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker',
'usageType': 'string',
'operation': 'string',
'properties': [
{
'name': 'string',
'value': 'string'
},
]
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
searchResults (list) --
Information about the Savings Plans offering rates.
(dict) --
Information about a Savings Plan offering rate.
savingsPlanOffering (dict) --
The Savings Plan offering.
offeringId (string) --
The ID of the offering.
paymentOption (string) --
The payment option.
planType (string) --
The plan type.
durationSeconds (integer) --
The duration, in seconds.
currency (string) --
The currency.
planDescription (string) --
The description.
rate (string) --
The Savings Plan rate.
unit (string) --
The unit.
productType (string) --
The product type.
serviceCode (string) --
The service.
usageType (string) --
The usage details of the line item in the billing report.
operation (string) --
The specific AWS operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a property.
name (string) --
The property name.
value (string) --
The property value.
nextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Exceptions
Describes the specified Savings Plans offerings.
See also: AWS API Documentation
Request Syntax
response = client.describe_savings_plans_offerings(
offeringIds=[
'string',
],
paymentOptions=[
'All Upfront'|'Partial Upfront'|'No Upfront',
],
productType='EC2'|'Fargate'|'Lambda'|'SageMaker',
planTypes=[
'Compute'|'EC2Instance'|'SageMaker',
],
durations=[
123,
],
currencies=[
'CNY'|'USD',
],
descriptions=[
'string',
],
serviceCodes=[
'string',
],
usageTypes=[
'string',
],
operations=[
'string',
],
filters=[
{
'name': 'region'|'instanceFamily',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
The IDs of the offerings.
The payment options.
The plan type.
The durations, in seconds.
The currencies.
The descriptions.
The services.
The usage details of the line item in the billing report.
The specific AWS operation for the line item in the billing report.
The filters.
Information about a filter.
The filter name.
The filter values.
dict
Response Syntax
{
'searchResults': [
{
'offeringId': 'string',
'productTypes': [
'EC2'|'Fargate'|'Lambda'|'SageMaker',
],
'planType': 'Compute'|'EC2Instance'|'SageMaker',
'description': 'string',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'durationSeconds': 123,
'currency': 'CNY'|'USD',
'serviceCode': 'string',
'usageType': 'string',
'operation': 'string',
'properties': [
{
'name': 'region'|'instanceFamily',
'value': 'string'
},
]
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
searchResults (list) --
Information about the Savings Plans offerings.
(dict) --
Information about a Savings Plan offering.
offeringId (string) --
The ID of the offering.
productTypes (list) --
The product type.
planType (string) --
The plan type.
description (string) --
The description.
paymentOption (string) --
The payment option.
durationSeconds (integer) --
The duration, in seconds.
currency (string) --
The currency.
serviceCode (string) --
The service.
usageType (string) --
The usage details of the line item in the billing report.
operation (string) --
The specific AWS operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a property.
name (string) --
The property name.
value (string) --
The property value.
nextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Exceptions
Create a paginator for an operation.
Returns an object that can wait for some condition.
Lists the tags for the specified resource.
See also: AWS API Documentation
Request Syntax
response = client.list_tags_for_resource(
resourceArn='string'
)
[REQUIRED]
The Amazon Resource Name (ARN) of the resource.
{
'tags': {
'string': 'string'
}
}
Response Structure
Information about the tags.
Exceptions
Adds the specified tags to the specified resource.
See also: AWS API Documentation
Request Syntax
response = client.tag_resource(
resourceArn='string',
tags={
'string': 'string'
}
)
[REQUIRED]
The Amazon Resource Name (ARN) of the resource.
[REQUIRED]
One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
dict
Response Syntax
{}
Response Structure
Exceptions
Removes the specified tags from the specified resource.
See also: AWS API Documentation
Request Syntax
response = client.untag_resource(
resourceArn='string',
tagKeys=[
'string',
]
)
[REQUIRED]
The Amazon Resource Name (ARN) of the resource.
[REQUIRED]
The tag keys.
dict
Response Syntax
{}
Response Structure
Exceptions
The available paginators are: