diff --git a/clients/client-savingsplans/src/commands/DescribeSavingsPlanRatesCommand.ts b/clients/client-savingsplans/src/commands/DescribeSavingsPlanRatesCommand.ts index 7145e1da0ca2b..ddd08d908bb80 100644 --- a/clients/client-savingsplans/src/commands/DescribeSavingsPlanRatesCommand.ts +++ b/clients/client-savingsplans/src/commands/DescribeSavingsPlanRatesCommand.ts @@ -47,7 +47,7 @@ export interface DescribeSavingsPlanRatesCommandOutput extends DescribeSavingsPl * savingsPlanId: "STRING_VALUE", // required * filters: [ // SavingsPlanRateFilterList * { // SavingsPlanRateFilter - * name: "STRING_VALUE", + * name: "region" || "instanceType" || "productDescription" || "tenancy" || "productType" || "serviceCode" || "usageType" || "operation", * values: [ // ListOfStrings * "STRING_VALUE", * ], @@ -63,15 +63,15 @@ export interface DescribeSavingsPlanRatesCommandOutput extends DescribeSavingsPl * // searchResults: [ // SavingsPlanRateList * // { // SavingsPlanRate * // rate: "STRING_VALUE", - * // currency: "STRING_VALUE", - * // unit: "STRING_VALUE", - * // productType: "STRING_VALUE", - * // serviceCode: "STRING_VALUE", + * // currency: "CNY" || "USD", + * // unit: "Hrs" || "Lambda-GB-Second" || "Request", + * // productType: "EC2" || "Fargate" || "Lambda" || "SageMaker", + * // serviceCode: "AmazonEC2" || "AmazonECS" || "AmazonEKS" || "AWSLambda" || "AmazonSageMaker", * // usageType: "STRING_VALUE", * // operation: "STRING_VALUE", * // properties: [ // SavingsPlanRatePropertyList * // { // SavingsPlanRateProperty - * // name: "STRING_VALUE", + * // name: "region" || "instanceType" || "instanceFamily" || "productDescription" || "tenancy", * // value: "STRING_VALUE", * // }, * // ], diff --git a/clients/client-savingsplans/src/commands/DescribeSavingsPlansCommand.ts b/clients/client-savingsplans/src/commands/DescribeSavingsPlansCommand.ts index 89634e2e89d32..fccfd0d7010c0 100644 --- a/clients/client-savingsplans/src/commands/DescribeSavingsPlansCommand.ts +++ b/clients/client-savingsplans/src/commands/DescribeSavingsPlansCommand.ts @@ -53,11 +53,11 @@ export interface DescribeSavingsPlansCommandOutput extends DescribeSavingsPlansR * nextToken: "STRING_VALUE", * maxResults: Number("int"), * states: [ // SavingsPlanStateList - * "STRING_VALUE", + * "payment-pending" || "payment-failed" || "active" || "retired" || "queued" || "queued-deleted", * ], * filters: [ // SavingsPlanFilterList * { // SavingsPlanFilter - * name: "STRING_VALUE", + * name: "region" || "ec2-instance-family" || "commitment" || "upfront" || "term" || "savings-plan-type" || "payment-option" || "start" || "end", * values: [ // ListOfStrings * "STRING_VALUE", * ], @@ -75,15 +75,15 @@ export interface DescribeSavingsPlansCommandOutput extends DescribeSavingsPlansR * // description: "STRING_VALUE", * // start: "STRING_VALUE", * // end: "STRING_VALUE", - * // state: "STRING_VALUE", + * // state: "payment-pending" || "payment-failed" || "active" || "retired" || "queued" || "queued-deleted", * // region: "STRING_VALUE", * // ec2InstanceFamily: "STRING_VALUE", - * // savingsPlanType: "STRING_VALUE", - * // paymentOption: "STRING_VALUE", + * // savingsPlanType: "Compute" || "EC2Instance" || "SageMaker", + * // paymentOption: "All Upfront" || "Partial Upfront" || "No Upfront", * // productTypes: [ // SavingsPlanProductTypeList - * // "STRING_VALUE", + * // "EC2" || "Fargate" || "Lambda" || "SageMaker", * // ], - * // currency: "STRING_VALUE", + * // currency: "CNY" || "USD", * // commitment: "STRING_VALUE", * // upfrontPaymentAmount: "STRING_VALUE", * // recurringPaymentAmount: "STRING_VALUE", diff --git a/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingRatesCommand.ts b/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingRatesCommand.ts index 2c6d31823efff..682fe040b40a6 100644 --- a/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingRatesCommand.ts +++ b/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingRatesCommand.ts @@ -56,16 +56,16 @@ export interface DescribeSavingsPlansOfferingRatesCommandOutput * "STRING_VALUE", * ], * savingsPlanPaymentOptions: [ // SavingsPlanPaymentOptionList - * "STRING_VALUE", + * "All Upfront" || "Partial Upfront" || "No Upfront", * ], * savingsPlanTypes: [ // SavingsPlanTypeList - * "STRING_VALUE", + * "Compute" || "EC2Instance" || "SageMaker", * ], * products: [ // SavingsPlanProductTypeList - * "STRING_VALUE", + * "EC2" || "Fargate" || "Lambda" || "SageMaker", * ], * serviceCodes: [ // SavingsPlanRateServiceCodeList - * "STRING_VALUE", + * "AmazonEC2" || "AmazonECS" || "AmazonEKS" || "AWSLambda" || "AmazonSageMaker", * ], * usageTypes: [ // SavingsPlanRateUsageTypeList * "STRING_VALUE", @@ -75,7 +75,7 @@ export interface DescribeSavingsPlansOfferingRatesCommandOutput * ], * filters: [ // SavingsPlanOfferingRateFiltersList * { // SavingsPlanOfferingRateFilterElement - * name: "STRING_VALUE", + * name: "region" || "instanceFamily" || "instanceType" || "productDescription" || "tenancy" || "productId", * values: [ // FilterValuesList * "STRING_VALUE", * ], @@ -91,16 +91,16 @@ export interface DescribeSavingsPlansOfferingRatesCommandOutput * // { // SavingsPlanOfferingRate * // savingsPlanOffering: { // ParentSavingsPlanOffering * // offeringId: "STRING_VALUE", - * // paymentOption: "STRING_VALUE", - * // planType: "STRING_VALUE", + * // paymentOption: "All Upfront" || "Partial Upfront" || "No Upfront", + * // planType: "Compute" || "EC2Instance" || "SageMaker", * // durationSeconds: Number("long"), - * // currency: "STRING_VALUE", + * // currency: "CNY" || "USD", * // planDescription: "STRING_VALUE", * // }, * // rate: "STRING_VALUE", - * // unit: "STRING_VALUE", - * // productType: "STRING_VALUE", - * // serviceCode: "STRING_VALUE", + * // unit: "Hrs" || "Lambda-GB-Second" || "Request", + * // productType: "EC2" || "Fargate" || "Lambda" || "SageMaker", + * // serviceCode: "AmazonEC2" || "AmazonECS" || "AmazonEKS" || "AWSLambda" || "AmazonSageMaker", * // usageType: "STRING_VALUE", * // operation: "STRING_VALUE", * // properties: [ // SavingsPlanOfferingRatePropertyList diff --git a/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingsCommand.ts b/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingsCommand.ts index b7b9390c3b928..e1c0de29908fd 100644 --- a/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingsCommand.ts +++ b/clients/client-savingsplans/src/commands/DescribeSavingsPlansOfferingsCommand.ts @@ -53,17 +53,17 @@ export interface DescribeSavingsPlansOfferingsCommandOutput * "STRING_VALUE", * ], * paymentOptions: [ // SavingsPlanPaymentOptionList - * "STRING_VALUE", + * "All Upfront" || "Partial Upfront" || "No Upfront", * ], - * productType: "STRING_VALUE", + * productType: "EC2" || "Fargate" || "Lambda" || "SageMaker", * planTypes: [ // SavingsPlanTypeList - * "STRING_VALUE", + * "Compute" || "EC2Instance" || "SageMaker", * ], * durations: [ // DurationsList * Number("long"), * ], * currencies: [ // CurrencyList - * "STRING_VALUE", + * "CNY" || "USD", * ], * descriptions: [ // SavingsPlanDescriptionsList * "STRING_VALUE", @@ -79,7 +79,7 @@ export interface DescribeSavingsPlansOfferingsCommandOutput * ], * filters: [ // SavingsPlanOfferingFiltersList * { // SavingsPlanOfferingFilterElement - * name: "STRING_VALUE", + * name: "region" || "instanceFamily", * values: [ // FilterValuesList * "STRING_VALUE", * ], @@ -95,19 +95,19 @@ export interface DescribeSavingsPlansOfferingsCommandOutput * // { // SavingsPlanOffering * // offeringId: "STRING_VALUE", * // productTypes: [ // SavingsPlanProductTypeList - * // "STRING_VALUE", + * // "EC2" || "Fargate" || "Lambda" || "SageMaker", * // ], - * // planType: "STRING_VALUE", + * // planType: "Compute" || "EC2Instance" || "SageMaker", * // description: "STRING_VALUE", - * // paymentOption: "STRING_VALUE", + * // paymentOption: "All Upfront" || "Partial Upfront" || "No Upfront", * // durationSeconds: Number("long"), - * // currency: "STRING_VALUE", + * // currency: "CNY" || "USD", * // serviceCode: "STRING_VALUE", * // usageType: "STRING_VALUE", * // operation: "STRING_VALUE", * // properties: [ // SavingsPlanOfferingPropertyList * // { // SavingsPlanOfferingProperty - * // name: "STRING_VALUE", + * // name: "region" || "instanceFamily", * // value: "STRING_VALUE", * // }, * // ], diff --git a/clients/client-savingsplans/src/endpoint/ruleset.ts b/clients/client-savingsplans/src/endpoint/ruleset.ts index 4ebcda7b5929b..daf20b1f05f6f 100644 --- a/clients/client-savingsplans/src/endpoint/ruleset.ts +++ b/clients/client-savingsplans/src/endpoint/ruleset.ts @@ -6,34 +6,31 @@ import { RuleSetObject } from "@smithy/types"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/savingsplans.json */ -const y="required", -z="type", -A="fn", -B="argv", -C="ref"; -const a="PartitionResult", -b="tree", -c="error", -d="endpoint", -e="stringEquals", -f="getAttr", -g={[y]:false,[z]:"String"}, -h={[y]:true,"default":false,[z]:"Boolean"}, -i={[C]:"Region"}, -j={[C]:"Endpoint"}, -k={}, -l={[C]:a}, -m={"authSchemes":[{"name":"sigv4","signingName":"savingsplans","signingRegion":"us-east-1"}]}, -n={[c]:"FIPS and DualStack are enabled, but this partition does not support one or both",[z]:c}, -o={[c]:"FIPS is enabled but this partition does not support FIPS",[z]:c}, -p={[c]:"DualStack is enabled but this partition does not support DualStack",[z]:c}, -q={"url":"https://savingsplans.amazonaws.com","properties":m,"headers":{}}, -r=[j], -s=[{[A]:"booleanEquals",[B]:[{[C]:"UseFIPS"},true]}], -t=[{[A]:"booleanEquals",[B]:[{[C]:"UseDualStack"},true]}], -u=[{[A]:"booleanEquals",[B]:[{[C]:"UseFIPS"},true]},{[A]:"booleanEquals",[B]:[{[C]:"UseDualStack"},true]}], -v=[{[A]:"booleanEquals",[B]:[true,{[A]:f,[B]:[l,"supportsFIPS"]}]},{[A]:"booleanEquals",[B]:[true,{[A]:f,[B]:[l,"supportsDualStack"]}]}], -w=[{[A]:"booleanEquals",[B]:[true,{[A]:f,[B]:[l,"supportsFIPS"]}]}], -x=[{[A]:"booleanEquals",[B]:[true,{[A]:f,[B]:[l,"supportsDualStack"]}]}]; -const _data={version:"1.0",parameters:{Region:g,UseDualStack:h,UseFIPS:h,Endpoint:g},rules:[{conditions:[{[A]:"aws.partition",[B]:[i],assign:a}],[z]:b,rules:[{conditions:[{[A]:"isSet",[B]:r},{[A]:"parseURL",[B]:r,assign:"url"}],[z]:b,rules:[{conditions:s,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[z]:c},{[z]:b,rules:[{conditions:t,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[z]:c},{endpoint:{url:j,properties:k,headers:k},[z]:d}]}]},{conditions:[{[A]:e,[B]:[{[A]:f,[B]:[l,"name"]},"aws"]}],[z]:b,rules:[{conditions:u,[z]:b,rules:[{conditions:v,[z]:b,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.api.aws",properties:m,headers:k},[z]:d}]},n]},{conditions:s,[z]:b,rules:[{conditions:w,[z]:b,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.amazonaws.com",properties:m,headers:k},[z]:d}]},o]},{conditions:t,[z]:b,rules:[{conditions:x,[z]:b,rules:[{endpoint:{url:"https://savingsplans.{Region}.api.aws",properties:m,headers:k},[z]:d}]},p]},{endpoint:q,[z]:d}]},{conditions:u,[z]:b,rules:[{conditions:v,[z]:b,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},[z]:d}]},n]},{conditions:s,[z]:b,rules:[{conditions:w,[z]:b,rules:[{[z]:b,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},[z]:d}]}]},o]},{conditions:t,[z]:b,rules:[{conditions:x,[z]:b,rules:[{endpoint:{url:"https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},[z]:d}]},p]},{[z]:b,rules:[{conditions:[{[A]:e,[B]:[i,"aws-global"]}],endpoint:q,[z]:d},{endpoint:{url:"https://savingsplans.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},[z]:d}]}]}]}; +const w="required", +x="fn", +y="argv", +z="ref"; +const a=false, +b="isSet", +c="tree", +d="booleanEquals", +e="error", +f="endpoint", +g="PartitionResult", +h="getAttr", +i={[w]:false,"type":"String"}, +j={[w]:true,"default":false,"type":"Boolean"}, +k={[z]:"Endpoint"}, +l={[x]:d,[y]:[{[z]:"UseFIPS"},true]}, +m={[z]:"UseFIPS"}, +n={[x]:d,[y]:[{[z]:"UseDualStack"},true]}, +o={[z]:"UseDualStack"}, +p={}, +q={[z]:g}, +r={[x]:d,[y]:[true,{[x]:h,[y]:[q,"supportsFIPS"]}]}, +s={[x]:d,[y]:[true,{[x]:h,[y]:[q,"supportsDualStack"]}]}, +t=[l], +u=[n], +v=[{[z]:"Region"}]; +const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i},rules:[{conditions:[{[x]:b,[y]:[k]}],type:c,rules:[{conditions:t,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:e},{type:c,rules:[{conditions:u,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:e},{endpoint:{url:k,properties:p,headers:p},type:f}]}]},{type:c,rules:[{conditions:[{[x]:b,[y]:v}],type:c,rules:[{conditions:[{[x]:"aws.partition",[y]:v,assign:g}],type:c,rules:[{conditions:[{[x]:"stringEquals",[y]:[{[x]:h,[y]:[q,"name"]},"aws"]},{[x]:d,[y]:[m,a]},{[x]:d,[y]:[o,a]}],endpoint:{url:"https://savingsplans.amazonaws.com",properties:{authSchemes:[{name:"sigv4",signingName:"savingsplans",signingRegion:"us-east-1"}]},headers:p},type:f},{conditions:[l,n],type:c,rules:[{conditions:[r,s],type:c,rules:[{type:c,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:p,headers:p},type:f}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:e}]},{conditions:t,type:c,rules:[{conditions:[r],type:c,rules:[{type:c,rules:[{endpoint:{url:"https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}",properties:p,headers:p},type:f}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:e}]},{conditions:u,type:c,rules:[{conditions:[s],type:c,rules:[{type:c,rules:[{endpoint:{url:"https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:p,headers:p},type:f}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:e}]},{type:c,rules:[{endpoint:{url:"https://savingsplans.{Region}.{PartitionResult#dnsSuffix}",properties:p,headers:p},type:f}]}]}]},{error:"Invalid Configuration: Missing Region",type:e}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-savingsplans/src/models/models_0.ts b/clients/client-savingsplans/src/models/models_0.ts index 268b6d7f3ac34..cf7bece036251 100644 --- a/clients/client-savingsplans/src/models/models_0.ts +++ b/clients/client-savingsplans/src/models/models_0.ts @@ -207,10 +207,19 @@ export interface DescribeSavingsPlanRatesRequest { maxResults?: number; } +/** + * @public + * @enum + */ +export const CurrencyCode = { + CNY: "CNY", + USD: "USD", +} as const; + /** * @public */ -export type CurrencyCode = "CNY" | "USD"; +export type CurrencyCode = (typeof CurrencyCode)[keyof typeof CurrencyCode]; /** * @public @@ -355,7 +364,7 @@ export interface DescribeSavingsPlanRatesResponse { /** *
The token to use to retrieve the next page of results. This value is null when there are no more - * results to return.
+ * results to return. */ nextToken?: string; } diff --git a/codegen/sdk-codegen/aws-models/savingsplans.json b/codegen/sdk-codegen/aws-models/savingsplans.json index a706407f6cd4d..4270607802f37 100644 --- a/codegen/sdk-codegen/aws-models/savingsplans.json +++ b/codegen/sdk-codegen/aws-models/savingsplans.json @@ -109,13 +109,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -123,23 +122,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -148,64 +144,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws" + "ref": "Region" + } ] } ], @@ -214,22 +188,13 @@ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -237,430 +202,275 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } + }, + "aws" ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseFIPS" + }, + false ] - } - ], - "type": "tree", - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" - } - ] + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] } - ] + ], + "endpoint": { + "url": "https://savingsplans.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.amazonaws.com", - "properties": { - "authSchemes": [ + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] } ] }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans.{Region}.api.aws", - "properties": { - "authSchemes": [ + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" + "conditions": [], + "endpoint": { + "url": "https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans.amazonaws.com", - "properties": { - "authSchemes": [ + } + ] + }, { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ + "conditions": [ { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ + "conditions": [ { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://savingsplans.amazonaws.com", - "properties": { - "authSchemes": [ + "type": "tree", + "rules": [ { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-1" + "conditions": [], + "endpoint": { + "url": "https://savingsplans.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://savingsplans.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + } + ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -686,12 +496,273 @@ }, "params": { "Region": "aws-global", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://savingsplans.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://savingsplans.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -699,8 +770,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -711,8 +795,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -723,10 +807,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -812,6 +902,9 @@ "smithy.api#documentation": "One or more tags.
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#CreateSavingsPlanResponse": { @@ -823,21 +916,26 @@ "smithy.api#documentation": "The ID of the Savings Plan.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#CurrencyCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CNY", - "name": "CNY" - }, - { - "value": "USD", - "name": "USD" + "type": "enum", + "members": { + "CNY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CNY" + } + }, + "USD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USD" } - ] + } } }, "com.amazonaws.savingsplans#CurrencyList": { @@ -890,11 +988,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#DeleteQueuedSavingsPlanResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.savingsplans#DescribeSavingsPlanRates": { "type": "operation", @@ -949,6 +1053,9 @@ "smithy.api#documentation": "The maximum number of results to return with a single call. To retrieve additional results, make another\n call with the returned token value.
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlanRatesResponse": { @@ -969,9 +1076,12 @@ "nextToken": { "target": "com.amazonaws.savingsplans#PaginationToken", "traits": { - "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null when there are no more \n results to return.
" + "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null when there are no more \n results to return.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlans": { @@ -1088,6 +1198,9 @@ "smithy.api#documentation": "The maximum number of results to return with a single call. To retrieve additional results, make another\n call with the returned token value.
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlansOfferingRatesResponse": { @@ -1105,6 +1218,9 @@ "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null when there are no more \n results to return.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlansOfferings": { @@ -1214,6 +1330,9 @@ "smithy.api#documentation": "The maximum number of results to return with a single call. To retrieve additional results, make another\n call with the returned token value.
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlansOfferingsResponse": { @@ -1231,6 +1350,9 @@ "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null when there are no more \n results to return.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlansRequest": { @@ -1272,6 +1394,9 @@ "smithy.api#documentation": "The filters.
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#DescribeSavingsPlansResponse": { @@ -1289,6 +1414,9 @@ "smithy.api#documentation": "The token to use to retrieve the next page of results. This value is null when there are no more \n results to return.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#DurationsList": { @@ -1376,6 +1504,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#ListTagsForResourceResponse": { @@ -1387,6 +1518,9 @@ "smithy.api#documentation": "Information about the tags.
" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.savingsplans#MaxResults": { @@ -1750,18 +1884,20 @@ } }, "com.amazonaws.savingsplans#SavingsPlanOfferingFilterAttribute": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "region" - }, - { - "value": "instanceFamily", - "name": "instanceFamily" + "type": "enum", + "members": { + "region": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "instanceFamily": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceFamily" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanOfferingFilterElement": { @@ -1814,18 +1950,20 @@ } }, "com.amazonaws.savingsplans#SavingsPlanOfferingPropertyKey": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "REGION" - }, - { - "value": "instanceFamily", - "name": "INSTANCE_FAMILY" + "type": "enum", + "members": { + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceFamily" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanOfferingPropertyList": { @@ -1971,22 +2109,26 @@ } }, "com.amazonaws.savingsplans#SavingsPlanPaymentOption": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "All Upfront", - "name": "ALL_UPFRONT" - }, - { - "value": "Partial Upfront", - "name": "PARTIAL_UPFRONT" - }, - { - "value": "No Upfront", - "name": "NO_UPFRONT" + "type": "enum", + "members": { + "ALL_UPFRONT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "All Upfront" + } + }, + "PARTIAL_UPFRONT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Partial Upfront" + } + }, + "NO_UPFRONT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "No Upfront" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanPaymentOptionList": { @@ -1996,26 +2138,32 @@ } }, "com.amazonaws.savingsplans#SavingsPlanProductType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "EC2", - "name": "EC2" - }, - { - "value": "Fargate", - "name": "FARGATE" - }, - { - "value": "Lambda", - "name": "LAMBDA" - }, - { - "value": "SageMaker", - "name": "SAGEMAKER" + "type": "enum", + "members": { + "EC2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2" + } + }, + "FARGATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Fargate" + } + }, + "LAMBDA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Lambda" } - ] + }, + "SAGEMAKER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SageMaker" + } + } } }, "com.amazonaws.savingsplans#SavingsPlanProductTypeList": { @@ -2101,34 +2249,44 @@ } }, "com.amazonaws.savingsplans#SavingsPlanRateFilterAttribute": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "REGION" - }, - { - "value": "instanceFamily", - "name": "INSTANCE_FAMILY" - }, - { - "value": "instanceType", - "name": "INSTANCE_TYPE" - }, - { - "value": "productDescription", - "name": "PRODUCT_DESCRIPTION" - }, - { - "value": "tenancy", - "name": "TENANCY" - }, - { - "value": "productId", - "name": "PRODUCT_ID" + "type": "enum", + "members": { + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceFamily" + } + }, + "INSTANCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceType" + } + }, + "PRODUCT_DESCRIPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "productDescription" + } + }, + "TENANCY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tenancy" + } + }, + "PRODUCT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "productId" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanRateFilterList": { @@ -2138,42 +2296,56 @@ } }, "com.amazonaws.savingsplans#SavingsPlanRateFilterName": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "REGION" - }, - { - "value": "instanceType", - "name": "INSTANCE_TYPE" - }, - { - "value": "productDescription", - "name": "PRODUCT_DESCRIPTION" - }, - { - "value": "tenancy", - "name": "TENANCY" - }, - { - "value": "productType", - "name": "PRODUCT_TYPE" - }, - { - "value": "serviceCode", - "name": "SERVICE_CODE" - }, - { - "value": "usageType", - "name": "USAGE_TYPE" - }, - { - "value": "operation", - "name": "OPERATION" + "type": "enum", + "members": { + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" } - ] + }, + "INSTANCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceType" + } + }, + "PRODUCT_DESCRIPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "productDescription" + } + }, + "TENANCY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tenancy" + } + }, + "PRODUCT_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "productType" + } + }, + "SERVICE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "serviceCode" + } + }, + "USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "usageType" + } + }, + "OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "operation" + } + } } }, "com.amazonaws.savingsplans#SavingsPlanRateList": { @@ -2222,30 +2394,38 @@ } }, "com.amazonaws.savingsplans#SavingsPlanRatePropertyKey": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "REGION" - }, - { - "value": "instanceType", - "name": "INSTANCE_TYPE" - }, - { - "value": "instanceFamily", - "name": "INSTANCE_FAMILY" - }, - { - "value": "productDescription", - "name": "PRODUCT_DESCRIPTION" - }, - { - "value": "tenancy", - "name": "TENANCY" + "type": "enum", + "members": { + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "INSTANCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceType" + } + }, + "INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceFamily" + } + }, + "PRODUCT_DESCRIPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "productDescription" + } + }, + "TENANCY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tenancy" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanRatePropertyList": { @@ -2255,30 +2435,38 @@ } }, "com.amazonaws.savingsplans#SavingsPlanRateServiceCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AmazonEC2", - "name": "EC2" - }, - { - "value": "AmazonECS", - "name": "FARGATE" - }, - { - "value": "AmazonEKS", - "name": "FARGATE_EKS" - }, - { - "value": "AWSLambda", - "name": "LAMBDA" - }, - { - "value": "AmazonSageMaker", - "name": "SAGEMAKER" + "type": "enum", + "members": { + "EC2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AmazonEC2" + } + }, + "FARGATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AmazonECS" + } + }, + "FARGATE_EKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AmazonEKS" + } + }, + "LAMBDA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWSLambda" } - ] + }, + "SAGEMAKER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AmazonSageMaker" + } + } } }, "com.amazonaws.savingsplans#SavingsPlanRateServiceCodeList": { @@ -2288,22 +2476,26 @@ } }, "com.amazonaws.savingsplans#SavingsPlanRateUnit": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Hrs", - "name": "HOURS" - }, - { - "value": "Lambda-GB-Second", - "name": "LAMBDA_GB_SECOND" - }, - { - "value": "Request", - "name": "REQUEST" + "type": "enum", + "members": { + "HOURS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Hrs" + } + }, + "LAMBDA_GB_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Lambda-GB-Second" + } + }, + "REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Request" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanRateUsageType": { @@ -2339,34 +2531,44 @@ } }, "com.amazonaws.savingsplans#SavingsPlanState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "payment-pending", - "name": "PAYMENT_PENDING" - }, - { - "value": "payment-failed", - "name": "PAYMENT_FAILED" - }, - { - "value": "active", - "name": "ACTIVE" - }, - { - "value": "retired", - "name": "RETIRED" - }, - { - "value": "queued", - "name": "QUEUED" - }, - { - "value": "queued-deleted", - "name": "QUEUED_DELETED" + "type": "enum", + "members": { + "PAYMENT_PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-pending" + } + }, + "PAYMENT_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-failed" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "RETIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "retired" + } + }, + "QUEUED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "queued" + } + }, + "QUEUED_DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "queued-deleted" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanStateList": { @@ -2376,22 +2578,26 @@ } }, "com.amazonaws.savingsplans#SavingsPlanType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Compute", - "name": "COMPUTE" - }, - { - "value": "EC2Instance", - "name": "EC2_INSTANCE" - }, - { - "value": "SageMaker", - "name": "SAGEMAKER" + "type": "enum", + "members": { + "COMPUTE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Compute" + } + }, + "EC2_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2Instance" + } + }, + "SAGEMAKER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SageMaker" } - ] + } } }, "com.amazonaws.savingsplans#SavingsPlanTypeList": { @@ -2426,46 +2632,62 @@ } }, "com.amazonaws.savingsplans#SavingsPlansFilterName": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "region", - "name": "REGION" - }, - { - "value": "ec2-instance-family", - "name": "EC2_INSTANCE_FAMILY" - }, - { - "value": "commitment", - "name": "COMMITMENT" - }, - { - "value": "upfront", - "name": "UPFRONT" - }, - { - "value": "term", - "name": "TERM" - }, - { - "value": "savings-plan-type", - "name": "SAVINGS_PLAN_TYPE" - }, - { - "value": "payment-option", - "name": "PAYMENT_OPTION" - }, - { - "value": "start", - "name": "START" - }, - { - "value": "end", - "name": "END" + "type": "enum", + "members": { + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "EC2_INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ec2-instance-family" + } + }, + "COMMITMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "commitment" + } + }, + "UPFRONT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "upfront" + } + }, + "TERM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "term" + } + }, + "SAVINGS_PLAN_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "savings-plan-type" + } + }, + "PAYMENT_OPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-option" + } + }, + "START": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "start" } - ] + }, + "END": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "end" + } + } } }, "com.amazonaws.savingsplans#ServiceQuotaExceededException": { @@ -2557,11 +2779,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#TagResourceResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.savingsplans#TagValue": { "type": "string" @@ -2629,11 +2857,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.savingsplans#UntagResourceResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.savingsplans#ValidationException": { "type": "structure", @@ -2656,4 +2890,4 @@ } } } -} \ No newline at end of file +}