SavingsPlans

Table of Contents

Client

class 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(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.
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'
    }
)
Parameters
  • savingsPlanOfferingId (string) --

    [REQUIRED]

    The ID of the offering.

  • commitment (string) --

    [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.

  • upfrontPaymentAmount (string) -- The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is supported only if the payment option is Partial Upfront .
  • purchaseTime (datetime) -- The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
  • clientToken (string) --

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    This field is autopopulated if not provided.

  • tags (dict) --

    One or more tags.

    • (string) --
      • (string) --
Return type

dict

Returns

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'
)
Parameters
savingsPlanId (string) --

[REQUIRED]

The ID of the Savings Plan.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

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
)
Parameters
  • savingsPlanId (string) --

    [REQUIRED]

    The ID of the Savings Plan.

  • filters (list) --

    The filters.

    • (dict) --

      Information about a filter.

      • name (string) --

        The filter name.

      • values (list) --

        The filter values.

        • (string) --
  • nextToken (string) -- The token for the next page of results.
  • maxResults (integer) -- The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
Return type

dict

Returns

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',
            ]
        },
    ]
)
Parameters
  • savingsPlanArns (list) --

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

    • (string) --
  • savingsPlanIds (list) --

    The IDs of the Savings Plans.

    • (string) --
  • nextToken (string) -- The token for the next page of results.
  • maxResults (integer) -- The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
  • states (list) --

    The states.

    • (string) --
  • filters (list) --

    The filters.

    • (dict) --

      Information about a filter.

      • name (string) --

        The filter name.

      • values (list) --

        The filter value.

        • (string) --
Return type

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',
            '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.

          • (string) --
        • 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.

          • (string) --
            • (string) --
    • 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
)
Parameters
  • savingsPlanOfferingIds (list) --

    The IDs of the offerings.

    • (string) --
  • savingsPlanPaymentOptions (list) --

    The payment options.

    • (string) --
  • savingsPlanTypes (list) --

    The plan types.

    • (string) --
  • products (list) --

    The AWS products.

    • (string) --
  • serviceCodes (list) --

    The services.

    • (string) --
  • usageTypes (list) --

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

    • (string) --
  • operations (list) --

    The specific AWS operation for the line item in the billing report.

    • (string) --
  • filters (list) --

    The filters.

    • (dict) --

      Information about a filter.

      • name (string) --

        The filter name.

      • values (list) --

        The filter values.

        • (string) --
  • nextToken (string) -- The token for the next page of results.
  • maxResults (integer) -- The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
Return type

dict

Returns

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
)
Parameters
  • offeringIds (list) --

    The IDs of the offerings.

    • (string) --
  • paymentOptions (list) --

    The payment options.

    • (string) --
  • productType (string) -- The product type.
  • planTypes (list) --

    The plan type.

    • (string) --
  • durations (list) --

    The durations, in seconds.

    • (integer) --
  • currencies (list) --

    The currencies.

    • (string) --
  • descriptions (list) --

    The descriptions.

    • (string) --
  • serviceCodes (list) --

    The services.

    • (string) --
  • usageTypes (list) --

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

    • (string) --
  • operations (list) --

    The specific AWS operation for the line item in the billing report.

    • (string) --
  • filters (list) --

    The filters.

    • (dict) --

      Information about a filter.

      • name (string) --

        The filter name.

      • values (list) --

        The filter values.

        • (string) --
  • nextToken (string) -- The token for the next page of results.
  • maxResults (integer) -- The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
Return type

dict

Returns

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.

          • (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 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.

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
L{botocore.paginate.Paginator}
Returns
A paginator object.
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
list_tags_for_resource(**kwargs)

Lists the tags for the specified resource.

See also: AWS API Documentation

Request Syntax

response = client.list_tags_for_resource(
    resourceArn='string'
)
Parameters
resourceArn (string) --

[REQUIRED]

The Amazon Resource Name (ARN) of the resource.

Return type
dict
Returns
Response Syntax
{
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --
    • tags (dict) --

      Information about the tags.

      • (string) --
        • (string) --

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'
    }
)
Parameters
  • resourceArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the resource.

  • tags (dict) --

    [REQUIRED]

    One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

    • (string) --
      • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

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',
    ]
)
Parameters
  • resourceArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the resource.

  • tagKeys (list) --

    [REQUIRED]

    The tag keys.

    • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • SavingsPlans.Client.exceptions.ResourceNotFoundException
  • SavingsPlans.Client.exceptions.ValidationException
  • SavingsPlans.Client.exceptions.InternalServerException

Paginators

The available paginators are: