From 1d7418f91c464e94d406afd5910339a060b4c7b2 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 24 May 2023 18:14:08 +0000 Subject: [PATCH] feat(client-cost-and-usage-report-service): Add support for split cost allocation data on a report. --- .../DescribeReportDefinitionsCommand.ts | 4 +- .../commands/ModifyReportDefinitionCommand.ts | 4 +- .../commands/PutReportDefinitionCommand.ts | 4 +- .../src/endpoint/ruleset.ts | 35 +- .../src/models/models_0.ts | 3 + .../cost-and-usage-report-service.json | 693 ++++++++++++------ 6 files changed, 496 insertions(+), 247 deletions(-) diff --git a/clients/client-cost-and-usage-report-service/src/commands/DescribeReportDefinitionsCommand.ts b/clients/client-cost-and-usage-report-service/src/commands/DescribeReportDefinitionsCommand.ts index c9e9baf1eb84..fa9e9f223be0 100644 --- a/clients/client-cost-and-usage-report-service/src/commands/DescribeReportDefinitionsCommand.ts +++ b/clients/client-cost-and-usage-report-service/src/commands/DescribeReportDefinitionsCommand.ts @@ -61,11 +61,11 @@ export interface DescribeReportDefinitionsCommandOutput extends DescribeReportDe * // Format: "textORcsv" || "Parquet", // required * // Compression: "ZIP" || "GZIP" || "Parquet", // required * // AdditionalSchemaElements: [ // SchemaElementList // required - * // "RESOURCES", + * // "RESOURCES" || "SPLIT_COST_ALLOCATION_DATA", * // ], * // S3Bucket: "STRING_VALUE", // required * // S3Prefix: "STRING_VALUE", // required - * // S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required + * // S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-south-2" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-central-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required * // AdditionalArtifacts: [ // AdditionalArtifactList * // "REDSHIFT" || "QUICKSIGHT" || "ATHENA", * // ], diff --git a/clients/client-cost-and-usage-report-service/src/commands/ModifyReportDefinitionCommand.ts b/clients/client-cost-and-usage-report-service/src/commands/ModifyReportDefinitionCommand.ts index 4d2b3f85b6fd..10eea5091d8b 100644 --- a/clients/client-cost-and-usage-report-service/src/commands/ModifyReportDefinitionCommand.ts +++ b/clients/client-cost-and-usage-report-service/src/commands/ModifyReportDefinitionCommand.ts @@ -55,11 +55,11 @@ export interface ModifyReportDefinitionCommandOutput extends ModifyReportDefinit * Format: "textORcsv" || "Parquet", // required * Compression: "ZIP" || "GZIP" || "Parquet", // required * AdditionalSchemaElements: [ // SchemaElementList // required - * "RESOURCES", + * "RESOURCES" || "SPLIT_COST_ALLOCATION_DATA", * ], * S3Bucket: "STRING_VALUE", // required * S3Prefix: "STRING_VALUE", // required - * S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required + * S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-south-2" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-central-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required * AdditionalArtifacts: [ // AdditionalArtifactList * "REDSHIFT" || "QUICKSIGHT" || "ATHENA", * ], diff --git a/clients/client-cost-and-usage-report-service/src/commands/PutReportDefinitionCommand.ts b/clients/client-cost-and-usage-report-service/src/commands/PutReportDefinitionCommand.ts index ac25ff9c7809..8965e8691135 100644 --- a/clients/client-cost-and-usage-report-service/src/commands/PutReportDefinitionCommand.ts +++ b/clients/client-cost-and-usage-report-service/src/commands/PutReportDefinitionCommand.ts @@ -54,11 +54,11 @@ export interface PutReportDefinitionCommandOutput extends PutReportDefinitionRes * Format: "textORcsv" || "Parquet", // required * Compression: "ZIP" || "GZIP" || "Parquet", // required * AdditionalSchemaElements: [ // SchemaElementList // required - * "RESOURCES", + * "RESOURCES" || "SPLIT_COST_ALLOCATION_DATA", * ], * S3Bucket: "STRING_VALUE", // required * S3Prefix: "STRING_VALUE", // required - * S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required + * S3Region: "af-south-1" || "ap-east-1" || "ap-south-1" || "ap-south-2" || "ap-southeast-1" || "ap-southeast-2" || "ap-southeast-3" || "ap-northeast-1" || "ap-northeast-2" || "ap-northeast-3" || "ca-central-1" || "eu-central-1" || "eu-central-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-north-1" || "eu-south-1" || "eu-south-2" || "me-central-1" || "me-south-1" || "sa-east-1" || "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "cn-north-1" || "cn-northwest-1", // required * AdditionalArtifacts: [ // AdditionalArtifactList * "REDSHIFT" || "QUICKSIGHT" || "ATHENA", * ], diff --git a/clients/client-cost-and-usage-report-service/src/endpoint/ruleset.ts b/clients/client-cost-and-usage-report-service/src/endpoint/ruleset.ts index 52e47ccd4cf4..6bb44d3ed276 100644 --- a/clients/client-cost-and-usage-report-service/src/endpoint/ruleset.ts +++ b/clients/client-cost-and-usage-report-service/src/endpoint/ruleset.ts @@ -6,24 +6,25 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json */ -const p="required", -q="fn", -r="argv", -s="ref"; -const a="PartitionResult", +const q="required", +r="fn", +s="argv", +t="ref"; +const a="isSet", b="tree", c="error", d="endpoint", -e={[p]:false,"type":"String"}, -f={[p]:true,"default":false,"type":"Boolean"}, -g={[s]:"Endpoint"}, -h={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -i={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, -j={}, -k={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsFIPS"]}]}, -l={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsDualStack"]}]}, -m=[g], -n=[h], -o=[i]; -const _data={version:"1.0",parameters:{Region:e,UseDualStack:f,UseFIPS:f,Endpoint:e},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:a}],type:b,rules:[{conditions:[{[q]:"isSet",[r]:m},{[q]:"parseURL",[r]:m,assign:"url"}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:g,properties:j,headers:j},type:d}]}]},{conditions:[h,i],type:b,rules:[{conditions:[k,l],type:b,rules:[{endpoint:{url:"https://cur-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[k],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://cur-fips.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[l],type:b,rules:[{endpoint:{url:"https://cur.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{endpoint:{url:"https://cur.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]}; +e="PartitionResult", +f={[q]:false,"type":"String"}, +g={[q]:true,"default":false,"type":"Boolean"}, +h={[t]:"Endpoint"}, +i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]}, +j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]}, +k={}, +l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]}, +m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]}, +n=[i], +o=[j], +p=[{[t]:"Region"}]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://cur-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://cur-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://cur.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://cur.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-cost-and-usage-report-service/src/models/models_0.ts b/clients/client-cost-and-usage-report-service/src/models/models_0.ts index fd4415848f53..305d3a775f8a 100644 --- a/clients/client-cost-and-usage-report-service/src/models/models_0.ts +++ b/clients/client-cost-and-usage-report-service/src/models/models_0.ts @@ -112,6 +112,7 @@ export interface DescribeReportDefinitionsRequest { */ export const SchemaElement = { RESOURCES: "RESOURCES", + SPLIT_COST_ALLOCATION_DATA: "SPLIT_COST_ALLOCATION_DATA", } as const; /** @@ -173,6 +174,7 @@ export const AWSRegion = { CAPE_TOWN: "af-south-1", FRANKFURT: "eu-central-1", HONG_KONG: "ap-east-1", + HYDERABAD: "ap-south-2", IRELAND: "eu-west-1", JAKARTA: "ap-southeast-3", LONDON: "eu-west-2", @@ -193,6 +195,7 @@ export const AWSRegion = { TOKYO: "ap-northeast-1", UAE: "me-central-1", US_STANDARD: "us-east-1", + ZURICH: "eu-central-2", } as const; /** diff --git a/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json b/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json index e05d8663f290..4edeaead9c7b 100644 --- a/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json +++ b/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json @@ -94,13 +94,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -108,23 +107,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": [ { @@ -133,67 +129,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": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -202,90 +173,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cur-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" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cur-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://cur-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": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cur.{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": [], "type": "tree", @@ -293,7 +389,7 @@ { "conditions": [], "endpoint": { - "url": "https://cur-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cur.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -302,74 +398,13 @@ ] } ] - }, - { - "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": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://cur.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://cur.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -377,6 +412,19 @@ }, "smithy.rules#endpointTests": { "testCases": [ + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cur.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -386,8 +434,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -399,8 +447,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -412,77 +460,225 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cur.us-east-1.amazonaws.com" + "url": "https://cur.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cur-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://cur-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cur-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://cur-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cur.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://cur.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cur.cn-northwest-1.amazonaws.com.cn" + "url": "https://cur.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "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://cur-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://cur-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cur.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://cur.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://cur-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://cur.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://cur-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://cur.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -490,8 +686,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" } }, @@ -502,8 +711,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -514,10 +723,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" @@ -545,6 +760,12 @@ "smithy.api#enumValue": "ap-south-1" } }, + "HYDERABAD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-2" + } + }, "SINGAPORE": { "target": "smithy.api#Unit", "traits": { @@ -593,6 +814,12 @@ "smithy.api#enumValue": "eu-central-1" } }, + "ZURICH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-central-2" + } + }, "IRELAND": { "target": "smithy.api#Unit", "traits": { @@ -790,7 +1017,8 @@ } }, "traits": { - "smithy.api#documentation": "

Deletes the specified report.

" + "smithy.api#documentation": "

Deletes the specified report.

", + "smithy.api#input": {} } }, "com.amazonaws.costandusagereportservice#DeleteReportDefinitionResponse": { @@ -801,7 +1029,8 @@ } }, "traits": { - "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response.

" + "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response.

", + "smithy.api#output": {} } }, "com.amazonaws.costandusagereportservice#DeleteResponseMessage": { @@ -843,7 +1072,8 @@ } }, "traits": { - "smithy.api#documentation": "

Requests a list of AWS Cost and Usage reports owned by the account.

" + "smithy.api#documentation": "

Requests a list of AWS Cost and Usage reports owned by the account.

", + "smithy.api#input": {} } }, "com.amazonaws.costandusagereportservice#DescribeReportDefinitionsResponse": { @@ -860,7 +1090,8 @@ } }, "traits": { - "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response.

" + "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response.

", + "smithy.api#output": {} } }, "com.amazonaws.costandusagereportservice#DuplicateReportNameException": { @@ -949,11 +1180,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.costandusagereportservice#ModifyReportDefinitionResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.costandusagereportservice#PutReportDefinition": { "type": "operation", @@ -993,14 +1230,16 @@ } }, "traits": { - "smithy.api#documentation": "

Creates a Cost and Usage Report.

" + "smithy.api#documentation": "

Creates a Cost and Usage Report.

", + "smithy.api#input": {} } }, "com.amazonaws.costandusagereportservice#PutReportDefinitionResponse": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

" + "smithy.api#documentation": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "smithy.api#output": {} } }, "com.amazonaws.costandusagereportservice#RefreshClosedReports": { @@ -1186,6 +1425,12 @@ "traits": { "smithy.api#enumValue": "RESOURCES" } + }, + "SPLIT_COST_ALLOCATION_DATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SPLIT_COST_ALLOCATION_DATA" + } } }, "traits": { @@ -1240,4 +1485,4 @@ } } } -} \ No newline at end of file +}