AWS Savings Plans

2025/12/02 - AWS Savings Plans - 4 updated api methods

Changes  Added support for Amazon Database Savings Plans

DescribeSavingsPlanRates (updated) Link ¶
Changes (response)
{'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
)
type savingsPlanId:

string

param savingsPlanId:

[REQUIRED]

The ID of the Savings Plan.

type filters:

list

param filters:

The filters.

  • (dict) --

    Information about a Savings Plan rate filter.

    • name (string) --

      The filter name.

    • values (list) --

      The filter values.

      • (string) --

type nextToken:

string

param nextToken:

The token for the next page of results.

type maxResults:

integer

param maxResults:

The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

rtype:

dict

returns:

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.

DescribeSavingsPlans (updated) Link ¶
Changes (request, response)
Request
{'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',
            ]
        },
    ]
)
type savingsPlanArns:

list

param savingsPlanArns:

The Amazon Resource Names (ARN) of the Savings Plans.

  • (string) --

type savingsPlanIds:

list

param savingsPlanIds:

The IDs of the Savings Plans.

  • (string) --

type nextToken:

string

param nextToken:

The token for the next page of results.

type maxResults:

integer

param maxResults:

The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

type states:

list

param states:

The current states of the Savings Plans.

  • (string) --

type filters:

list

param filters:

The filters.

  • (dict) --

    Information about a Savings Plan filter.

    • name (string) --

      The filter name.

    • values (list) --

      The filter value.

      • (string) --

rtype:

dict

returns:

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.

DescribeSavingsPlansOfferingRates (updated) Link ¶
Changes (request, response)
Request
{'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
)
type savingsPlanOfferingIds:

list

param savingsPlanOfferingIds:

The IDs of the offerings.

  • (string) --

type savingsPlanPaymentOptions:

list

param savingsPlanPaymentOptions:

The payment options.

  • (string) --

type savingsPlanTypes:

list

param savingsPlanTypes:

The plan types.

  • (string) --

type products:

list

param products:

The Amazon Web Services products.

  • (string) --

type serviceCodes:

list

param serviceCodes:

The services.

  • (string) --

type usageTypes:

list

param usageTypes:

The usage details of the line item in the billing report.

  • (string) --

type operations:

list

param operations:

The specific Amazon Web Services operation for the line item in the billing report.

  • (string) --

type filters:

list

param filters:

The filters.

  • (dict) --

    Information about a Savings Plan offering rate filter.

    • name (string) --

      The filter name.

    • values (list) --

      The filter values.

      • (string) --

type nextToken:

string

param nextToken:

The token for the next page of results.

type maxResults:

integer

param maxResults:

The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

rtype:

dict

returns:

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.

DescribeSavingsPlansOfferings (updated) Link ¶
Changes (request, response)
Request
{'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
)
type offeringIds:

list

param offeringIds:

The IDs of the offerings.

  • (string) --

type paymentOptions:

list

param paymentOptions:

The payment options.

  • (string) --

type productType:

string

param productType:

The product type.

type planTypes:

list

param planTypes:

The plan types.

  • (string) --

type durations:

list

param durations:

The duration, in seconds.

  • (integer) --

type currencies:

list

param currencies:

The currencies.

  • (string) --

type descriptions:

list

param descriptions:

The descriptions.

  • (string) --

type serviceCodes:

list

param serviceCodes:

The services.

  • (string) --

type usageTypes:

list

param usageTypes:

The usage details of the line item in the billing report.

  • (string) --

type operations:

list

param operations:

The specific Amazon Web Services operation for the line item in the billing report.

  • (string) --

type filters:

list

param filters:

The filters.

  • (dict) --

    Information about a Savings Plan offering filter.

    • name (string) --

      The filter name.

    • values (list) --

      The filter values.

      • (string) --

type nextToken:

string

param nextToken:

The token for the next page of results.

type maxResults:

integer

param maxResults:

The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

rtype:

dict

returns:

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.