2025/12/02 - AWS Savings Plans - 4 updated api methods
Changes Added support for Amazon Database Savings Plans
{'searchResults': {'currency': {'EUR'},
'productType': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'},
'serviceCode': {'AWSDatabaseMigrationSvc',
'AmazonDocDB',
'AmazonDynamoDB',
'AmazonElastiCache',
'AmazonMCS',
'AmazonNeptune',
'AmazonRDS',
'AmazonTimestream',
'AuroraDSQL'},
'unit': {'ACU-Hr',
'DCU-Hr',
'DPU',
'ElastiCacheProcessingUnit',
'GB-Hours',
'NCU-hr',
'ReadCapacityUnit-Hrs',
'ReadRequestUnits',
'ReplicatedWriteCapacityUnit-Hrs',
'ReplicatedWriteRequestUnits',
'WriteCapacityUnit-Hrs',
'WriteRequestUnits'}}}
Describes the rates for a specific, existing Savings Plan.
See also: AWS API Documentation
Request Syntax
client.describe_savings_plan_rates(
savingsPlanId='string',
filters=[
{
'name': 'region'|'instanceType'|'productDescription'|'tenancy'|'productType'|'serviceCode'|'usageType'|'operation',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
string
[REQUIRED]
The ID of the Savings Plan.
list
The filters.
(dict) --
Information about a Savings Plan rate filter.
name (string) --
The filter name.
values (list) --
The filter values.
(string) --
string
The token for the next page of results.
integer
The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
dict
Response Syntax
{
'savingsPlanId': 'string',
'searchResults': [
{
'rate': 'string',
'currency': 'CNY'|'USD'|'EUR',
'unit': 'Hrs'|'Lambda-GB-Second'|'Request'|'ACU-Hr'|'ReadRequestUnits'|'WriteRequestUnits'|'ReadCapacityUnit-Hrs'|'WriteCapacityUnit-Hrs'|'ReplicatedWriteRequestUnits'|'ReplicatedWriteCapacityUnit-Hrs'|'GB-Hours'|'DPU'|'ElastiCacheProcessingUnit'|'DCU-Hr'|'NCU-hr',
'productType': 'EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
'serviceCode': 'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker'|'AmazonRDS'|'AuroraDSQL'|'AmazonDynamoDB'|'AmazonElastiCache'|'AmazonDocDB'|'AmazonNeptune'|'AmazonTimestream'|'AmazonMCS'|'AWSDatabaseMigrationSvc',
'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 Plan 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 Amazon Web Services operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a Savings Plan rate 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.
{'filters': {'name': {'instance-family'}}}
Response {'savingsPlans': {'currency': {'EUR'},
'productTypes': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'},
'savingsPlanType': {'Database'}}}
Describes the specified Savings Plans.
See also: AWS API Documentation
Request Syntax
client.describe_savings_plans(
savingsPlanArns=[
'string',
],
savingsPlanIds=[
'string',
],
nextToken='string',
maxResults=123,
states=[
'payment-pending'|'payment-failed'|'active'|'retired'|'queued'|'queued-deleted'|'pending-return'|'returned',
],
filters=[
{
'name': 'region'|'ec2-instance-family'|'commitment'|'upfront'|'term'|'savings-plan-type'|'payment-option'|'start'|'end'|'instance-family',
'values': [
'string',
]
},
]
)
list
The Amazon Resource Names (ARN) of the Savings Plans.
(string) --
list
The IDs of the Savings Plans.
(string) --
string
The token for the next page of results.
integer
The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
list
The current states of the Savings Plans.
(string) --
list
The filters.
(dict) --
Information about a Savings Plan filter.
name (string) --
The filter name.
values (list) --
The filter value.
(string) --
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'|'pending-return'|'returned',
'region': 'string',
'ec2InstanceFamily': 'string',
'savingsPlanType': 'Compute'|'EC2Instance'|'SageMaker'|'Database',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'productTypes': [
'EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
],
'currency': 'CNY'|'USD'|'EUR',
'commitment': 'string',
'upfrontPaymentAmount': 'string',
'recurringPaymentAmount': 'string',
'termDurationInSeconds': 123,
'tags': {
'string': 'string'
},
'returnableUntil': '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 current state.
region (string) --
The Amazon Web Services Region.
ec2InstanceFamily (string) --
The EC2 instance family.
savingsPlanType (string) --
The plan type.
paymentOption (string) --
The payment option.
productTypes (list) --
The product types.
(string) --
currency (string) --
The currency.
commitment (string) --
The hourly commitment amount in the specified currency.
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.
(string) --
(string) --
returnableUntil (string) --
The time until when a return for the Savings Plan can be requested. If the Savings Plan is not returnable, the field reflects the Savings Plans start time.
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.
{'products': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'},
'savingsPlanTypes': {'Database'},
'serviceCodes': {'AWSDatabaseMigrationSvc',
'AmazonDocDB',
'AmazonDynamoDB',
'AmazonElastiCache',
'AmazonMCS',
'AmazonNeptune',
'AmazonRDS',
'AmazonTimestream',
'AuroraDSQL'}}
Response {'searchResults': {'productType': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'},
'savingsPlanOffering': {'currency': {'EUR'},
'planType': {'Database'}},
'serviceCode': {'AWSDatabaseMigrationSvc',
'AmazonDocDB',
'AmazonDynamoDB',
'AmazonElastiCache',
'AmazonMCS',
'AmazonNeptune',
'AmazonRDS',
'AmazonTimestream',
'AuroraDSQL'},
'unit': {'ACU-Hr',
'DCU-Hr',
'DPU',
'ElastiCacheProcessingUnit',
'GB-Hours',
'NCU-hr',
'ReadCapacityUnit-Hrs',
'ReadRequestUnits',
'ReplicatedWriteCapacityUnit-Hrs',
'ReplicatedWriteRequestUnits',
'WriteCapacityUnit-Hrs',
'WriteRequestUnits'}}}
Describes the offering rates for Savings Plans you might want to purchase.
See also: AWS API Documentation
Request Syntax
client.describe_savings_plans_offering_rates(
savingsPlanOfferingIds=[
'string',
],
savingsPlanPaymentOptions=[
'All Upfront'|'Partial Upfront'|'No Upfront',
],
savingsPlanTypes=[
'Compute'|'EC2Instance'|'SageMaker'|'Database',
],
products=[
'EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
],
serviceCodes=[
'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker'|'AmazonRDS'|'AuroraDSQL'|'AmazonDynamoDB'|'AmazonElastiCache'|'AmazonDocDB'|'AmazonNeptune'|'AmazonTimestream'|'AmazonMCS'|'AWSDatabaseMigrationSvc',
],
usageTypes=[
'string',
],
operations=[
'string',
],
filters=[
{
'name': 'region'|'instanceFamily'|'instanceType'|'productDescription'|'tenancy'|'productId',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
list
The IDs of the offerings.
(string) --
list
The payment options.
(string) --
list
The plan types.
(string) --
list
The Amazon Web Services products.
(string) --
list
The services.
(string) --
list
The usage details of the line item in the billing report.
(string) --
list
The specific Amazon Web Services operation for the line item in the billing report.
(string) --
list
The filters.
(dict) --
Information about a Savings Plan offering rate filter.
name (string) --
The filter name.
values (list) --
The filter values.
(string) --
string
The token for the next page of results.
integer
The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
dict
Response Syntax
{
'searchResults': [
{
'savingsPlanOffering': {
'offeringId': 'string',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'planType': 'Compute'|'EC2Instance'|'SageMaker'|'Database',
'durationSeconds': 123,
'currency': 'CNY'|'USD'|'EUR',
'planDescription': 'string'
},
'rate': 'string',
'unit': 'Hrs'|'Lambda-GB-Second'|'Request'|'ACU-Hr'|'ReadRequestUnits'|'WriteRequestUnits'|'ReadCapacityUnit-Hrs'|'WriteCapacityUnit-Hrs'|'ReplicatedWriteRequestUnits'|'ReplicatedWriteCapacityUnit-Hrs'|'GB-Hours'|'DPU'|'ElastiCacheProcessingUnit'|'DCU-Hr'|'NCU-hr',
'productType': 'EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
'serviceCode': 'AmazonEC2'|'AmazonECS'|'AmazonEKS'|'AWSLambda'|'AmazonSageMaker'|'AmazonRDS'|'AuroraDSQL'|'AmazonDynamoDB'|'AmazonElastiCache'|'AmazonDocDB'|'AmazonNeptune'|'AmazonTimestream'|'AmazonMCS'|'AWSDatabaseMigrationSvc',
'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 Amazon Web Services operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a Savings Plan offering rate 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.
{'currencies': {'EUR'},
'planTypes': {'Database'},
'productType': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'}}
Response {'searchResults': {'currency': {'EUR'},
'planType': {'Database'},
'productTypes': {'DMS',
'DSQL',
'DocDB',
'DynamoDB',
'ElastiCache',
'Keyspaces',
'Neptune',
'RDS',
'Timestream'}}}
Describes the offerings for the specified Savings Plans.
See also: AWS API Documentation
Request Syntax
client.describe_savings_plans_offerings(
offeringIds=[
'string',
],
paymentOptions=[
'All Upfront'|'Partial Upfront'|'No Upfront',
],
productType='EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
planTypes=[
'Compute'|'EC2Instance'|'SageMaker'|'Database',
],
durations=[
123,
],
currencies=[
'CNY'|'USD'|'EUR',
],
descriptions=[
'string',
],
serviceCodes=[
'string',
],
usageTypes=[
'string',
],
operations=[
'string',
],
filters=[
{
'name': 'region'|'instanceFamily',
'values': [
'string',
]
},
],
nextToken='string',
maxResults=123
)
list
The IDs of the offerings.
(string) --
list
The payment options.
(string) --
string
The product type.
list
The plan types.
(string) --
list
The duration, in seconds.
(integer) --
list
The currencies.
(string) --
list
The descriptions.
(string) --
list
The services.
(string) --
list
The usage details of the line item in the billing report.
(string) --
list
The specific Amazon Web Services operation for the line item in the billing report.
(string) --
list
The filters.
(dict) --
Information about a Savings Plan offering filter.
name (string) --
The filter name.
values (list) --
The filter values.
(string) --
string
The token for the next page of results.
integer
The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
dict
Response Syntax
{
'searchResults': [
{
'offeringId': 'string',
'productTypes': [
'EC2'|'Fargate'|'Lambda'|'SageMaker'|'RDS'|'DSQL'|'DynamoDB'|'ElastiCache'|'DocDB'|'Neptune'|'Timestream'|'Keyspaces'|'DMS',
],
'planType': 'Compute'|'EC2Instance'|'SageMaker'|'Database',
'description': 'string',
'paymentOption': 'All Upfront'|'Partial Upfront'|'No Upfront',
'durationSeconds': 123,
'currency': 'CNY'|'USD'|'EUR',
'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.
(string) --
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 Amazon Web Services operation for the line item in the billing report.
properties (list) --
The properties.
(dict) --
Information about a Savings Plan offering 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.