AWS Savings Plans icon

AWS Savings Plans

Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances)

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2019-06-28",
    "x-release": "v4",
    "title": "AWS Savings Plans",
    "description": "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 <a href=\"https://docs.aws.amazon.com/savingsplans/latest/userguide/\">AWS Savings Plans User Guide</a>.",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "savingsplans",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/savingsplans-2019-06-28.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/savingsplans/"
  },
  "servers": [
    {
      "url": "http://savingsplans.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWSSavingsPlans multi-region endpoint"
    },
    {
      "url": "https://savingsplans.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWSSavingsPlans multi-region endpoint"
    },
    {
      "url": "http://savingsplans.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWSSavingsPlans endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://savingsplans.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWSSavingsPlans endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "paths": {
    "/CreateSavingsPlan": {
      "post": {
        "operationId": "CreateSavingsPlan",
        "description": "Creates a Savings Plan.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSavingsPlanResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "savingsPlanOfferingId",
                  "commitment"
                ],
                "properties": {
                  "savingsPlanOfferingId": {
                    "description": "The ID of the offering.",
                    "type": "string"
                  },
                  "commitment": {
                    "description": "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.",
                    "type": "string"
                  },
                  "upfrontPaymentAmount": {
                    "description": "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 <code>Partial Upfront</code>.",
                    "type": "string"
                  },
                  "purchaseTime": {
                    "description": "The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).",
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientToken": {
                    "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.",
                    "type": "string"
                  },
                  "tags": {
                    "description": "One or more tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/DeleteQueuedSavingsPlan": {
      "post": {
        "operationId": "DeleteQueuedSavingsPlan",
        "description": "Deletes the queued purchase for the specified Savings Plan.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteQueuedSavingsPlanResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "savingsPlanId"
                ],
                "properties": {
                  "savingsPlanId": {
                    "description": "The ID of the Savings Plan.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/DescribeSavingsPlanRates": {
      "post": {
        "operationId": "DescribeSavingsPlanRates",
        "description": "Describes the specified Savings Plans rates.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSavingsPlanRatesResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "savingsPlanId"
                ],
                "properties": {
                  "savingsPlanId": {
                    "description": "The ID of the Savings Plan.",
                    "type": "string"
                  },
                  "filters": {
                    "description": "The filters.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanRateFilter"
                    }
                  },
                  "nextToken": {
                    "description": "The token for the next page of results.",
                    "type": "string",
                    "pattern": "^[A-Za-z0-9/=\\+]+$",
                    "maxLength": 1024
                  },
                  "maxResults": {
                    "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/DescribeSavingsPlans": {
      "post": {
        "operationId": "DescribeSavingsPlans",
        "description": "Describes the specified Savings Plans.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSavingsPlansResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "savingsPlanArns": {
                    "description": "The Amazon Resource Names (ARN) of the Savings Plans.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanArn"
                    },
                    "maxItems": 100
                  },
                  "savingsPlanIds": {
                    "description": "The IDs of the Savings Plans.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanId"
                    }
                  },
                  "nextToken": {
                    "description": "The token for the next page of results.",
                    "type": "string",
                    "pattern": "^[A-Za-z0-9/=\\+]+$",
                    "maxLength": 1024
                  },
                  "maxResults": {
                    "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "states": {
                    "description": "The states.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanState"
                    }
                  },
                  "filters": {
                    "description": "The filters.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanFilter"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/DescribeSavingsPlansOfferingRates": {
      "post": {
        "operationId": "DescribeSavingsPlansOfferingRates",
        "description": "Describes the specified Savings Plans offering rates.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSavingsPlansOfferingRatesResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "savingsPlanOfferingIds": {
                    "description": "The IDs of the offerings.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UUID"
                    }
                  },
                  "savingsPlanPaymentOptions": {
                    "description": "The payment options.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanPaymentOption"
                    }
                  },
                  "savingsPlanTypes": {
                    "description": "The plan types.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanType"
                    }
                  },
                  "products": {
                    "description": "The AWS products.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanProductType"
                    }
                  },
                  "serviceCodes": {
                    "description": "The services.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanRateServiceCode"
                    }
                  },
                  "usageTypes": {
                    "description": "The usage details of the line item in the billing report.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanRateUsageType"
                    }
                  },
                  "operations": {
                    "description": "The specific AWS operation for the line item in the billing report.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanRateOperation"
                    }
                  },
                  "filters": {
                    "description": "The filters.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanOfferingRateFilterElement"
                    }
                  },
                  "nextToken": {
                    "description": "The token for the next page of results.",
                    "type": "string",
                    "pattern": "^[A-Za-z0-9/=\\+]+$",
                    "maxLength": 1024
                  },
                  "maxResults": {
                    "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/DescribeSavingsPlansOfferings": {
      "post": {
        "operationId": "DescribeSavingsPlansOfferings",
        "description": "Describes the specified Savings Plans offerings.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSavingsPlansOfferingsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "offeringIds": {
                    "description": "The IDs of the offerings.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UUID"
                    }
                  },
                  "paymentOptions": {
                    "description": "The payment options.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanPaymentOption"
                    }
                  },
                  "productType": {
                    "description": "The product type.",
                    "type": "string",
                    "enum": [
                      "EC2",
                      "Fargate",
                      "Lambda",
                      "SageMaker"
                    ]
                  },
                  "planTypes": {
                    "description": "The plan type.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanType"
                    }
                  },
                  "durations": {
                    "description": "The durations, in seconds.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlansDuration"
                    }
                  },
                  "currencies": {
                    "description": "The currencies.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CurrencyCode"
                    }
                  },
                  "descriptions": {
                    "description": "The descriptions.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanDescription"
                    }
                  },
                  "serviceCodes": {
                    "description": "The services.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanServiceCode"
                    }
                  },
                  "usageTypes": {
                    "description": "The usage details of the line item in the billing report.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanUsageType"
                    }
                  },
                  "operations": {
                    "description": "The specific AWS operation for the line item in the billing report.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanOperation"
                    }
                  },
                  "filters": {
                    "description": "The filters.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SavingsPlanOfferingFilterElement"
                    }
                  },
                  "nextToken": {
                    "description": "The token for the next page of results.",
                    "type": "string",
                    "pattern": "^[A-Za-z0-9/=\\+]+$",
                    "maxLength": 1024
                  },
                  "maxResults": {
                    "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/ListTagsForResource": {
      "post": {
        "operationId": "ListTagsForResource",
        "description": "Lists the tags for the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "resourceArn"
                ],
                "properties": {
                  "resourceArn": {
                    "description": "The Amazon Resource Name (ARN) of the resource.",
                    "type": "string",
                    "pattern": "arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/TagResource": {
      "post": {
        "operationId": "TagResource",
        "description": "Adds the specified tags to the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "resourceArn",
                  "tags"
                ],
                "properties": {
                  "resourceArn": {
                    "description": "The Amazon Resource Name (ARN) of the resource.",
                    "type": "string",
                    "pattern": "arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$"
                  },
                  "tags": {
                    "description": "One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/UntagResource": {
      "post": {
        "operationId": "UntagResource",
        "description": "Removes the specified tags from the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UntagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "resourceArn",
                  "tagKeys"
                ],
                "properties": {
                  "resourceArn": {
                    "description": "The Amazon Resource Name (ARN) of the resource.",
                    "type": "string",
                    "pattern": "arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$"
                  },
                  "tagKeys": {
                    "description": "The tag keys.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TagKey"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "CreateSavingsPlanResponse": {
        "type": "object",
        "properties": {
          "savingsPlanId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanId"
              },
              {
                "description": "The ID of the Savings Plan."
              }
            ]
          }
        }
      },
      "TagValue": {
        "type": "string"
      },
      "ResourceNotFoundException": {},
      "ValidationException": {},
      "InternalServerException": {},
      "ServiceQuotaExceededException": {},
      "DeleteQueuedSavingsPlanResponse": {
        "type": "object",
        "properties": {}
      },
      "DescribeSavingsPlanRatesResponse": {
        "type": "object",
        "properties": {
          "savingsPlanId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanId"
              },
              {
                "description": "The ID of the Savings Plan."
              }
            ]
          },
          "searchResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateList"
              },
              {
                "description": "Information about the Savings Plans rates."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is null when there are no more results to return."
              }
            ]
          }
        }
      },
      "SavingsPlanRateFilter": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateFilterName"
              },
              {
                "description": "The filter name."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListOfStrings"
              },
              {
                "description": "The filter values."
              }
            ]
          }
        },
        "description": "Information about a filter."
      },
      "DescribeSavingsPlansResponse": {
        "type": "object",
        "properties": {
          "savingsPlans": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanList"
              },
              {
                "description": "Information about the Savings Plans."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is null when there are no more results to return."
              }
            ]
          }
        }
      },
      "SavingsPlanArn": {
        "type": "string",
        "pattern": "arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$"
      },
      "SavingsPlanId": {
        "type": "string"
      },
      "SavingsPlanState": {
        "type": "string",
        "enum": [
          "payment-pending",
          "payment-failed",
          "active",
          "retired",
          "queued",
          "queued-deleted"
        ]
      },
      "SavingsPlanFilter": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlansFilterName"
              },
              {
                "description": "The filter name."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListOfStrings"
              },
              {
                "description": "The filter value."
              }
            ]
          }
        },
        "description": "Information about a filter."
      },
      "DescribeSavingsPlansOfferingRatesResponse": {
        "type": "object",
        "properties": {
          "searchResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingRatesList"
              },
              {
                "description": "Information about the Savings Plans offering rates."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is null when there are no more results to return."
              }
            ]
          }
        }
      },
      "UUID": {
        "type": "string",
        "pattern": "[a-f0-9]+(-[a-f0-9]+)*"
      },
      "SavingsPlanPaymentOption": {
        "type": "string",
        "enum": [
          "All Upfront",
          "Partial Upfront",
          "No Upfront"
        ]
      },
      "SavingsPlanType": {
        "type": "string",
        "enum": [
          "Compute",
          "EC2Instance",
          "SageMaker"
        ]
      },
      "SavingsPlanProductType": {
        "type": "string",
        "enum": [
          "EC2",
          "Fargate",
          "Lambda",
          "SageMaker"
        ]
      },
      "SavingsPlanRateServiceCode": {
        "type": "string",
        "enum": [
          "AmazonEC2",
          "AmazonECS",
          "AmazonEKS",
          "AWSLambda",
          "AmazonSageMaker"
        ]
      },
      "SavingsPlanRateUsageType": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_ \\/.:-]+$",
        "maxLength": 255
      },
      "SavingsPlanRateOperation": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_ \\/.:-]*$",
        "maxLength": 255
      },
      "SavingsPlanOfferingRateFilterElement": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateFilterAttribute"
              },
              {
                "description": "The filter name."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FilterValuesList"
              },
              {
                "description": "The filter values."
              }
            ]
          }
        },
        "description": "Information about a filter."
      },
      "DescribeSavingsPlansOfferingsResponse": {
        "type": "object",
        "properties": {
          "searchResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingsList"
              },
              {
                "description": "Information about the Savings Plans offerings."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is null when there are no more results to return."
              }
            ]
          }
        }
      },
      "SavingsPlansDuration": {
        "type": "integer",
        "minimum": 0
      },
      "CurrencyCode": {
        "type": "string",
        "enum": [
          "CNY",
          "USD"
        ]
      },
      "SavingsPlanDescription": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_\\- ]+$"
      },
      "SavingsPlanServiceCode": {
        "type": "string",
        "pattern": "^[a-zA-Z]+$",
        "maxLength": 255
      },
      "SavingsPlanUsageType": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_ \\/.:-]+$",
        "maxLength": 255
      },
      "SavingsPlanOperation": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_ \\/.:-]*$",
        "maxLength": 255
      },
      "SavingsPlanOfferingFilterElement": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingFilterAttribute"
              },
              {
                "description": "The filter name."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FilterValuesList"
              },
              {
                "description": "The filter values."
              }
            ]
          }
        },
        "description": "Information about a filter."
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "Information about the tags."
              }
            ]
          }
        }
      },
      "TagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "UntagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "TagKey": {
        "type": "string"
      },
      "Amount": {
        "type": "string"
      },
      "ClientToken": {
        "type": "string"
      },
      "SavingsPlanOfferingId": {
        "type": "string"
      },
      "DateTime": {
        "type": "string",
        "format": "date-time"
      },
      "TagMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/TagValue"
        }
      },
      "CreateSavingsPlanRequest": {
        "type": "object",
        "required": [
          "savingsPlanOfferingId",
          "commitment"
        ],
        "title": "CreateSavingsPlanRequest",
        "properties": {
          "savingsPlanOfferingId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingId"
              },
              {
                "description": "The ID of the offering."
              }
            ]
          },
          "commitment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "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."
              }
            ]
          },
          "upfrontPaymentAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "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 <code>Partial Upfront</code>."
              }
            ]
          },
          "purchaseTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DateTime"
              },
              {
                "description": "The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ)."
              }
            ]
          },
          "clientToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientToken"
              },
              {
                "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "One or more tags."
              }
            ]
          }
        }
      },
      "CurrencyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CurrencyCode"
        }
      },
      "DeleteQueuedSavingsPlanRequest": {
        "type": "object",
        "required": [
          "savingsPlanId"
        ],
        "title": "DeleteQueuedSavingsPlanRequest",
        "properties": {
          "savingsPlanId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanId"
              },
              {
                "description": "The ID of the Savings Plan."
              }
            ]
          }
        }
      },
      "SavingsPlanRateFilterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRateFilter"
        }
      },
      "PaginationToken": {
        "type": "string",
        "pattern": "^[A-Za-z0-9/=\\+]+$",
        "maxLength": 1024
      },
      "MaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 1000
      },
      "DescribeSavingsPlanRatesRequest": {
        "type": "object",
        "required": [
          "savingsPlanId"
        ],
        "title": "DescribeSavingsPlanRatesRequest",
        "properties": {
          "savingsPlanId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanId"
              },
              {
                "description": "The ID of the Savings Plan."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateFilterList"
              },
              {
                "description": "The filters."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token for the next page of results."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResults"
              },
              {
                "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value."
              }
            ]
          }
        }
      },
      "SavingsPlanRateList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRate"
        }
      },
      "UUIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/UUID"
        }
      },
      "SavingsPlanPaymentOptionList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanPaymentOption"
        }
      },
      "SavingsPlanTypeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanType"
        }
      },
      "SavingsPlanProductTypeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanProductType"
        }
      },
      "SavingsPlanRateServiceCodeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRateServiceCode"
        }
      },
      "SavingsPlanRateUsageTypeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRateUsageType"
        }
      },
      "SavingsPlanRateOperationList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRateOperation"
        }
      },
      "SavingsPlanOfferingRateFiltersList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOfferingRateFilterElement"
        }
      },
      "PageSize": {
        "type": "integer",
        "minimum": 0,
        "maximum": 1000
      },
      "DescribeSavingsPlansOfferingRatesRequest": {
        "type": "object",
        "title": "DescribeSavingsPlansOfferingRatesRequest",
        "properties": {
          "savingsPlanOfferingIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UUIDs"
              },
              {
                "description": "The IDs of the offerings."
              }
            ]
          },
          "savingsPlanPaymentOptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanPaymentOptionList"
              },
              {
                "description": "The payment options."
              }
            ]
          },
          "savingsPlanTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanTypeList"
              },
              {
                "description": "The plan types."
              }
            ]
          },
          "products": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductTypeList"
              },
              {
                "description": "The AWS products."
              }
            ]
          },
          "serviceCodes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateServiceCodeList"
              },
              {
                "description": "The services."
              }
            ]
          },
          "usageTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateUsageTypeList"
              },
              {
                "description": "The usage details of the line item in the billing report."
              }
            ]
          },
          "operations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateOperationList"
              },
              {
                "description": "The specific AWS operation for the line item in the billing report."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingRateFiltersList"
              },
              {
                "description": "The filters."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token for the next page of results."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PageSize"
              },
              {
                "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value."
              }
            ]
          }
        }
      },
      "SavingsPlanOfferingRatesList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOfferingRate"
        }
      },
      "DurationsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlansDuration"
        }
      },
      "SavingsPlanDescriptionsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanDescription"
        }
      },
      "SavingsPlanServiceCodeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanServiceCode"
        }
      },
      "SavingsPlanUsageTypeList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanUsageType"
        }
      },
      "SavingsPlanOperationList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOperation"
        }
      },
      "SavingsPlanOfferingFiltersList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOfferingFilterElement"
        }
      },
      "DescribeSavingsPlansOfferingsRequest": {
        "type": "object",
        "title": "DescribeSavingsPlansOfferingsRequest",
        "properties": {
          "offeringIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UUIDs"
              },
              {
                "description": "The IDs of the offerings."
              }
            ]
          },
          "paymentOptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanPaymentOptionList"
              },
              {
                "description": "The payment options."
              }
            ]
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductType"
              },
              {
                "description": "The product type."
              }
            ]
          },
          "planTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanTypeList"
              },
              {
                "description": "The plan type."
              }
            ]
          },
          "durations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DurationsList"
              },
              {
                "description": "The durations, in seconds."
              }
            ]
          },
          "currencies": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyList"
              },
              {
                "description": "The currencies."
              }
            ]
          },
          "descriptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanDescriptionsList"
              },
              {
                "description": "The descriptions."
              }
            ]
          },
          "serviceCodes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanServiceCodeList"
              },
              {
                "description": "The services."
              }
            ]
          },
          "usageTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanUsageTypeList"
              },
              {
                "description": "The usage details of the line item in the billing report."
              }
            ]
          },
          "operations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOperationList"
              },
              {
                "description": "The specific AWS operation for the line item in the billing report."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingFiltersList"
              },
              {
                "description": "The filters."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token for the next page of results."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PageSize"
              },
              {
                "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value."
              }
            ]
          }
        }
      },
      "SavingsPlanOfferingsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOffering"
        }
      },
      "SavingsPlanArnList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanArn"
        },
        "maxItems": 100
      },
      "SavingsPlanIdList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanId"
        }
      },
      "SavingsPlanStateList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanState"
        }
      },
      "SavingsPlanFilterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanFilter"
        }
      },
      "DescribeSavingsPlansRequest": {
        "type": "object",
        "title": "DescribeSavingsPlansRequest",
        "properties": {
          "savingsPlanArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanArnList"
              },
              {
                "description": "The Amazon Resource Names (ARN) of the Savings Plans."
              }
            ]
          },
          "savingsPlanIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanIdList"
              },
              {
                "description": "The IDs of the Savings Plans."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "The token for the next page of results."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResults"
              },
              {
                "description": "The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value."
              }
            ]
          },
          "states": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanStateList"
              },
              {
                "description": "The states."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanFilterList"
              },
              {
                "description": "The filters."
              }
            ]
          }
        }
      },
      "SavingsPlanList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlan"
        }
      },
      "EC2InstanceFamily": {
        "type": "string"
      },
      "JsonSafeFilterValueString": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_ \\/.\\:\\-\\(\\)]+$"
      },
      "FilterValuesList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JsonSafeFilterValueString"
        }
      },
      "String": {
        "type": "string"
      },
      "ListOfStrings": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/String"
        }
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "required": [
          "resourceArn"
        ],
        "title": "ListTagsForResourceRequest",
        "properties": {
          "resourceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the resource."
              }
            ]
          }
        }
      },
      "ParentSavingsPlanOffering": {
        "type": "object",
        "properties": {
          "offeringId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UUID"
              },
              {
                "description": "The ID of the offering."
              }
            ]
          },
          "paymentOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanPaymentOption"
              },
              {
                "description": "The payment option."
              }
            ]
          },
          "planType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanType"
              },
              {
                "description": "The plan type."
              }
            ]
          },
          "durationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlansDuration"
              },
              {
                "description": "The duration, in seconds."
              }
            ]
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCode"
              },
              {
                "description": "The currency."
              }
            ]
          },
          "planDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanDescription"
              },
              {
                "description": "The description."
              }
            ]
          }
        },
        "description": "Information about a Savings Plan offering."
      },
      "Region": {
        "type": "string"
      },
      "TermDurationInSeconds": {
        "type": "integer"
      },
      "SavingsPlan": {
        "type": "object",
        "properties": {
          "offeringId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingId"
              },
              {
                "description": "The ID of the offering."
              }
            ]
          },
          "savingsPlanId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanId"
              },
              {
                "description": "The ID of the Savings Plan."
              }
            ]
          },
          "savingsPlanArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the Savings Plan."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The description."
              }
            ]
          },
          "start": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The start time."
              }
            ]
          },
          "end": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "The end time."
              }
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanState"
              },
              {
                "description": "The state."
              }
            ]
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Region"
              },
              {
                "description": "The AWS Region."
              }
            ]
          },
          "ec2InstanceFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceFamily"
              },
              {
                "description": "The EC2 instance family."
              }
            ]
          },
          "savingsPlanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanType"
              },
              {
                "description": "The plan type."
              }
            ]
          },
          "paymentOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanPaymentOption"
              },
              {
                "description": "The payment option."
              }
            ]
          },
          "productTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductTypeList"
              },
              {
                "description": "The product types."
              }
            ]
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCode"
              },
              {
                "description": "The currency."
              }
            ]
          },
          "commitment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "The hourly commitment, in USD."
              }
            ]
          },
          "upfrontPaymentAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "The up-front payment amount."
              }
            ]
          },
          "recurringPaymentAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "The recurring payment amount."
              }
            ]
          },
          "termDurationInSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TermDurationInSeconds"
              },
              {
                "description": "The duration of the term, in seconds."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "One or more tags."
              }
            ]
          }
        },
        "description": "Information about a Savings Plan."
      },
      "SavingsPlansFilterName": {
        "type": "string",
        "enum": [
          "region",
          "ec2-instance-family",
          "commitment",
          "upfront",
          "term",
          "savings-plan-type",
          "payment-option",
          "start",
          "end"
        ]
      },
      "SavingsPlanOffering": {
        "type": "object",
        "properties": {
          "offeringId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UUID"
              },
              {
                "description": "The ID of the offering."
              }
            ]
          },
          "productTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductTypeList"
              },
              {
                "description": "The product type."
              }
            ]
          },
          "planType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanType"
              },
              {
                "description": "The plan type."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanDescription"
              },
              {
                "description": "The description."
              }
            ]
          },
          "paymentOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanPaymentOption"
              },
              {
                "description": "The payment option."
              }
            ]
          },
          "durationSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlansDuration"
              },
              {
                "description": "The duration, in seconds."
              }
            ]
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCode"
              },
              {
                "description": "The currency."
              }
            ]
          },
          "serviceCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanServiceCode"
              },
              {
                "description": "The service."
              }
            ]
          },
          "usageType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanUsageType"
              },
              {
                "description": "The usage details of the line item in the billing report."
              }
            ]
          },
          "operation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOperation"
              },
              {
                "description": "The specific AWS operation for the line item in the billing report."
              }
            ]
          },
          "properties": {
            "description": "The properties."
          }
        },
        "description": "Information about a Savings Plan offering."
      },
      "SavingsPlanOfferingFilterAttribute": {
        "type": "string",
        "enum": [
          "region",
          "instanceFamily"
        ]
      },
      "SavingsPlanOfferingPropertyKey": {
        "type": "string",
        "enum": [
          "region",
          "instanceFamily"
        ]
      },
      "SavingsPlanOfferingProperty": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanOfferingPropertyKey"
              },
              {
                "description": "The property name."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonSafeFilterValueString"
              },
              {
                "description": "The property value."
              }
            ]
          }
        },
        "description": "Information about a property."
      },
      "SavingsPlanOfferingPropertyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOfferingProperty"
        }
      },
      "SavingsPlanRatePricePerUnit": {
        "type": "string"
      },
      "SavingsPlanRateUnit": {
        "type": "string",
        "enum": [
          "Hrs",
          "Lambda-GB-Second",
          "Request"
        ]
      },
      "SavingsPlanOfferingRate": {
        "type": "object",
        "properties": {
          "savingsPlanOffering": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ParentSavingsPlanOffering"
              },
              {
                "description": "The Savings Plan offering."
              }
            ]
          },
          "rate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRatePricePerUnit"
              },
              {
                "description": "The Savings Plan rate."
              }
            ]
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateUnit"
              },
              {
                "description": "The unit."
              }
            ]
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductType"
              },
              {
                "description": "The product type."
              }
            ]
          },
          "serviceCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateServiceCode"
              },
              {
                "description": "The service."
              }
            ]
          },
          "usageType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateUsageType"
              },
              {
                "description": "The usage details of the line item in the billing report."
              }
            ]
          },
          "operation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateOperation"
              },
              {
                "description": "The specific AWS operation for the line item in the billing report."
              }
            ]
          },
          "properties": {
            "description": "The properties."
          }
        },
        "description": "Information about a Savings Plan offering rate."
      },
      "SavingsPlanRateFilterAttribute": {
        "type": "string",
        "enum": [
          "region",
          "instanceFamily",
          "instanceType",
          "productDescription",
          "tenancy",
          "productId"
        ]
      },
      "SavingsPlanOfferingRateProperty": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonSafeFilterValueString"
              },
              {
                "description": "The property name."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonSafeFilterValueString"
              },
              {
                "description": "The property value."
              }
            ]
          }
        },
        "description": "Information about a property."
      },
      "SavingsPlanOfferingRatePropertyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanOfferingRateProperty"
        }
      },
      "SavingsPlanRate": {
        "type": "object",
        "properties": {
          "rate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              },
              {
                "description": "The rate."
              }
            ]
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCode"
              },
              {
                "description": "The currency."
              }
            ]
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateUnit"
              },
              {
                "description": "The unit."
              }
            ]
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanProductType"
              },
              {
                "description": "The product type."
              }
            ]
          },
          "serviceCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateServiceCode"
              },
              {
                "description": "The service."
              }
            ]
          },
          "usageType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateUsageType"
              },
              {
                "description": "The usage details of the line item in the billing report."
              }
            ]
          },
          "operation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRateOperation"
              },
              {
                "description": "The specific AWS operation for the line item in the billing report."
              }
            ]
          },
          "properties": {
            "description": "The properties."
          }
        },
        "description": "Information about a Savings Plan rate."
      },
      "SavingsPlanRateFilterName": {
        "type": "string",
        "enum": [
          "region",
          "instanceType",
          "productDescription",
          "tenancy",
          "productType",
          "serviceCode",
          "usageType",
          "operation"
        ]
      },
      "SavingsPlanRatePropertyKey": {
        "type": "string",
        "enum": [
          "region",
          "instanceType",
          "instanceFamily",
          "productDescription",
          "tenancy"
        ]
      },
      "SavingsPlanRateProperty": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanRatePropertyKey"
              },
              {
                "description": "The property name."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JsonSafeFilterValueString"
              },
              {
                "description": "The property value."
              }
            ]
          }
        },
        "description": "Information about a property."
      },
      "SavingsPlanRatePropertyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SavingsPlanRateProperty"
        }
      },
      "TagKeyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        }
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "resourceArn",
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "resourceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the resource."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }."
              }
            ]
          }
        }
      },
      "UntagResourceRequest": {
        "type": "object",
        "required": [
          "resourceArn",
          "tagKeys"
        ],
        "title": "UntagResourceRequest",
        "properties": {
          "resourceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SavingsPlanArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the resource."
              }
            ]
          },
          "tagKeys": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagKeyList"
              },
              {
                "description": "The tag keys."
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}