Table of Contents
SavingsPlans.
Client
¶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:
can_paginate()
close()
create_savings_plan()
delete_queued_savings_plan()
describe_savings_plan_rates()
describe_savings_plans()
describe_savings_plans_offering_rates()
describe_savings_plans_offerings()
get_paginator()
get_waiter()
list_tags_for_resource()
tag_resource()
untag_resource()
can_paginate
(operation_name)¶Check if an operation can be paginated.
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")
.True
if the operation can be paginated,
False
otherwise.close
()¶Closes underlying endpoint connections.
create_savings_plan
(**kwargs)¶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 five digits after the decimal point.
Partial Upfront
.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
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
SavingsPlans.Client.exceptions.ServiceQuotaExceededException
delete_queued_savings_plan
(**kwargs)¶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
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.InternalServerException
SavingsPlans.Client.exceptions.ServiceQuotaExceededException
describe_savings_plan_rates
(**kwargs)¶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
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.ValidationException
describe_savings_plans
(**kwargs)¶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
SavingsPlans.Client.exceptions.InternalServerException
SavingsPlans.Client.exceptions.ValidationException
describe_savings_plans_offering_rates
(**kwargs)¶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
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
describe_savings_plans_offerings
(**kwargs)¶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
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
get_paginator
(operation_name)¶Create a paginator for an operation.
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")
.client.can_paginate
method to
check if an operation is pageable.get_waiter
(waiter_name)¶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
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
tag_resource
(**kwargs)¶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
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.ServiceQuotaExceededException
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
untag_resource
(**kwargs)¶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
SavingsPlans.Client.exceptions.ResourceNotFoundException
SavingsPlans.Client.exceptions.ValidationException
SavingsPlans.Client.exceptions.InternalServerException
The available paginators are: