1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2019-06-28", 5 "endpointPrefix":"savingsplans", 6 "globalEndpoint":"savingsplans.amazonaws.com", 7 "jsonVersion":"1.0", 8 "protocol":"rest-json", 9 "serviceAbbreviation":"AWSSavingsPlans", 10 "serviceFullName":"AWS Savings Plans", 11 "serviceId":"savingsplans", 12 "signatureVersion":"v4", 13 "uid":"savingsplans-2019-06-28" 14 }, 15 "operations":{ 16 "CreateSavingsPlan":{ 17 "name":"CreateSavingsPlan", 18 "http":{ 19 "method":"POST", 20 "requestUri":"/CreateSavingsPlan" 21 }, 22 "input":{"shape":"CreateSavingsPlanRequest"}, 23 "output":{"shape":"CreateSavingsPlanResponse"}, 24 "errors":[ 25 {"shape":"ResourceNotFoundException"}, 26 {"shape":"ValidationException"}, 27 {"shape":"InternalServerException"}, 28 {"shape":"ServiceQuotaExceededException"} 29 ], 30 "documentation":"<p>Creates a Savings Plan.</p>" 31 }, 32 "DeleteQueuedSavingsPlan":{ 33 "name":"DeleteQueuedSavingsPlan", 34 "http":{ 35 "method":"POST", 36 "requestUri":"/DeleteQueuedSavingsPlan" 37 }, 38 "input":{"shape":"DeleteQueuedSavingsPlanRequest"}, 39 "output":{"shape":"DeleteQueuedSavingsPlanResponse"}, 40 "errors":[ 41 {"shape":"ValidationException"}, 42 {"shape":"ResourceNotFoundException"}, 43 {"shape":"InternalServerException"}, 44 {"shape":"ServiceQuotaExceededException"} 45 ], 46 "documentation":"<p>Deletes the queued purchase for the specified Savings Plan.</p>" 47 }, 48 "DescribeSavingsPlanRates":{ 49 "name":"DescribeSavingsPlanRates", 50 "http":{ 51 "method":"POST", 52 "requestUri":"/DescribeSavingsPlanRates" 53 }, 54 "input":{"shape":"DescribeSavingsPlanRatesRequest"}, 55 "output":{"shape":"DescribeSavingsPlanRatesResponse"}, 56 "errors":[ 57 {"shape":"ResourceNotFoundException"}, 58 {"shape":"ValidationException"} 59 ], 60 "documentation":"<p>Describes the specified Savings Plans rates.</p>" 61 }, 62 "DescribeSavingsPlans":{ 63 "name":"DescribeSavingsPlans", 64 "http":{ 65 "method":"POST", 66 "requestUri":"/DescribeSavingsPlans" 67 }, 68 "input":{"shape":"DescribeSavingsPlansRequest"}, 69 "output":{"shape":"DescribeSavingsPlansResponse"}, 70 "errors":[ 71 {"shape":"InternalServerException"}, 72 {"shape":"ValidationException"} 73 ], 74 "documentation":"<p>Describes the specified Savings Plans.</p>" 75 }, 76 "DescribeSavingsPlansOfferingRates":{ 77 "name":"DescribeSavingsPlansOfferingRates", 78 "http":{ 79 "method":"POST", 80 "requestUri":"/DescribeSavingsPlansOfferingRates" 81 }, 82 "input":{"shape":"DescribeSavingsPlansOfferingRatesRequest"}, 83 "output":{"shape":"DescribeSavingsPlansOfferingRatesResponse"}, 84 "errors":[ 85 {"shape":"ValidationException"}, 86 {"shape":"InternalServerException"} 87 ], 88 "documentation":"<p>Describes the specified Savings Plans offering rates.</p>" 89 }, 90 "DescribeSavingsPlansOfferings":{ 91 "name":"DescribeSavingsPlansOfferings", 92 "http":{ 93 "method":"POST", 94 "requestUri":"/DescribeSavingsPlansOfferings" 95 }, 96 "input":{"shape":"DescribeSavingsPlansOfferingsRequest"}, 97 "output":{"shape":"DescribeSavingsPlansOfferingsResponse"}, 98 "errors":[ 99 {"shape":"ValidationException"}, 100 {"shape":"InternalServerException"} 101 ], 102 "documentation":"<p>Describes the specified Savings Plans offerings.</p>" 103 }, 104 "ListTagsForResource":{ 105 "name":"ListTagsForResource", 106 "http":{ 107 "method":"POST", 108 "requestUri":"/ListTagsForResource" 109 }, 110 "input":{"shape":"ListTagsForResourceRequest"}, 111 "output":{"shape":"ListTagsForResourceResponse"}, 112 "errors":[ 113 {"shape":"ResourceNotFoundException"}, 114 {"shape":"ValidationException"}, 115 {"shape":"InternalServerException"} 116 ], 117 "documentation":"<p>Lists the tags for the specified resource.</p>" 118 }, 119 "TagResource":{ 120 "name":"TagResource", 121 "http":{ 122 "method":"POST", 123 "requestUri":"/TagResource" 124 }, 125 "input":{"shape":"TagResourceRequest"}, 126 "output":{"shape":"TagResourceResponse"}, 127 "errors":[ 128 {"shape":"ResourceNotFoundException"}, 129 {"shape":"ServiceQuotaExceededException"}, 130 {"shape":"ValidationException"}, 131 {"shape":"InternalServerException"} 132 ], 133 "documentation":"<p>Adds the specified tags to the specified resource.</p>" 134 }, 135 "UntagResource":{ 136 "name":"UntagResource", 137 "http":{ 138 "method":"POST", 139 "requestUri":"/UntagResource" 140 }, 141 "input":{"shape":"UntagResourceRequest"}, 142 "output":{"shape":"UntagResourceResponse"}, 143 "errors":[ 144 {"shape":"ResourceNotFoundException"}, 145 {"shape":"ValidationException"}, 146 {"shape":"InternalServerException"} 147 ], 148 "documentation":"<p>Removes the specified tags from the specified resource.</p>" 149 } 150 }, 151 "shapes":{ 152 "Amount":{"type":"string"}, 153 "ClientToken":{"type":"string"}, 154 "CreateSavingsPlanRequest":{ 155 "type":"structure", 156 "required":[ 157 "savingsPlanOfferingId", 158 "commitment" 159 ], 160 "members":{ 161 "savingsPlanOfferingId":{ 162 "shape":"SavingsPlanOfferingId", 163 "documentation":"<p>The ID of the offering.</p>" 164 }, 165 "commitment":{ 166 "shape":"Amount", 167 "documentation":"<p>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.</p>" 168 }, 169 "upfrontPaymentAmount":{ 170 "shape":"Amount", 171 "documentation":"<p>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>.</p>" 172 }, 173 "purchaseTime":{ 174 "shape":"DateTime", 175 "documentation":"<p>The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).</p>" 176 }, 177 "clientToken":{ 178 "shape":"ClientToken", 179 "documentation":"<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>", 180 "idempotencyToken":true 181 }, 182 "tags":{ 183 "shape":"TagMap", 184 "documentation":"<p>One or more tags.</p>" 185 } 186 } 187 }, 188 "CreateSavingsPlanResponse":{ 189 "type":"structure", 190 "members":{ 191 "savingsPlanId":{ 192 "shape":"SavingsPlanId", 193 "documentation":"<p>The ID of the Savings Plan.</p>" 194 } 195 } 196 }, 197 "CurrencyCode":{ 198 "type":"string", 199 "enum":[ 200 "CNY", 201 "USD" 202 ] 203 }, 204 "CurrencyList":{ 205 "type":"list", 206 "member":{"shape":"CurrencyCode"} 207 }, 208 "DateTime":{"type":"timestamp"}, 209 "DeleteQueuedSavingsPlanRequest":{ 210 "type":"structure", 211 "required":["savingsPlanId"], 212 "members":{ 213 "savingsPlanId":{ 214 "shape":"SavingsPlanId", 215 "documentation":"<p>The ID of the Savings Plan.</p>" 216 } 217 } 218 }, 219 "DeleteQueuedSavingsPlanResponse":{ 220 "type":"structure", 221 "members":{ 222 } 223 }, 224 "DescribeSavingsPlanRatesRequest":{ 225 "type":"structure", 226 "required":["savingsPlanId"], 227 "members":{ 228 "savingsPlanId":{ 229 "shape":"SavingsPlanId", 230 "documentation":"<p>The ID of the Savings Plan.</p>" 231 }, 232 "filters":{ 233 "shape":"SavingsPlanRateFilterList", 234 "documentation":"<p>The filters.</p>" 235 }, 236 "nextToken":{ 237 "shape":"PaginationToken", 238 "documentation":"<p>The token for the next page of results.</p>" 239 }, 240 "maxResults":{ 241 "shape":"MaxResults", 242 "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>" 243 } 244 } 245 }, 246 "DescribeSavingsPlanRatesResponse":{ 247 "type":"structure", 248 "members":{ 249 "savingsPlanId":{ 250 "shape":"SavingsPlanId", 251 "documentation":"<p>The ID of the Savings Plan.</p>" 252 }, 253 "searchResults":{ 254 "shape":"SavingsPlanRateList", 255 "documentation":"<p>Information about the Savings Plans rates.</p>" 256 }, 257 "nextToken":{ 258 "shape":"PaginationToken", 259 "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>" 260 } 261 } 262 }, 263 "DescribeSavingsPlansOfferingRatesRequest":{ 264 "type":"structure", 265 "members":{ 266 "savingsPlanOfferingIds":{ 267 "shape":"UUIDs", 268 "documentation":"<p>The IDs of the offerings.</p>" 269 }, 270 "savingsPlanPaymentOptions":{ 271 "shape":"SavingsPlanPaymentOptionList", 272 "documentation":"<p>The payment options.</p>" 273 }, 274 "savingsPlanTypes":{ 275 "shape":"SavingsPlanTypeList", 276 "documentation":"<p>The plan types.</p>" 277 }, 278 "products":{ 279 "shape":"SavingsPlanProductTypeList", 280 "documentation":"<p>The AWS products.</p>" 281 }, 282 "serviceCodes":{ 283 "shape":"SavingsPlanRateServiceCodeList", 284 "documentation":"<p>The services.</p>" 285 }, 286 "usageTypes":{ 287 "shape":"SavingsPlanRateUsageTypeList", 288 "documentation":"<p>The usage details of the line item in the billing report.</p>" 289 }, 290 "operations":{ 291 "shape":"SavingsPlanRateOperationList", 292 "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>" 293 }, 294 "filters":{ 295 "shape":"SavingsPlanOfferingRateFiltersList", 296 "documentation":"<p>The filters.</p>" 297 }, 298 "nextToken":{ 299 "shape":"PaginationToken", 300 "documentation":"<p>The token for the next page of results.</p>" 301 }, 302 "maxResults":{ 303 "shape":"PageSize", 304 "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>" 305 } 306 } 307 }, 308 "DescribeSavingsPlansOfferingRatesResponse":{ 309 "type":"structure", 310 "members":{ 311 "searchResults":{ 312 "shape":"SavingsPlanOfferingRatesList", 313 "documentation":"<p>Information about the Savings Plans offering rates.</p>" 314 }, 315 "nextToken":{ 316 "shape":"PaginationToken", 317 "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>" 318 } 319 } 320 }, 321 "DescribeSavingsPlansOfferingsRequest":{ 322 "type":"structure", 323 "members":{ 324 "offeringIds":{ 325 "shape":"UUIDs", 326 "documentation":"<p>The IDs of the offerings.</p>" 327 }, 328 "paymentOptions":{ 329 "shape":"SavingsPlanPaymentOptionList", 330 "documentation":"<p>The payment options.</p>" 331 }, 332 "productType":{ 333 "shape":"SavingsPlanProductType", 334 "documentation":"<p>The product type.</p>" 335 }, 336 "planTypes":{ 337 "shape":"SavingsPlanTypeList", 338 "documentation":"<p>The plan type.</p>" 339 }, 340 "durations":{ 341 "shape":"DurationsList", 342 "documentation":"<p>The durations, in seconds.</p>" 343 }, 344 "currencies":{ 345 "shape":"CurrencyList", 346 "documentation":"<p>The currencies.</p>" 347 }, 348 "descriptions":{ 349 "shape":"SavingsPlanDescriptionsList", 350 "documentation":"<p>The descriptions.</p>" 351 }, 352 "serviceCodes":{ 353 "shape":"SavingsPlanServiceCodeList", 354 "documentation":"<p>The services.</p>" 355 }, 356 "usageTypes":{ 357 "shape":"SavingsPlanUsageTypeList", 358 "documentation":"<p>The usage details of the line item in the billing report.</p>" 359 }, 360 "operations":{ 361 "shape":"SavingsPlanOperationList", 362 "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>" 363 }, 364 "filters":{ 365 "shape":"SavingsPlanOfferingFiltersList", 366 "documentation":"<p>The filters.</p>" 367 }, 368 "nextToken":{ 369 "shape":"PaginationToken", 370 "documentation":"<p>The token for the next page of results.</p>" 371 }, 372 "maxResults":{ 373 "shape":"PageSize", 374 "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>" 375 } 376 } 377 }, 378 "DescribeSavingsPlansOfferingsResponse":{ 379 "type":"structure", 380 "members":{ 381 "searchResults":{ 382 "shape":"SavingsPlanOfferingsList", 383 "documentation":"<p>Information about the Savings Plans offerings.</p>" 384 }, 385 "nextToken":{ 386 "shape":"PaginationToken", 387 "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>" 388 } 389 } 390 }, 391 "DescribeSavingsPlansRequest":{ 392 "type":"structure", 393 "members":{ 394 "savingsPlanArns":{ 395 "shape":"SavingsPlanArnList", 396 "documentation":"<p>The Amazon Resource Names (ARN) of the Savings Plans.</p>" 397 }, 398 "savingsPlanIds":{ 399 "shape":"SavingsPlanIdList", 400 "documentation":"<p>The IDs of the Savings Plans.</p>" 401 }, 402 "nextToken":{ 403 "shape":"PaginationToken", 404 "documentation":"<p>The token for the next page of results.</p>" 405 }, 406 "maxResults":{ 407 "shape":"MaxResults", 408 "documentation":"<p>The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.</p>" 409 }, 410 "states":{ 411 "shape":"SavingsPlanStateList", 412 "documentation":"<p>The states.</p>" 413 }, 414 "filters":{ 415 "shape":"SavingsPlanFilterList", 416 "documentation":"<p>The filters.</p>" 417 } 418 } 419 }, 420 "DescribeSavingsPlansResponse":{ 421 "type":"structure", 422 "members":{ 423 "savingsPlans":{ 424 "shape":"SavingsPlanList", 425 "documentation":"<p>Information about the Savings Plans.</p>" 426 }, 427 "nextToken":{ 428 "shape":"PaginationToken", 429 "documentation":"<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>" 430 } 431 } 432 }, 433 "DurationsList":{ 434 "type":"list", 435 "member":{"shape":"SavingsPlansDuration"} 436 }, 437 "EC2InstanceFamily":{"type":"string"}, 438 "FilterValuesList":{ 439 "type":"list", 440 "member":{"shape":"JsonSafeFilterValueString"} 441 }, 442 "InternalServerException":{ 443 "type":"structure", 444 "required":["message"], 445 "members":{ 446 "message":{"shape":"String"} 447 }, 448 "documentation":"<p>An unexpected error occurred.</p>", 449 "error":{"httpStatusCode":500}, 450 "exception":true 451 }, 452 "JsonSafeFilterValueString":{ 453 "type":"string", 454 "pattern":"^[a-zA-Z0-9_ \\/.\\:\\-\\(\\)]+$" 455 }, 456 "ListOfStrings":{ 457 "type":"list", 458 "member":{"shape":"String"} 459 }, 460 "ListTagsForResourceRequest":{ 461 "type":"structure", 462 "required":["resourceArn"], 463 "members":{ 464 "resourceArn":{ 465 "shape":"SavingsPlanArn", 466 "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>" 467 } 468 } 469 }, 470 "ListTagsForResourceResponse":{ 471 "type":"structure", 472 "members":{ 473 "tags":{ 474 "shape":"TagMap", 475 "documentation":"<p>Information about the tags.</p>" 476 } 477 } 478 }, 479 "MaxResults":{ 480 "type":"integer", 481 "max":1000, 482 "min":1 483 }, 484 "PageSize":{ 485 "type":"integer", 486 "max":1000, 487 "min":0 488 }, 489 "PaginationToken":{ 490 "type":"string", 491 "max":1024, 492 "pattern":"^[A-Za-z0-9/=\\+]+$" 493 }, 494 "ParentSavingsPlanOffering":{ 495 "type":"structure", 496 "members":{ 497 "offeringId":{ 498 "shape":"UUID", 499 "documentation":"<p>The ID of the offering.</p>" 500 }, 501 "paymentOption":{ 502 "shape":"SavingsPlanPaymentOption", 503 "documentation":"<p>The payment option.</p>" 504 }, 505 "planType":{ 506 "shape":"SavingsPlanType", 507 "documentation":"<p>The plan type.</p>" 508 }, 509 "durationSeconds":{ 510 "shape":"SavingsPlansDuration", 511 "documentation":"<p>The duration, in seconds.</p>" 512 }, 513 "currency":{ 514 "shape":"CurrencyCode", 515 "documentation":"<p>The currency.</p>" 516 }, 517 "planDescription":{ 518 "shape":"SavingsPlanDescription", 519 "documentation":"<p>The description.</p>" 520 } 521 }, 522 "documentation":"<p>Information about a Savings Plan offering.</p>" 523 }, 524 "Region":{"type":"string"}, 525 "ResourceNotFoundException":{ 526 "type":"structure", 527 "required":["message"], 528 "members":{ 529 "message":{"shape":"String"} 530 }, 531 "documentation":"<p>The specified resource was not found.</p>", 532 "error":{"httpStatusCode":404}, 533 "exception":true 534 }, 535 "SavingsPlan":{ 536 "type":"structure", 537 "members":{ 538 "offeringId":{ 539 "shape":"SavingsPlanOfferingId", 540 "documentation":"<p>The ID of the offering.</p>" 541 }, 542 "savingsPlanId":{ 543 "shape":"SavingsPlanId", 544 "documentation":"<p>The ID of the Savings Plan.</p>" 545 }, 546 "savingsPlanArn":{ 547 "shape":"SavingsPlanArn", 548 "documentation":"<p>The Amazon Resource Name (ARN) of the Savings Plan.</p>" 549 }, 550 "description":{ 551 "shape":"String", 552 "documentation":"<p>The description.</p>" 553 }, 554 "start":{ 555 "shape":"String", 556 "documentation":"<p>The start time.</p>" 557 }, 558 "end":{ 559 "shape":"String", 560 "documentation":"<p>The end time.</p>" 561 }, 562 "state":{ 563 "shape":"SavingsPlanState", 564 "documentation":"<p>The state.</p>" 565 }, 566 "region":{ 567 "shape":"Region", 568 "documentation":"<p>The AWS Region.</p>" 569 }, 570 "ec2InstanceFamily":{ 571 "shape":"EC2InstanceFamily", 572 "documentation":"<p>The EC2 instance family.</p>" 573 }, 574 "savingsPlanType":{ 575 "shape":"SavingsPlanType", 576 "documentation":"<p>The plan type.</p>" 577 }, 578 "paymentOption":{ 579 "shape":"SavingsPlanPaymentOption", 580 "documentation":"<p>The payment option.</p>" 581 }, 582 "productTypes":{ 583 "shape":"SavingsPlanProductTypeList", 584 "documentation":"<p>The product types.</p>" 585 }, 586 "currency":{ 587 "shape":"CurrencyCode", 588 "documentation":"<p>The currency.</p>" 589 }, 590 "commitment":{ 591 "shape":"Amount", 592 "documentation":"<p>The hourly commitment, in USD.</p>" 593 }, 594 "upfrontPaymentAmount":{ 595 "shape":"Amount", 596 "documentation":"<p>The up-front payment amount.</p>" 597 }, 598 "recurringPaymentAmount":{ 599 "shape":"Amount", 600 "documentation":"<p>The recurring payment amount.</p>" 601 }, 602 "termDurationInSeconds":{ 603 "shape":"TermDurationInSeconds", 604 "documentation":"<p>The duration of the term, in seconds.</p>" 605 }, 606 "tags":{ 607 "shape":"TagMap", 608 "documentation":"<p>One or more tags.</p>" 609 } 610 }, 611 "documentation":"<p>Information about a Savings Plan.</p>" 612 }, 613 "SavingsPlanArn":{ 614 "type":"string", 615 "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})$" 616 }, 617 "SavingsPlanArnList":{ 618 "type":"list", 619 "member":{"shape":"SavingsPlanArn"}, 620 "max":100 621 }, 622 "SavingsPlanDescription":{ 623 "type":"string", 624 "pattern":"^[a-zA-Z0-9_\\- ]+$" 625 }, 626 "SavingsPlanDescriptionsList":{ 627 "type":"list", 628 "member":{"shape":"SavingsPlanDescription"} 629 }, 630 "SavingsPlanFilter":{ 631 "type":"structure", 632 "members":{ 633 "name":{ 634 "shape":"SavingsPlansFilterName", 635 "documentation":"<p>The filter name.</p>" 636 }, 637 "values":{ 638 "shape":"ListOfStrings", 639 "documentation":"<p>The filter value.</p>" 640 } 641 }, 642 "documentation":"<p>Information about a filter.</p>" 643 }, 644 "SavingsPlanFilterList":{ 645 "type":"list", 646 "member":{"shape":"SavingsPlanFilter"} 647 }, 648 "SavingsPlanId":{"type":"string"}, 649 "SavingsPlanIdList":{ 650 "type":"list", 651 "member":{"shape":"SavingsPlanId"} 652 }, 653 "SavingsPlanList":{ 654 "type":"list", 655 "member":{"shape":"SavingsPlan"} 656 }, 657 "SavingsPlanOffering":{ 658 "type":"structure", 659 "members":{ 660 "offeringId":{ 661 "shape":"UUID", 662 "documentation":"<p>The ID of the offering.</p>" 663 }, 664 "productTypes":{ 665 "shape":"SavingsPlanProductTypeList", 666 "documentation":"<p>The product type.</p>" 667 }, 668 "planType":{ 669 "shape":"SavingsPlanType", 670 "documentation":"<p>The plan type.</p>" 671 }, 672 "description":{ 673 "shape":"SavingsPlanDescription", 674 "documentation":"<p>The description.</p>" 675 }, 676 "paymentOption":{ 677 "shape":"SavingsPlanPaymentOption", 678 "documentation":"<p>The payment option.</p>" 679 }, 680 "durationSeconds":{ 681 "shape":"SavingsPlansDuration", 682 "documentation":"<p>The duration, in seconds.</p>" 683 }, 684 "currency":{ 685 "shape":"CurrencyCode", 686 "documentation":"<p>The currency.</p>" 687 }, 688 "serviceCode":{ 689 "shape":"SavingsPlanServiceCode", 690 "documentation":"<p>The service.</p>" 691 }, 692 "usageType":{ 693 "shape":"SavingsPlanUsageType", 694 "documentation":"<p>The usage details of the line item in the billing report.</p>" 695 }, 696 "operation":{ 697 "shape":"SavingsPlanOperation", 698 "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>" 699 }, 700 "properties":{ 701 "shape":"SavingsPlanOfferingPropertyList", 702 "documentation":"<p>The properties.</p>" 703 } 704 }, 705 "documentation":"<p>Information about a Savings Plan offering.</p>" 706 }, 707 "SavingsPlanOfferingFilterAttribute":{ 708 "type":"string", 709 "enum":[ 710 "region", 711 "instanceFamily" 712 ] 713 }, 714 "SavingsPlanOfferingFilterElement":{ 715 "type":"structure", 716 "members":{ 717 "name":{ 718 "shape":"SavingsPlanOfferingFilterAttribute", 719 "documentation":"<p>The filter name.</p>" 720 }, 721 "values":{ 722 "shape":"FilterValuesList", 723 "documentation":"<p>The filter values.</p>" 724 } 725 }, 726 "documentation":"<p>Information about a filter.</p>" 727 }, 728 "SavingsPlanOfferingFiltersList":{ 729 "type":"list", 730 "member":{"shape":"SavingsPlanOfferingFilterElement"} 731 }, 732 "SavingsPlanOfferingId":{"type":"string"}, 733 "SavingsPlanOfferingProperty":{ 734 "type":"structure", 735 "members":{ 736 "name":{ 737 "shape":"SavingsPlanOfferingPropertyKey", 738 "documentation":"<p>The property name.</p>" 739 }, 740 "value":{ 741 "shape":"JsonSafeFilterValueString", 742 "documentation":"<p>The property value.</p>" 743 } 744 }, 745 "documentation":"<p>Information about a property.</p>" 746 }, 747 "SavingsPlanOfferingPropertyKey":{ 748 "type":"string", 749 "enum":[ 750 "region", 751 "instanceFamily" 752 ] 753 }, 754 "SavingsPlanOfferingPropertyList":{ 755 "type":"list", 756 "member":{"shape":"SavingsPlanOfferingProperty"} 757 }, 758 "SavingsPlanOfferingRate":{ 759 "type":"structure", 760 "members":{ 761 "savingsPlanOffering":{ 762 "shape":"ParentSavingsPlanOffering", 763 "documentation":"<p>The Savings Plan offering.</p>" 764 }, 765 "rate":{ 766 "shape":"SavingsPlanRatePricePerUnit", 767 "documentation":"<p>The Savings Plan rate.</p>" 768 }, 769 "unit":{ 770 "shape":"SavingsPlanRateUnit", 771 "documentation":"<p>The unit.</p>" 772 }, 773 "productType":{ 774 "shape":"SavingsPlanProductType", 775 "documentation":"<p>The product type.</p>" 776 }, 777 "serviceCode":{ 778 "shape":"SavingsPlanRateServiceCode", 779 "documentation":"<p>The service.</p>" 780 }, 781 "usageType":{ 782 "shape":"SavingsPlanRateUsageType", 783 "documentation":"<p>The usage details of the line item in the billing report.</p>" 784 }, 785 "operation":{ 786 "shape":"SavingsPlanRateOperation", 787 "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>" 788 }, 789 "properties":{ 790 "shape":"SavingsPlanOfferingRatePropertyList", 791 "documentation":"<p>The properties.</p>" 792 } 793 }, 794 "documentation":"<p>Information about a Savings Plan offering rate.</p>" 795 }, 796 "SavingsPlanOfferingRateFilterElement":{ 797 "type":"structure", 798 "members":{ 799 "name":{ 800 "shape":"SavingsPlanRateFilterAttribute", 801 "documentation":"<p>The filter name.</p>" 802 }, 803 "values":{ 804 "shape":"FilterValuesList", 805 "documentation":"<p>The filter values.</p>" 806 } 807 }, 808 "documentation":"<p>Information about a filter.</p>" 809 }, 810 "SavingsPlanOfferingRateFiltersList":{ 811 "type":"list", 812 "member":{"shape":"SavingsPlanOfferingRateFilterElement"} 813 }, 814 "SavingsPlanOfferingRateProperty":{ 815 "type":"structure", 816 "members":{ 817 "name":{ 818 "shape":"JsonSafeFilterValueString", 819 "documentation":"<p>The property name.</p>" 820 }, 821 "value":{ 822 "shape":"JsonSafeFilterValueString", 823 "documentation":"<p>The property value.</p>" 824 } 825 }, 826 "documentation":"<p>Information about a property.</p>" 827 }, 828 "SavingsPlanOfferingRatePropertyList":{ 829 "type":"list", 830 "member":{"shape":"SavingsPlanOfferingRateProperty"} 831 }, 832 "SavingsPlanOfferingRatesList":{ 833 "type":"list", 834 "member":{"shape":"SavingsPlanOfferingRate"} 835 }, 836 "SavingsPlanOfferingsList":{ 837 "type":"list", 838 "member":{"shape":"SavingsPlanOffering"} 839 }, 840 "SavingsPlanOperation":{ 841 "type":"string", 842 "max":255, 843 "pattern":"^[a-zA-Z0-9_ \\/.:-]*$" 844 }, 845 "SavingsPlanOperationList":{ 846 "type":"list", 847 "member":{"shape":"SavingsPlanOperation"} 848 }, 849 "SavingsPlanPaymentOption":{ 850 "type":"string", 851 "enum":[ 852 "All Upfront", 853 "Partial Upfront", 854 "No Upfront" 855 ] 856 }, 857 "SavingsPlanPaymentOptionList":{ 858 "type":"list", 859 "member":{"shape":"SavingsPlanPaymentOption"} 860 }, 861 "SavingsPlanProductType":{ 862 "type":"string", 863 "enum":[ 864 "EC2", 865 "Fargate", 866 "Lambda", 867 "SageMaker" 868 ] 869 }, 870 "SavingsPlanProductTypeList":{ 871 "type":"list", 872 "member":{"shape":"SavingsPlanProductType"} 873 }, 874 "SavingsPlanRate":{ 875 "type":"structure", 876 "members":{ 877 "rate":{ 878 "shape":"Amount", 879 "documentation":"<p>The rate.</p>" 880 }, 881 "currency":{ 882 "shape":"CurrencyCode", 883 "documentation":"<p>The currency.</p>" 884 }, 885 "unit":{ 886 "shape":"SavingsPlanRateUnit", 887 "documentation":"<p>The unit.</p>" 888 }, 889 "productType":{ 890 "shape":"SavingsPlanProductType", 891 "documentation":"<p>The product type.</p>" 892 }, 893 "serviceCode":{ 894 "shape":"SavingsPlanRateServiceCode", 895 "documentation":"<p>The service.</p>" 896 }, 897 "usageType":{ 898 "shape":"SavingsPlanRateUsageType", 899 "documentation":"<p>The usage details of the line item in the billing report.</p>" 900 }, 901 "operation":{ 902 "shape":"SavingsPlanRateOperation", 903 "documentation":"<p>The specific AWS operation for the line item in the billing report.</p>" 904 }, 905 "properties":{ 906 "shape":"SavingsPlanRatePropertyList", 907 "documentation":"<p>The properties.</p>" 908 } 909 }, 910 "documentation":"<p>Information about a Savings Plan rate.</p>" 911 }, 912 "SavingsPlanRateFilter":{ 913 "type":"structure", 914 "members":{ 915 "name":{ 916 "shape":"SavingsPlanRateFilterName", 917 "documentation":"<p>The filter name.</p>" 918 }, 919 "values":{ 920 "shape":"ListOfStrings", 921 "documentation":"<p>The filter values.</p>" 922 } 923 }, 924 "documentation":"<p>Information about a filter.</p>" 925 }, 926 "SavingsPlanRateFilterAttribute":{ 927 "type":"string", 928 "enum":[ 929 "region", 930 "instanceFamily", 931 "instanceType", 932 "productDescription", 933 "tenancy", 934 "productId" 935 ] 936 }, 937 "SavingsPlanRateFilterList":{ 938 "type":"list", 939 "member":{"shape":"SavingsPlanRateFilter"} 940 }, 941 "SavingsPlanRateFilterName":{ 942 "type":"string", 943 "enum":[ 944 "region", 945 "instanceType", 946 "productDescription", 947 "tenancy", 948 "productType", 949 "serviceCode", 950 "usageType", 951 "operation" 952 ] 953 }, 954 "SavingsPlanRateList":{ 955 "type":"list", 956 "member":{"shape":"SavingsPlanRate"} 957 }, 958 "SavingsPlanRateOperation":{ 959 "type":"string", 960 "max":255, 961 "pattern":"^[a-zA-Z0-9_ \\/.:-]*$" 962 }, 963 "SavingsPlanRateOperationList":{ 964 "type":"list", 965 "member":{"shape":"SavingsPlanRateOperation"} 966 }, 967 "SavingsPlanRatePricePerUnit":{"type":"string"}, 968 "SavingsPlanRateProperty":{ 969 "type":"structure", 970 "members":{ 971 "name":{ 972 "shape":"SavingsPlanRatePropertyKey", 973 "documentation":"<p>The property name.</p>" 974 }, 975 "value":{ 976 "shape":"JsonSafeFilterValueString", 977 "documentation":"<p>The property value.</p>" 978 } 979 }, 980 "documentation":"<p>Information about a property.</p>" 981 }, 982 "SavingsPlanRatePropertyKey":{ 983 "type":"string", 984 "enum":[ 985 "region", 986 "instanceType", 987 "instanceFamily", 988 "productDescription", 989 "tenancy" 990 ] 991 }, 992 "SavingsPlanRatePropertyList":{ 993 "type":"list", 994 "member":{"shape":"SavingsPlanRateProperty"} 995 }, 996 "SavingsPlanRateServiceCode":{ 997 "type":"string", 998 "enum":[ 999 "AmazonEC2", 1000 "AmazonECS", 1001 "AmazonEKS", 1002 "AWSLambda", 1003 "AmazonSageMaker" 1004 ] 1005 }, 1006 "SavingsPlanRateServiceCodeList":{ 1007 "type":"list", 1008 "member":{"shape":"SavingsPlanRateServiceCode"} 1009 }, 1010 "SavingsPlanRateUnit":{ 1011 "type":"string", 1012 "enum":[ 1013 "Hrs", 1014 "Lambda-GB-Second", 1015 "Request" 1016 ] 1017 }, 1018 "SavingsPlanRateUsageType":{ 1019 "type":"string", 1020 "max":255, 1021 "pattern":"^[a-zA-Z0-9_ \\/.:-]+$" 1022 }, 1023 "SavingsPlanRateUsageTypeList":{ 1024 "type":"list", 1025 "member":{"shape":"SavingsPlanRateUsageType"} 1026 }, 1027 "SavingsPlanServiceCode":{ 1028 "type":"string", 1029 "max":255, 1030 "pattern":"^[a-zA-Z]+$" 1031 }, 1032 "SavingsPlanServiceCodeList":{ 1033 "type":"list", 1034 "member":{"shape":"SavingsPlanServiceCode"} 1035 }, 1036 "SavingsPlanState":{ 1037 "type":"string", 1038 "enum":[ 1039 "payment-pending", 1040 "payment-failed", 1041 "active", 1042 "retired", 1043 "queued", 1044 "queued-deleted" 1045 ] 1046 }, 1047 "SavingsPlanStateList":{ 1048 "type":"list", 1049 "member":{"shape":"SavingsPlanState"} 1050 }, 1051 "SavingsPlanType":{ 1052 "type":"string", 1053 "enum":[ 1054 "Compute", 1055 "EC2Instance", 1056 "SageMaker" 1057 ] 1058 }, 1059 "SavingsPlanTypeList":{ 1060 "type":"list", 1061 "member":{"shape":"SavingsPlanType"} 1062 }, 1063 "SavingsPlanUsageType":{ 1064 "type":"string", 1065 "max":255, 1066 "pattern":"^[a-zA-Z0-9_ \\/.:-]+$" 1067 }, 1068 "SavingsPlanUsageTypeList":{ 1069 "type":"list", 1070 "member":{"shape":"SavingsPlanUsageType"} 1071 }, 1072 "SavingsPlansDuration":{ 1073 "type":"long", 1074 "min":0 1075 }, 1076 "SavingsPlansFilterName":{ 1077 "type":"string", 1078 "enum":[ 1079 "region", 1080 "ec2-instance-family", 1081 "commitment", 1082 "upfront", 1083 "term", 1084 "savings-plan-type", 1085 "payment-option", 1086 "start", 1087 "end" 1088 ] 1089 }, 1090 "ServiceQuotaExceededException":{ 1091 "type":"structure", 1092 "required":["message"], 1093 "members":{ 1094 "message":{"shape":"String"} 1095 }, 1096 "documentation":"<p>A service quota has been exceeded.</p>", 1097 "error":{"httpStatusCode":402}, 1098 "exception":true 1099 }, 1100 "String":{"type":"string"}, 1101 "TagKey":{"type":"string"}, 1102 "TagKeyList":{ 1103 "type":"list", 1104 "member":{"shape":"TagKey"} 1105 }, 1106 "TagMap":{ 1107 "type":"map", 1108 "key":{"shape":"TagKey"}, 1109 "value":{"shape":"TagValue"} 1110 }, 1111 "TagResourceRequest":{ 1112 "type":"structure", 1113 "required":[ 1114 "resourceArn", 1115 "tags" 1116 ], 1117 "members":{ 1118 "resourceArn":{ 1119 "shape":"SavingsPlanArn", 1120 "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>" 1121 }, 1122 "tags":{ 1123 "shape":"TagMap", 1124 "documentation":"<p>One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.</p>" 1125 } 1126 } 1127 }, 1128 "TagResourceResponse":{ 1129 "type":"structure", 1130 "members":{ 1131 } 1132 }, 1133 "TagValue":{"type":"string"}, 1134 "TermDurationInSeconds":{"type":"long"}, 1135 "UUID":{ 1136 "type":"string", 1137 "pattern":"[a-f0-9]+(-[a-f0-9]+)*" 1138 }, 1139 "UUIDs":{ 1140 "type":"list", 1141 "member":{"shape":"UUID"} 1142 }, 1143 "UntagResourceRequest":{ 1144 "type":"structure", 1145 "required":[ 1146 "resourceArn", 1147 "tagKeys" 1148 ], 1149 "members":{ 1150 "resourceArn":{ 1151 "shape":"SavingsPlanArn", 1152 "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>" 1153 }, 1154 "tagKeys":{ 1155 "shape":"TagKeyList", 1156 "documentation":"<p>The tag keys.</p>" 1157 } 1158 } 1159 }, 1160 "UntagResourceResponse":{ 1161 "type":"structure", 1162 "members":{ 1163 } 1164 }, 1165 "ValidationException":{ 1166 "type":"structure", 1167 "required":["message"], 1168 "members":{ 1169 "message":{"shape":"String"} 1170 }, 1171 "documentation":"<p>One of the input parameters is not valid.</p>", 1172 "error":{"httpStatusCode":400}, 1173 "exception":true 1174 } 1175 }, 1176 "documentation":"<p>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>.</p>" 1177} 1178