From 944866eb73a335da547eb1b309c98a0dbe1a43d3 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Mon, 9 Jun 2025 18:03:34 +0000 Subject: [PATCH 01/26] Update API model --- .../smithy/api-descriptions/appsync.json | 8 + .../api-descriptions/cost-explorer.json | 1172 +++++++------ .../api-descriptions/customer-profiles.json | 1091 +++++++++++- .../smithy/api-descriptions/ec2.json | 69 +- .../smithy/api-descriptions/efs.json | 1462 ++++++++--------- .../api-descriptions/marketplace-catalog.json | 298 +++- .../workspaces-thin-client.json | 73 +- 7 files changed, 2724 insertions(+), 1449 deletions(-) diff --git a/tools/code-generation/smithy/api-descriptions/appsync.json b/tools/code-generation/smithy/api-descriptions/appsync.json index c8dd0725ae2..9bf4842142f 100644 --- a/tools/code-generation/smithy/api-descriptions/appsync.json +++ b/tools/code-generation/smithy/api-descriptions/appsync.json @@ -2541,6 +2541,10 @@ "target": "com.amazonaws.appsync#Boolean", "traits": { "smithy.api#default": false, + "smithy.api#deprecated": { + "since": "5/15/2025", + "message": "transitEncryptionEnabled attribute is deprecated. Encryption in transit is always enabled." + }, "smithy.api#documentation": "

Transit encryption flag when connecting to cache. You cannot update this setting after\n creation.

" } }, @@ -2548,6 +2552,10 @@ "target": "com.amazonaws.appsync#Boolean", "traits": { "smithy.api#default": false, + "smithy.api#deprecated": { + "since": "5/15/2025", + "message": "atRestEncryptionEnabled attribute is deprecated. Encryption at rest is always enabled." + }, "smithy.api#documentation": "

At-rest encryption flag for cache. You cannot update this setting after creation.

" } }, diff --git a/tools/code-generation/smithy/api-descriptions/cost-explorer.json b/tools/code-generation/smithy/api-descriptions/cost-explorer.json index 8f0e61f4ff8..27b9639b7a8 100644 --- a/tools/code-generation/smithy/api-descriptions/cost-explorer.json +++ b/tools/code-generation/smithy/api-descriptions/cost-explorer.json @@ -190,12 +190,6 @@ "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -215,6 +209,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -246,595 +246,666 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "aws.partition", "argv": [ { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] }, - "name" + "aws" ] }, - "aws" - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } ] }, - "aws-cn" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "cn-northwest-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } ] }, - "aws-iso" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-iso-east-1.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-iso-east-1.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } ] }, - "aws-iso-b" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-b" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } ] }, - "aws-iso-e" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-e" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "eu-isoe-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } ] }, - "aws-iso-f" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-f" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" + ], + "endpoint": { + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] }, - true - ] + "headers": {} + }, + "type": "endpoint" }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ], "type": "tree" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "UseFIPS" }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ], "type": "tree" }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - } - ], - "rules": [ + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ], "type": "tree" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ], "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ], "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] }, "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "url": "https://ce.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "aws-global", + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.api.aws" } }, @@ -848,6 +919,14 @@ "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.amazonaws.com" } }, @@ -861,6 +940,14 @@ "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce.us-east-1.api.aws" } }, @@ -878,7 +965,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-east-1" } ] @@ -893,75 +979,76 @@ } }, { - "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] }, - "url": "https://ce.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "aws-cn-global", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ce-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://ce-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.cn-north-1.amazonaws.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.cn-north-1.api.amazonwebservices.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] @@ -970,81 +1057,91 @@ } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ce.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region aws-iso-global with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://ce.us-iso-east-1.c2s.ic.gov" + "url": "https://ce.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "aws-iso-global", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -1064,6 +1161,14 @@ "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, "url": "https://ce-fips.us-iso-east-1.c2s.ic.gov" } }, @@ -1092,7 +1197,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-iso-east-1" } ] @@ -1106,28 +1210,6 @@ "UseDualStack": false } }, - { - "documentation": "For region aws-iso-b-global with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "aws-iso-b-global", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -1143,6 +1225,14 @@ "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, "url": "https://ce-fips.us-isob-east-1.sc2s.sgov.gov" } }, @@ -1171,7 +1261,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-isob-east-1" } ] @@ -1186,98 +1275,131 @@ } }, { - "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-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": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" + "url": "https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { "Region": "eu-isoe-west-1", - "UseFIPS": false, + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-isof-south-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://example.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/tools/code-generation/smithy/api-descriptions/customer-profiles.json b/tools/code-generation/smithy/api-descriptions/customer-profiles.json index d6f49bfe9fc..ea16f7d5205 100644 --- a/tools/code-generation/smithy/api-descriptions/customer-profiles.json +++ b/tools/code-generation/smithy/api-descriptions/customer-profiles.json @@ -596,7 +596,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 2 + "max": 50 } } }, @@ -1134,6 +1134,12 @@ "traits": { "smithy.api#documentation": "

The value of the calculated attribute.

" } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the newest object included in the calculated attribute calculation.

" + } } }, "traits": { @@ -1490,6 +1496,12 @@ "smithy.api#required": {} } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

" + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -1558,6 +1570,24 @@ "smithy.api#documentation": "

The timestamp of when the calculated attribute definition was most recently\n edited.

" } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

" + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

" + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -1603,6 +1633,181 @@ } } }, + "com.amazonaws.customerprofiles#CreateDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#CreateDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#CreateDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates the layout to view data for a specific domain. This API can only be invoked from\n the Amazon Connect admin website.

", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#CreateDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under a Customer Profiles domain.

", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

A customizable layout that can be used to view data under a Customer Profiles\n domain.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#CreateDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under customer profiles domain.

", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

A customizable layout that can be used to view data under Customer Profiles\n domain.

", + "smithy.api#required": {} + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The version used to create layout.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was created.

", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was most recently updated.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#CreateDomainRequest": { "type": "structure", "members": { @@ -2126,7 +2331,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString1To255", "traits": { - "smithy.api#documentation": "

An account number that you have given to the customer.

" + "smithy.api#documentation": "

An account number that you have assigned to the customer.

" } }, "AdditionalInformation": { @@ -2628,6 +2833,9 @@ { "target": "com.amazonaws.customerprofiles#CreateDomain" }, + { + "target": "com.amazonaws.customerprofiles#CreateDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#CreateEventStream" }, @@ -2655,6 +2863,9 @@ { "target": "com.amazonaws.customerprofiles#DeleteDomain" }, + { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#DeleteEventStream" }, @@ -2697,6 +2908,9 @@ { "target": "com.amazonaws.customerprofiles#GetDomain" }, + { + "target": "com.amazonaws.customerprofiles#GetDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#GetEventStream" }, @@ -2748,6 +2962,9 @@ { "target": "com.amazonaws.customerprofiles#ListCalculatedAttributesForProfile" }, + { + "target": "com.amazonaws.customerprofiles#ListDomainLayouts" + }, { "target": "com.amazonaws.customerprofiles#ListDomains" }, @@ -2817,6 +3034,9 @@ { "target": "com.amazonaws.customerprofiles#UpdateDomain" }, + { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#UpdateEventTrigger" }, @@ -3808,6 +4028,79 @@ } } }, + "com.amazonaws.customerprofiles#DeleteDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the layout used to view data for a specific domain. This API can only be invoked\n from the Amazon Connect admin website.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#DeleteDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#DeleteDomainLayoutResponse": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.customerprofiles#message", + "traits": { + "smithy.api#documentation": "

A message that indicates the delete request is done.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#DeleteDomainRequest": { "type": "structure", "members": { @@ -4741,11 +5034,7 @@ "com.amazonaws.customerprofiles#End": { "type": "integer", "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 366 - } + "smithy.api#default": 0 } }, "com.amazonaws.customerprofiles#EstimateStatus": { @@ -4967,7 +5256,7 @@ "EventExpiration": { "target": "com.amazonaws.customerprofiles#optionalLong", "traits": { - "smithy.api#documentation": "

In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.

" + "smithy.api#documentation": "

In milliseconds. Specifies that an event will only trigger the destination if it is\n processed within a certain latency period.

" } }, "Periods": { @@ -4978,7 +5267,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" } }, "com.amazonaws.customerprofiles#EventTriggerLogicalOperator": { @@ -5864,6 +6153,24 @@ "smithy.api#documentation": "

Mathematical expression and a list of attribute items specified in that\n expression.

" } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

Status of the Calculated Attribute creation (whether all historical data has been\n indexed).

" + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

" + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -5967,6 +6274,12 @@ "traits": { "smithy.api#documentation": "

The value of the calculated attribute.

" } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the newest object included in the calculated attribute calculation.

" + } } }, "traits": { @@ -6007,7 +6320,142 @@ } } }, - "com.amazonaws.customerprofiles#GetDomainRequest": { + "com.amazonaws.customerprofiles#GetDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the layout to view data for a specific domain. This API can only be invoked from\n the Amazon Connect admin website.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#GetDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under a Customer Profiles domain.

", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

A customizable layout that can be used to view data under a Customer Profiles\n domain.

", + "smithy.api#required": {} + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The version used to create layout.

", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was created.

", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was most recently updated.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.customerprofiles#GetDomainRequest": { "type": "structure", "members": { "DomainName": { @@ -6301,7 +6749,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" } }, "CreatedAt": { @@ -8120,6 +8568,86 @@ "smithy.api#pattern": "^arn:aws:kms:.*:[0-9]+:" } }, + "com.amazonaws.customerprofiles#LayoutItem": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then layout will not be used by default but it can be used to view data by explicit\n selection on UI.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under customer profiles domain.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was created.

", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The layout object that contains LayoutDefinitionName, Description, DisplayName,\n IsDefault, LayoutType, Tags, CreatedAt, LastUpdatedAt

" + } + }, + "com.amazonaws.customerprofiles#LayoutList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#LayoutItem" + } + }, + "com.amazonaws.customerprofiles#LayoutType": { + "type": "enum", + "members": { + "PROFILE_EXPLORER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROFILE_EXPLORER" + } + } + } + }, "com.amazonaws.customerprofiles#ListAccountIntegrations": { "type": "operation", "input": { @@ -8243,6 +8771,18 @@ "smithy.api#documentation": "

The timestamp of when the calculated attribute definition was most recently\n edited.

" } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

" + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -8364,6 +8904,12 @@ "traits": { "smithy.api#documentation": "

The value of the calculated attribute.

" } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the newest object included in the calculated attribute calculation.

" + } } }, "traits": { @@ -8497,6 +9043,96 @@ "smithy.api#documentation": "

An object in a list that represents a domain.

" } }, + "com.amazonaws.customerprofiles#ListDomainLayouts": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#ListDomainLayoutsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#ListDomainLayoutsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the existing layouts that can be used to view data for a specific domain. This API\n can only be invoked from the Amazon Connect admin website.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/layouts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Items", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.customerprofiles#ListDomainLayoutsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

Identifies the next page of results to return.

", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "

The maximum number of objects returned per page.

", + "smithy.api#httpQuery": "max-results" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#ListDomainLayoutsResponse": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.customerprofiles#LayoutList", + "traits": { + "smithy.api#documentation": "

Contains summary information about an EventStream.

" + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

Identifies the next page of results to return.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#ListDomains": { "type": "operation", "input": { @@ -10380,7 +11016,7 @@ } }, "traits": { - "smithy.api#documentation": "

The criteria that a specific object attribute must meet to trigger the destination.

" + "smithy.api#documentation": "

The criteria that a specific object attribute must meet to trigger the\n destination.

" } }, "com.amazonaws.customerprofiles#ObjectAttributes": { @@ -10399,8 +11035,7 @@ "type": "integer", "traits": { "smithy.api#range": { - "min": 1, - "max": 100 + "min": 1 } } }, @@ -10672,7 +11307,7 @@ "target": "com.amazonaws.customerprofiles#boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

If set to true, there is no limit on the number of destination invocations per profile. The default is false.

" + "smithy.api#documentation": "

If set to true, there is no limit on the number of destination invocations per profile.\n The default is false.

" } } }, @@ -10745,7 +11380,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString1To255", "traits": { - "smithy.api#documentation": "

An account number that you have given to the customer.

" + "smithy.api#documentation": "

An account number that you have assigned to the customer.

" } }, "AdditionalInformation": { @@ -11752,59 +12387,128 @@ "Value": { "target": "com.amazonaws.customerprofiles#Value", "traits": { - "smithy.api#documentation": "

The amount of time of the specified unit.

", - "smithy.api#required": {} + "smithy.api#addedDefault": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The amount of time of the specified unit.

" } }, "Unit": { "target": "com.amazonaws.customerprofiles#Unit", "traits": { - "smithy.api#documentation": "

The unit of time.

", + "smithy.api#addedDefault": {}, + "smithy.api#default": "DAYS", + "smithy.api#documentation": "

The unit of time.

" + } + }, + "ValueRange": { + "target": "com.amazonaws.customerprofiles#ValueRange", + "traits": { + "smithy.api#documentation": "

A structure letting customers specify a relative time window over which over which data\n is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint\n is in the past, and negative numbers to indicate it is in the future. ValueRange overrides\n Value.

" + } + }, + "TimestampSource": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

An expression specifying the field in your JSON object from which the date should be\n parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source\n JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be\n \"{MyType.generatedAt.timestamp}\".

" + } + }, + "TimestampFormat": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The format the timestamp field in your JSON object is specified. This value should be\n one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or\n ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an\n optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType\n and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then\n TimestampFormat should be \"ISO_8601\".

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The relative time period over which data is included in the aggregation.

" + } + }, + "com.amazonaws.customerprofiles#RangeOverride": { + "type": "structure", + "members": { + "Start": { + "target": "com.amazonaws.customerprofiles#Start", + "traits": { + "smithy.api#default": 366, + "smithy.api#documentation": "

The start time of when to include objects.

", "smithy.api#required": {} } + }, + "End": { + "target": "com.amazonaws.customerprofiles#End", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The end time of when to include objects.

" + } + }, + "Unit": { + "target": "com.amazonaws.customerprofiles#RangeUnit", + "traits": { + "smithy.api#documentation": "

The unit for start and end.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Overrides the original range on a calculated attribute definition.

" + } + }, + "com.amazonaws.customerprofiles#RangeUnit": { + "type": "enum", + "members": { + "DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS" + } + } + } + }, + "com.amazonaws.customerprofiles#Readiness": { + "type": "structure", + "members": { + "ProgressPercentage": { + "target": "com.amazonaws.customerprofiles#percentageInteger", + "traits": { + "smithy.api#documentation": "

Approximately how far the Calculated Attribute creation is from completion.

" + } + }, + "Message": { + "target": "com.amazonaws.customerprofiles#text", + "traits": { + "smithy.api#documentation": "

Any customer messaging.

" + } } }, "traits": { - "smithy.api#documentation": "

The relative time period over which data is included in the aggregation.

" + "smithy.api#documentation": "

Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

" } }, - "com.amazonaws.customerprofiles#RangeOverride": { - "type": "structure", + "com.amazonaws.customerprofiles#ReadinessStatus": { + "type": "enum", "members": { - "Start": { - "target": "com.amazonaws.customerprofiles#Start", + "PREPARING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 366, - "smithy.api#documentation": "

The start time of when to include objects.

", - "smithy.api#required": {} + "smithy.api#enumValue": "PREPARING" } }, - "End": { - "target": "com.amazonaws.customerprofiles#End", + "IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The end time of when to include objects.

" + "smithy.api#enumValue": "IN_PROGRESS" } }, - "Unit": { - "target": "com.amazonaws.customerprofiles#RangeUnit", + "COMPLETED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The unit for start and end.

", - "smithy.api#required": {} + "smithy.api#enumValue": "COMPLETED" } - } - }, - "traits": { - "smithy.api#documentation": "

Overrides the original range on a calculated attribute definition.

" - } - }, - "com.amazonaws.customerprofiles#RangeUnit": { - "type": "enum", - "members": { - "DAYS": { + }, + "FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DAYS" + "smithy.api#enumValue": "FAILED" } } } @@ -12939,6 +13643,60 @@ "smithy.api#enumValue": "COMMUNICATION_RECORD" } }, + "AIR_PREFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_PREFERENCE" + } + }, + "HOTEL_PREFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_PREFERENCE" + } + }, + "AIR_BOOKING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_BOOKING" + } + }, + "AIR_SEGMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_SEGMENT" + } + }, + "HOTEL_RESERVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_RESERVATION" + } + }, + "HOTEL_STAY_REVENUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_STAY_REVENUE" + } + }, + "LOYALTY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY" + } + }, + "LOYALTY_TRANSACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY_TRANSACTION" + } + }, + "LOYALTY_PROMOTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY_PROMOTION" + } + }, "UNIQUE": { "target": "smithy.api#Unit", "traits": { @@ -12972,13 +13730,7 @@ } }, "com.amazonaws.customerprofiles#Start": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 366 - } - } + "type": "integer" }, "com.amazonaws.customerprofiles#Statistic": { "type": "enum", @@ -13744,6 +14496,24 @@ "smithy.api#documentation": "

The mathematical expression and a list of attribute items specified in that\n expression.

" } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

" + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

" + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -13789,6 +14559,164 @@ } } }, + "com.amazonaws.customerprofiles#UpdateDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the layout used to view data for a specific domain. This API can only be invoked\n from the Amazon Connect admin website.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#UpdateDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

" + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

" + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under a Customer Profiles domain.

" + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

A customizable layout that can be used to view data under a Customer Profiles\n domain.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#UpdateDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the layout.

" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the layout

" + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

The display name of the layout

" + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

" + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

The type of layout that can be used to view data under a Customer Profiles domain.

" + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

A customizable layout that can be used to view data under a Customer Profiles domain.

" + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The version used to create layout.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was created.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the layout was most recently updated.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#UpdateDomainRequest": { "type": "structure", "members": { @@ -13986,7 +14914,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" } } }, @@ -14030,7 +14958,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" } }, "CreatedAt": { @@ -14117,7 +15045,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString0To255", "traits": { - "smithy.api#documentation": "

An account number that you have given to the customer.

" + "smithy.api#documentation": "

An account number that you have assigned to the customer.

" } }, "PartyType": { @@ -14270,8 +15198,8 @@ "type": "integer", "traits": { "smithy.api#range": { - "min": 1, - "max": 366 + "min": 0, + "max": 2147483647 } } }, @@ -14287,6 +15215,34 @@ } } }, + "com.amazonaws.customerprofiles#ValueRange": { + "type": "structure", + "members": { + "Start": { + "target": "com.amazonaws.customerprofiles#ValueRangeStart", + "traits": { + "smithy.api#documentation": "

The start time of when to include objects. Use positive numbers to indicate that the\n starting point is in the past, and negative numbers to indicate it is in the future.

", + "smithy.api#required": {} + } + }, + "End": { + "target": "com.amazonaws.customerprofiles#ValueRangeEnd", + "traits": { + "smithy.api#documentation": "

The end time of when to include objects. Use positive numbers to indicate that the\n starting point is in the past, and negative numbers to indicate it is in the future.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure letting customers specify a relative time window over which over which data\n is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint\n is in the past, and negative numbers to indicate it is in the future. ValueRange overrides\n Value.

" + } + }, + "com.amazonaws.customerprofiles#ValueRangeEnd": { + "type": "integer" + }, + "com.amazonaws.customerprofiles#ValueRangeStart": { + "type": "integer" + }, "com.amazonaws.customerprofiles#Values": { "type": "list", "member": { @@ -14639,6 +15595,15 @@ "com.amazonaws.customerprofiles#optionalLong": { "type": "long" }, + "com.amazonaws.customerprofiles#percentageInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.customerprofiles#requestValueList": { "type": "list", "member": { @@ -14705,6 +15670,16 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.customerprofiles#sensitiveString1To2000000": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000000 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.customerprofiles#sensitiveString1To255": { "type": "string", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/ec2.json b/tools/code-generation/smithy/api-descriptions/ec2.json index 5225805fd5a..bb3417d7fad 100644 --- a/tools/code-generation/smithy/api-descriptions/ec2.json +++ b/tools/code-generation/smithy/api-descriptions/ec2.json @@ -1412,6 +1412,14 @@ "smithy.api#xmlName": "carrierIp" } }, + "SubnetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet where the IP address is allocated.

", + "smithy.api#xmlName": "subnetId" + } + }, "ServiceManaged": { "target": "com.amazonaws.ec2#ServiceManaged", "traits": { @@ -8051,6 +8059,15 @@ } } }, + "com.amazonaws.ec2#AssociatedSubnetList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#AssociatedTargetNetwork": { "type": "structure", "members": { @@ -8532,7 +8549,7 @@ "target": "com.amazonaws.ec2#VolumeAttachment" }, "traits": { - "smithy.api#documentation": "

Attaches an EBS volume to a running or stopped instance and exposes it to the instance\n with the specified device name.

\n

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For\n more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\n

After you attach an EBS volume, you must make it available. For more information, see \n Make an EBS volume available for use.

\n

If a volume has an Amazon Web Services Marketplace product code:

\n \n

For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon EBS User Guide.

", + "smithy.api#documentation": "

Attaches an Amazon EBS volume to a running or stopped \n instance, and exposes it to the instance with the specified device name.

\n \n

The maximum number of Amazon EBS volumes that you can attach to an instance depends on the \n instance type. If you exceed the volume attachment limit for an instance type, the attachment \n request fails with the AttachmentLimitExceeded error. For more information, \n see Instance \n volume limits.

\n
\n

After you attach an EBS volume, you must make it available for use. For more information, \n see Make an \n EBS volume available for use.

\n

If a volume has an Amazon Web Services Marketplace product code:

\n \n

For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon EBS User Guide.

", "smithy.api#examples": [ { "title": "To attach a volume to an instance", @@ -39269,7 +39286,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

One or more filters.

\n ", + "smithy.api#documentation": "

One or more filters.

\n ", "smithy.api#xmlName": "filter" } } @@ -66198,7 +66215,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

The type of network interface.

\n

Valid values: interface | efa | efa-only |\n trunk\n

", + "smithy.api#documentation": "

The type of network interface.

\n

Valid values: interface | efa | efa-only | evs |\n trunk\n

", "smithy.api#xmlName": "interfaceType" } }, @@ -84817,6 +84834,13 @@ "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to a network interface. This option\n can be enabled for any network interface but will only apply to the primary network\n interface (eth0).

" } }, + "AssociatedSubnetIds": { + "target": "com.amazonaws.ec2#SubnetIdList", + "traits": { + "smithy.api#documentation": "

A list of subnet IDs to associate with the network interface.

", + "smithy.api#xmlName": "AssociatedSubnetId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -90233,6 +90257,14 @@ "smithy.api#documentation": "

The service provider that manages the network interface.

", "smithy.api#xmlName": "operator" } + }, + "AssociatedSubnets": { + "target": "com.amazonaws.ec2#AssociatedSubnetList", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedSubnetSet", + "smithy.api#documentation": "

The subnets associated with this network interface.

", + "smithy.api#xmlName": "associatedSubnetSet" + } } }, "traits": { @@ -108792,6 +108824,14 @@ "smithy.api#xmlName": "blockPublicAccessStates" } }, + "Type": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS).\n Possible values are Elastic VMware Service or no value. For more\n information about Amazon EVS, see \n Amazon Elastic VMware Service\n API Reference\n .

", + "smithy.api#xmlName": "type" + } + }, "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -108804,7 +108844,7 @@ "target": "com.amazonaws.ec2#SubnetState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the subnet.

", + "smithy.api#documentation": "

The current state of the subnet.

\n ", "smithy.api#xmlName": "state" } }, @@ -109093,6 +109133,15 @@ "com.amazonaws.ec2#SubnetId": { "type": "string" }, + "com.amazonaws.ec2#SubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "AssociatedSubnetId" + } + } + }, "com.amazonaws.ec2#SubnetIdStringList": { "type": "list", "member": { @@ -109221,6 +109270,18 @@ "traits": { "smithy.api#enumValue": "unavailable" } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "failed_insufficient_capacity": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-insufficient-capacity" + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/efs.json b/tools/code-generation/smithy/api-descriptions/efs.json index 68696e8d6b2..1cdec4a0301 100644 --- a/tools/code-generation/smithy/api-descriptions/efs.json +++ b/tools/code-generation/smithy/api-descriptions/efs.json @@ -94,7 +94,7 @@ "AccessPointArn": { "target": "com.amazonaws.efs#AccessPointArn", "traits": { - "smithy.api#documentation": "

The unique Amazon Resource Name (ARN) associated with the access point.

" + "smithy.api#documentation": "

The unique Amazon Resource Name (ARN) associated with the access\n point.

" } }, "FileSystemId": { @@ -337,7 +337,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an EFS access point. An access point is an application-specific view\n into an EFS file system that applies an operating system user and group, and a file\n system path, to any file system request made through the access point. The operating system\n user and group override any identity information provided by the NFS client. The file system\n path is exposed as the access point's root directory. Applications using the access point can\n only access data in the application's own directory and any subdirectories. To learn more, see\n Mounting a file\n system using EFS access points.

\n \n

If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of 1,000 access points, you may experience\n a throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

\n
\n

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

\n

Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

", + "smithy.api#documentation": "

Creates an EFS access point. An access point is an application-specific view\n into an EFS file system that applies an operating system user and group, and a file\n system path, to any file system request made through the access point. The operating system\n user and group override any identity information provided by the NFS client. The file system\n path is exposed as the access point's root directory. Applications using the access point can\n only access data in the application's own directory and any subdirectories. A file system can\n have a maximum of 10,000 access points unless you request an increase. To learn more, see\n Mounting a file\n system using EFS access points.

\n \n

If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of access points, you may experience a\n throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

\n
\n

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

\n

Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/access-points", @@ -418,7 +418,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

\n \n

Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

\n \n

For basic use cases, you can use a randomly generated UUID for the creation\n token.

\n
\n

The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

\n

For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

\n \n

The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

\n
\n

This operation accepts an optional PerformanceMode parameter that you choose\n for your file system. We recommend generalPurpose\n PerformanceMode for all file\n systems. The maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies\n than the generalPurpose mode. MaxIO mode is not supported for One Zone file systems or\n file systems that use Elastic throughput.

\n

The PerformanceMode can't be changed after the file system has been\n created. For more information, see Amazon EFS performance\n modes.

\n

You can set the throughput mode for the file system using the ThroughputMode\n parameter.

\n

After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in\n your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

\n

This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

\n

File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

", + "smithy.api#documentation": "

Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

\n \n

Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

\n \n

For basic use cases, you can use a randomly generated UUID for the creation\n token.

\n
\n

The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

\n

For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

\n \n

The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

\n
\n

This operation accepts an optional PerformanceMode parameter that you choose\n for your file system. We recommend generalPurpose\n PerformanceMode for all file\n systems. The maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies\n than the generalPurpose mode. MaxIO mode is not supported for One Zone file systems or\n file systems that use Elastic throughput.

\n

The PerformanceMode can't be changed after the file system has been\n created. For more information, see Amazon EFS performance\n modes.

\n

You can set the throughput mode for the file system using the ThroughputMode\n parameter.

\n

After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount\n your Amazon EFS file system on an EC2 instances in your VPC by using the mount\n target. For more information, see Amazon EFS: How it Works.

\n

This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

\n

File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/file-systems", @@ -464,7 +464,7 @@ "ProvisionedThroughputInMibps": { "target": "com.amazonaws.efs#ProvisionedThroughputInMibps", "traits": { - "smithy.api#documentation": "

The throughput, measured in mebibytes per second (MiBps), that you want to provision for a\n file system that you're creating. Required if ThroughputMode is set to\n provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on\n Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas\n that you can increase in the Amazon EFS User\n Guide.

" + "smithy.api#documentation": "

The throughput, measured in mebibytes per second (MiBps), that you want to provision for a\n file system that you're creating. Required if ThroughputMode is set to\n provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on\n Region. To increase this limit, contact Amazon Web ServicesSupport. For more information, see Amazon EFS quotas\n that you can increase in the Amazon EFS User\n Guide.

" } }, "AvailabilityZoneName": { @@ -540,7 +540,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

\n

You can create one mount target in each Availability Zone in your VPC. All EC2\n instances in a VPC within a given Availability Zone share a single mount target for a given\n file system. If you have multiple subnets in an Availability Zone, you create a mount target\n in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target\n in order to access their file system.

\n

You can create only one mount target for a One Zone file system.\n You must create that mount target in the same Availability Zone in which the file system is\n located. Use the AvailabilityZoneName and AvailabiltyZoneId\n properties in the DescribeFileSystems response object to get this\n information. Use the subnetId associated with the file system's Availability Zone\n when creating the mount target.

\n

For more information, see Amazon EFS: How it Works.

\n

To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

\n

In the request, provide the following:

\n \n

After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's DNS name\n when mounting the file system. The EC2 instance on which you mount the file system by using\n the mount target can resolve the mount target's DNS name to its IP address. For more\n information, see How it Works:\n Implementation Overview.

\n

Note that you can create mount targets for a file system in only one VPC, and there can\n be only one mount target per Availability Zone. That is, if the file system already has one or\n more mount targets created for it, the subnet specified in the request to add another mount\n target must meet the following requirements:

\n \n

If the request satisfies the requirements, Amazon EFS does the following:

\n \n \n

The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

\n
\n

We recommend that you create a mount target in each of the Availability Zones. There\n are cost considerations for using a file system in an Availability Zone through a mount target\n created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the\n Availability Zone in which your mount target is created goes down, then you can't access\n your file system through that mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n

This operation also requires permissions for the following Amazon EC2\n actions:

\n ", + "smithy.api#documentation": "

Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

\n

You can create one mount target in each Availability Zone in your VPC. All EC2 instances\n in a VPC within a given Availability Zone share a single mount target for a given file system. If\n you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets.\n EC2 instances do not need to be in the same subnet as the mount target in order to\n access their file system.

\n

You can create only one mount target for a One Zone file system. You must\n create that mount target in the same Availability Zone in which the file system is located. Use the\n AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the\n subnetId associated with the file system's Availability Zone when creating the mount\n target.

\n

For more information, see Amazon EFS: How it Works.

\n

To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

\n

In the request, provide the following:

\n \n

After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's\n DNS name when mounting the file system. The EC2 instance on which you mount the file\n system by using the mount target can resolve the mount target's DNS name to its IP\n address. For more information, see How it Works:\n Implementation Overview.

\n

Note that you can create mount targets for a file system in only one VPC, and there can be\n only one mount target per Availability Zone. That is, if the file system already has one or more\n mount targets created for it, the subnet specified in the request to add another mount target\n must meet the following requirements:

\n \n

If the request satisfies the requirements, Amazon EFS does the following:

\n \n \n

The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

\n
\n

We recommend that you create a mount target in each of the Availability Zones. There are cost\n considerations for using a file system in an Availability Zone through a mount target created in\n another Availability Zone. For more information, see Amazon EFS pricing. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in\n which your mount target is created goes down, then you can't access your file system\n through that mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n

This operation also requires permissions for the following Amazon EC2\n actions:

\n ", "smithy.api#examples": [ { "title": "To create a new mount target", @@ -580,20 +580,32 @@ "SubnetId": { "target": "com.amazonaws.efs#SubnetId", "traits": { - "smithy.api#documentation": "

The ID of the subnet to add the mount target in. For One Zone file systems, use the\n subnet that is associated with the file system's Availability Zone.

", + "smithy.api#documentation": "

The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet\n that is associated with the file system's Availability Zone.

", "smithy.api#required": {} } }, "IpAddress": { "target": "com.amazonaws.efs#IpAddress", "traits": { - "smithy.api#documentation": "

Valid IPv4 address within the address range of the specified subnet.

" + "smithy.api#documentation": "

If the IP address type for the mount target is IPv4, then specify the IPv4 address within\n the address range of the specified subnet.

" + } + }, + "Ipv6Address": { + "target": "com.amazonaws.efs#Ipv6Address", + "traits": { + "smithy.api#documentation": "

If the IP address type for the mount target is IPv6, then specify the IPv6 address within\n the address range of the specified subnet.

" + } + }, + "IpAddressType": { + "target": "com.amazonaws.efs#IpAddressType", + "traits": { + "smithy.api#documentation": "

Specify the type of IP address of the mount target you are creating. Options are IPv4,\n dual stack, or IPv6. If you don’t specify an IpAddressType, then IPv4 is used.

\n \n \n

Creating IPv6 mount target only ENI in dual-stack subnet is not supported.

\n
" } }, "SecurityGroups": { "target": "com.amazonaws.efs#SecurityGroups", "traits": { - "smithy.api#documentation": "

Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be\n for the same VPC as subnet specified.

" + "smithy.api#documentation": "

VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same\n VPC as the subnet specified. The maximum number of security groups depends on account quota.\n For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Security Groups\n table).\n

" } } }, @@ -957,7 +969,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified mount target.

\n

This operation forcibly breaks any mounts of the file system by using the mount target\n that is being deleted, which might disrupt instances or applications using those mounts. To\n avoid applications getting cut off abruptly, you might consider unmounting any mounts of the\n mount target, if feasible. The operation also deletes the associated network interface.\n Uncommitted writes might be lost, but breaking a mount target using this operation does not\n corrupt the file system itself. The file system you created remains. You can mount an EC2\n instance in your VPC by using another mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n \n

The DeleteMountTarget call returns while the mount target state is still\n deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target\n descriptions for the given file system.

\n
\n

The operation also requires permissions for the following Amazon EC2 action on the\n mount target's network interface:

\n ", + "smithy.api#documentation": "

Deletes the specified mount target.

\n

This operation forcibly breaks any mounts of the file system by using the mount target\n that is being deleted, which might disrupt instances or applications using those mounts. To\n avoid applications getting cut off abruptly, you might consider unmounting any mounts of the\n mount target, if feasible. The operation also deletes the associated network interface.\n Uncommitted writes might be lost, but breaking a mount target using this operation does not\n corrupt the file system itself. The file system you created remains. You can mount an\n EC2 instance in your VPC by using another mount target.

\n

This operation requires permissions for the following action on the file\n system:

\n \n \n

The DeleteMountTarget call returns while the mount target state is still\n deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target\n descriptions for the given file system.

\n
\n

The operation also requires permissions for the following Amazon EC2 action on the\n mount target's network interface:

\n ", "smithy.api#examples": [ { "title": "To delete a mount target", @@ -1530,7 +1542,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current LifecycleConfiguration object for the specified Amazon\n EFS file system. Lifecycle management uses the LifecycleConfiguration object to\n identify when to move files between storage classes. For a file system without a\n LifecycleConfiguration object, the call returns an empty array in the\n response.

\n

This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

", + "smithy.api#documentation": "

Returns the current LifecycleConfiguration object for the specified\n EFS file system. Lifecycle management uses the LifecycleConfiguration\n object to identify when to move files between storage classes. For a file system without a\n LifecycleConfiguration object, the call returns an empty array in the\n response.

\n

This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

", "smithy.api#examples": [ { "title": "To describe the lifecycle configuration for a file system", @@ -2027,7 +2039,7 @@ "RoleArn": { "target": "com.amazonaws.efs#RoleArn", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role in the source account that allows Amazon EFS\n to perform replication on its behalf. This is optional for same-account \n replication and required for cross-account replication.

" + "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role in the source account that allows\n Amazon EFS to perform replication on its behalf. This is optional for same-account\n replication and required for cross-account replication.

" } } }, @@ -2059,13 +2071,13 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

The ID or ARN of the file system to use for the destination. \n For cross-account replication, this must be an ARN. The file system's \n replication overwrite replication must be disabled. If no ID or ARN is \n specified, then a new file system is created.

" + "smithy.api#documentation": "

The ID or ARN of the file system to use for the destination. \n For cross-account replication, this must be an ARN. The file system's \n replication overwrite replication must be disabled. If no ID or ARN is \n specified, then a new file system is created.

\n \n

When you initially configure replication to an existing file system, Amazon EFS\n writes data to or removes existing data from the destination file system to match data in\n the source file system. If you don't want to change data in the destination file system,\n then you should replicate to a new file system instead. For more information, see https://docs.aws.amazon.com/efs/latest/ug/create-replication.html.

\n
" } }, "RoleArn": { "target": "com.amazonaws.efs#RoleArn", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role in the source account that allows Amazon EFS\n to perform replication on its behalf. This is optional for same-account \n replication and required for cross-account replication.

" + "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role in the source account that allows\n Amazon EFS to perform replication on its behalf. This is optional for same-account\n replication and required for cross-account replication.

" } } }, @@ -2158,7 +2170,7 @@ "FileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the EFS file system, in the format\n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n .\n Example with sample data:\n arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the EFS file system, in the\n format\n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n .\n Example with sample data:\n arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

" } }, "CreationTime": { @@ -2361,7 +2373,7 @@ "ReplicationOverwriteProtection": { "target": "com.amazonaws.efs#ReplicationOverwriteProtection", "traits": { - "smithy.api#documentation": "

The status of the file system's replication overwrite protection.

\n \n

If the replication configuration is deleted, the file system's replication overwrite\n protection is re-enabled, the file system becomes writeable.

" + "smithy.api#documentation": "

The status of the file system's replication overwrite protection.

\n \n

If the replication configuration is deleted, the file system's replication overwrite\n protection is re-enabled, the file system becomes writeable.

" } } }, @@ -2548,6 +2560,38 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.efs#IpAddressType": { + "type": "enum", + "members": { + "IPV4_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPV4_ONLY" + } + }, + "IPV6_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPV6_ONLY" + } + }, + "DUAL_STACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUAL_STACK" + } + } + } + }, + "com.amazonaws.efs#Ipv6Address": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 39 + } + } + }, "com.amazonaws.efs#KmsKeyId": { "type": "string", "traits": { @@ -2845,17 +2889,11 @@ "name": "elasticfilesystem" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "Amazon Elastic File System\n

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for\n use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and\n remove files, so that your applications have the storage they need, when they need it. For\n more information, see the Amazon Elastic File System API Reference and the Amazon Elastic File System User Guide.

", + "smithy.api#documentation": "Amazon Elastic File System\n

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for\n use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With\n Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you\n add and remove files, so that your applications have the storage they need, when they need it.\n For more information, see the Amazon Elastic File System API Reference and\n the Amazon Elastic File System\n User Guide.

", "smithy.api#title": "Amazon Elastic File System", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -2875,6 +2913,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -2906,152 +2950,201 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false ] }, { "fn": "booleanEquals", "argv": [ - true, + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws" ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs-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" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + }, { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "rules": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ { "fn": "getAttr", @@ -3059,589 +3152,393 @@ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] }, + "aws-cn" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, true ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws-us-gov" ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-3.amazonaws.com" + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": true, - "UseDualStack": false - } - }, + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.me-south-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "me-south-1", - "UseFIPS": false, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.me-south-1.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "me-south-1", - "UseFIPS": true, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.sa-east-1.amazonaws.com" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "sa-east-1", + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-1.amazonaws.com" + "url": "https://efs-fips.us-east-1.api.aws" } }, "params": { "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": true } }, { @@ -3658,135 +3555,70 @@ } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-2.amazonaws.com" + "url": "https://efs.us-east-1.api.aws" } }, "params": { - "Region": "us-east-2", + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-west-1.amazonaws.com" + "url": "https://elasticfilesystem.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-1.amazonaws.com" + "url": "https://efs-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-west-1", + "Region": "cn-northwest-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-2.amazonaws.com" + "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-2", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-1.api.aws" + "url": "https://efs.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, { "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { @@ -3801,70 +3633,44 @@ } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://efs-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "cn-northwest-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://efs.us-gov-west-1.api.aws" } }, "params": { - "Region": "cn-north-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -3879,40 +3685,36 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-gov-west-1", + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.api.aws" + "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": true } @@ -3931,36 +3733,36 @@ } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "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-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": true } @@ -3979,89 +3781,99 @@ } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk" + } }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-isoe-west-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", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-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-isof-south-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "url": "https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { @@ -4165,7 +3977,7 @@ "SecurityGroups": { "target": "com.amazonaws.efs#SecurityGroups", "traits": { - "smithy.api#documentation": "

An array of up to five VPC security group IDs.

" + "smithy.api#documentation": "

An array of VPC security group IDs.

" } } }, @@ -4245,6 +4057,12 @@ "smithy.api#documentation": "

Address at which the file system can be mounted by using the mount target.

" } }, + "Ipv6Address": { + "target": "com.amazonaws.efs#Ipv6Address", + "traits": { + "smithy.api#documentation": "

The IPv6 address for the mount target.

" + } + }, "NetworkInterfaceId": { "target": "com.amazonaws.efs#NetworkInterfaceId", "traits": { @@ -4254,13 +4072,13 @@ "AvailabilityZoneId": { "target": "com.amazonaws.efs#AvailabilityZoneId", "traits": { - "smithy.api#documentation": "

The unique and consistent identifier of the Availability Zone that the mount target resides in. \n For example, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every Amazon Web Services account.

" + "smithy.api#documentation": "

The unique and consistent identifier of the Availability Zone that the mount target resides in.\n For example, use1-az1 is an AZ ID for the us-east-1 Region and it\n has the same location in every Amazon Web Services account.

" } }, "AvailabilityZoneName": { "target": "com.amazonaws.efs#AvailabilityZoneName", "traits": { - "smithy.api#documentation": "

The name of the Availability Zone in which the mount target is located. Availability Zones are \n independently mapped to names for each Amazon Web Services account. For example, the Availability Zone \n us-east-1a for your Amazon Web Services account might not be the same location as us-east-1a for another Amazon Web Services account.

" + "smithy.api#documentation": "

The name of the Availability Zone in which the mount target is located. Availability Zones are\n independently mapped to names for each Amazon Web Services account. For example, the\n Availability Zone us-east-1a for your Amazon Web Services account might not be the\n same location as us-east-1a for another Amazon Web Services account.

" } }, "VpcId": { @@ -4329,7 +4147,7 @@ } }, "traits": { - "smithy.api#documentation": "

The calling account has reached the limit for elastic network interfaces for the\n specific Amazon Web Services Region. Either delete some network interfaces or request\n that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Network\n interfaces per Region entry in the Network\n interfaces table).

", + "smithy.api#documentation": "

The calling account has reached the limit for elastic network interfaces for the\n specific Amazon Web Services Region. Either delete some network interfaces or request\n that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Network\n interfaces per Region entry in the Network\n interfaces table).

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -4429,7 +4247,7 @@ } }, "traits": { - "smithy.api#documentation": "

Returned if the default file system policy is in effect for the EFS file system specified.

", + "smithy.api#documentation": "

Returned if no backup is specified for a One Zone EFS file system.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -4763,14 +4581,14 @@ "SourceFileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the current source file system in the replication\n configuration.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the current source file system in the\n replication configuration.

", "smithy.api#required": {} } }, "OriginalSourceFileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the original source EFS file system in the\n replication configuration.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the original source EFS file\n system in the replication configuration.

", "smithy.api#required": {} } }, @@ -5033,7 +4851,7 @@ } }, "traits": { - "smithy.api#documentation": "

Returned if the size of SecurityGroups specified in the request is\n greater than five.

", + "smithy.api#documentation": "

Returned if the number of SecurityGroups specified in the request is\n greater than the limit, which is based on account quota. Either delete some security groups\n or request that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Security Groups\n table).\n

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5673,7 +5491,7 @@ "ProvisionedThroughputInMibps": { "target": "com.amazonaws.efs#ProvisionedThroughputInMibps", "traits": { - "smithy.api#documentation": "

(Optional) The throughput, measured in mebibytes per second (MiBps), that you want to\n provision for a file system that you're creating. Required if ThroughputMode\n is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit\n depending on Region. To increase this limit, contact Amazon Web Services Support. For more information,\n see Amazon EFS\n quotas that you can increase in the Amazon EFS User\n Guide.

" + "smithy.api#documentation": "

(Optional) The throughput, measured in mebibytes per second (MiBps), that you want to\n provision for a file system that you're creating. Required if ThroughputMode\n is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit\n depending on Region. To increase this limit, contact Amazon Web ServicesSupport. For more information,\n see Amazon EFS\n quotas that you can increase in the Amazon EFS User\n Guide.

" } } }, diff --git a/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json b/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json index 797ba6f9d86..865b1def435 100644 --- a/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json +++ b/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json @@ -95,7 +95,7 @@ "name": "aws-marketplace" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Catalog API actions allow you to manage your entities through list, describe, and\n update capabilities. An entity can be a product or an offer on AWS Marketplace.

\n

You can automate your entity update process by integrating the AWS Marketplace Catalog\n API with your AWS Marketplace product build or deployment pipelines. You can also create\n your own applications on top of the Catalog API to manage your products on AWS\n Marketplace.

", + "smithy.api#documentation": "

Catalog API actions allow you to manage your entities through list, describe, and\n update capabilities. An entity can be a product or an offer on AWS Marketplace.

\n

You can automate your entity update process by integrating the AWS Marketplace Catalog\n API with your AWS Marketplace product build or deployment pipelines. You can also create\n your own applications on top of the Catalog API to manage your products on AWS\n Marketplace.

", "smithy.api#title": "AWS Marketplace Catalog Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1237,7 +1237,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

Alternative field that accepts a JSON value instead of a string for\n ChangeType details. You can use either Details or\n DetailsDocument, but not both.

" + "smithy.api#documentation": "

Alternative field that accepts a JSON value instead of a string for\n ChangeType details. You can use either Details or\n DetailsDocument, but not both.

\n

To download the \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

" } }, "ChangeName": { @@ -1398,7 +1398,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

The JSON value of the details specific to the change type of the requested change.

" + "smithy.api#documentation": "

The JSON value of the details specific to the change type of the requested change.

\n

To download the \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

" } }, "ErrorDetailList": { @@ -2270,7 +2270,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

The JSON value of the details specific to the entity.

" + "smithy.api#documentation": "

The JSON value of the details specific to the entity.

\n

To download \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

" } } }, @@ -2474,6 +2474,9 @@ "traits": { "smithy.api#documentation": "

An object that contains summary information about the Resale Authorization.

" } + }, + "MachineLearningProductSummary": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSummary" } }, "traits": { @@ -2534,6 +2537,9 @@ "traits": { "smithy.api#documentation": "

A filter for Resale Authorizations.

" } + }, + "MachineLearningProductFilters": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductFilters" } }, "traits": { @@ -2578,6 +2584,9 @@ "traits": { "smithy.api#documentation": "

A sort for Resale Authorizations.

" } + }, + "MachineLearningProductSort": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSort" } }, "traits": { @@ -3132,6 +3141,285 @@ "smithy.api#output": {} } }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilterValueList", + "traits": { + "smithy.api#documentation": "

A list of entity IDs to filter by. The operation returns machine learning products with entity IDs that match the values in this list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filter for machine learning product entity IDs.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdString" + }, + "traits": { + "smithy.api#documentation": "

A list of entity ID values to filter by. You can include up to 10 entity IDs in this list.

", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdString": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The entity ID of a machine learning product. This string uniquely identifies the product.

", + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductFilters": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilter", + "traits": { + "smithy.api#documentation": "

Filter machine learning products by their entity IDs.

" + } + }, + "LastModifiedDate": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilter", + "traits": { + "smithy.api#documentation": "

Filter machine learning products by their last modified date.

" + } + }, + "ProductTitle": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilter", + "traits": { + "smithy.api#documentation": "

Filter machine learning products by their product titles.

" + } + }, + "Visibility": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilter", + "traits": { + "smithy.api#documentation": "

Filter machine learning products by their visibility status.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilter": { + "type": "structure", + "members": { + "DateRange": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilterDateRange", + "traits": { + "smithy.api#documentation": "

A date range to filter by. The operation returns machine learning products with last modified dates that fall within this range.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filter for machine learning product last modified date.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilterDateRange": { + "type": "structure", + "members": { + "AfterValue": { + "target": "com.amazonaws.marketplacecatalog#DateTimeISO8601", + "traits": { + "smithy.api#documentation": "

The start date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or after this date.

" + } + }, + "BeforeValue": { + "target": "com.amazonaws.marketplacecatalog#DateTimeISO8601", + "traits": { + "smithy.api#documentation": "

The end date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or before this date.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A date range for filtering machine learning products by their last modified date.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSort": { + "type": "structure", + "members": { + "SortBy": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSortBy", + "traits": { + "smithy.api#documentation": "

The field to sort by. Valid values: EntityId, LastModifiedDate, ProductTitle, and Visibility.

" + } + }, + "SortOrder": { + "target": "com.amazonaws.marketplacecatalog#SortOrder", + "traits": { + "smithy.api#documentation": "

The sort order. Valid values are ASC (ascending) and DESC (descending).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The sort options for machine learning products.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSortBy": { + "type": "enum", + "members": { + "EntityId": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EntityId" + } + }, + "LastModifiedDate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LastModifiedDate" + } + }, + "ProductTitle": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ProductTitle" + } + }, + "Visibility": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Visibility" + } + } + }, + "traits": { + "smithy.api#documentation": "

The fields that you can sort machine learning products by.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSummary": { + "type": "structure", + "members": { + "ProductTitle": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString", + "traits": { + "smithy.api#documentation": "

The title of the machine learning product.

" + } + }, + "Visibility": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString", + "traits": { + "smithy.api#documentation": "

The visibility status of the machine learning product. Valid values are Limited, Public, Restricted, and Draft.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of a machine learning product.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilterValueList", + "traits": { + "smithy.api#documentation": "

A list of product titles to filter by. The operation returns machine learning products with titles that exactly match the values in this list.

" + } + }, + "WildCardValue": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString", + "traits": { + "smithy.api#documentation": "

A wildcard value to filter product titles. The operation returns machine learning products with titles that match this wildcard pattern.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filter for machine learning product titles.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString" + }, + "traits": { + "smithy.api#documentation": "

A list of product title values to filter by. You can include up to 10 product titles in this list.

", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The title of a machine learning product.

", + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^(.)+$" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilterValueList", + "traits": { + "smithy.api#documentation": "

A list of visibility values to filter by. The operation returns machine learning products with visibility status that match the values in this list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filter for machine learning product visibility status.

" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString" + }, + "traits": { + "smithy.api#documentation": "

A list of visibility status values to filter by. You can include up to 10 visibility status values in this list.

", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString": { + "type": "enum", + "members": { + "Limited": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Limited" + } + }, + "Public": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Public" + } + }, + "Restricted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Restricted" + } + }, + "Draft": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Draft" + } + } + }, + "traits": { + "smithy.api#documentation": "

The visibility status of a machine learning product. Valid values are:

\n " + } + }, "com.amazonaws.marketplacecatalog#NextToken": { "type": "string", "traits": { @@ -5172,7 +5460,7 @@ } ], "traits": { - "smithy.api#documentation": "

Allows you to request changes for your entities. Within a single\n ChangeSet, you can't start the same change type against the same entity\n multiple times. Additionally, when a ChangeSet is running, all the entities\n targeted by the different changes are locked until the change set has completed (either\n succeeded, cancelled, or failed). If you try to start a change set containing a change\n against an entity that is already locked, you will receive a\n ResourceInUseException error.

\n

For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same\n change type (AddRevisions) against the same entity\n (entity-id@1).

\n

For more information about working with change sets, see Working with change sets. For information about change types for\n single-AMI products, see Working with single-AMI products. Also, for more information about change\n types available for container-based products, see Working with container products.

", + "smithy.api#documentation": "

Allows you to request changes for your entities. Within a single\n ChangeSet, you can't start the same change type against the same entity\n multiple times. Additionally, when a ChangeSet is running, all the entities\n targeted by the different changes are locked until the change set has completed (either\n succeeded, cancelled, or failed). If you try to start a change set containing a change\n against an entity that is already locked, you will receive a\n ResourceInUseException error.

\n

For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same\n change type (AddRevisions) against the same entity\n (entity-id@1).

\n

For more information about working with change sets, see Working with change sets. For information about change types for\n single-AMI products, see Working with single-AMI products. Also, for more information about change\n types available for container-based products, see Working with container products.

\n

To download \"DetailsDocument\" shapes, see Python \n and Java shapes on GitHub.

", "smithy.api#http": { "method": "POST", "uri": "/StartChangeSet", diff --git a/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json b/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json index 9fad71e496a..a8b61288601 100644 --- a/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json +++ b/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json @@ -85,7 +85,7 @@ } }, "traits": { - "smithy.api#documentation": "

The requested operation would cause a conflict with the current state of a service\n resource associated with the request. Resolve the conflict before retrying this\n request.

", + "smithy.api#documentation": "

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -145,7 +145,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

", "smithy.api#required": {} } }, @@ -158,7 +158,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "maintenanceWindow": { @@ -182,13 +182,13 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the\n environment.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the environment.

" } }, "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

", "smithy.api#idempotencyToken": {} } }, @@ -338,7 +338,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

", "smithy.api#httpQuery": "clientToken", "smithy.api#idempotencyToken": {} } @@ -410,7 +410,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

", "smithy.api#httpQuery": "clientToken", "smithy.api#idempotencyToken": {} } @@ -488,7 +488,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

", + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

", "smithy.api#idempotencyToken": {} } } @@ -610,13 +610,13 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "softwareSetComplianceStatus": { "target": "com.amazonaws.workspacesthinclient#DeviceSoftwareSetComplianceStatus", "traits": { - "smithy.api#documentation": "

Describes if the software currently installed on the device is a supported\n version.

" + "smithy.api#documentation": "

Describes if the software currently installed on the device is a supported version.

" } }, "softwareSetUpdateStatus": { @@ -658,7 +658,7 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n device.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the device.

" } }, "tags": { @@ -846,7 +846,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "lastConnectedAt": { @@ -902,7 +902,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

" } }, "desktopEndpoint": { @@ -932,7 +932,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "maintenanceWindow": { @@ -968,7 +968,7 @@ "softwareSetComplianceStatus": { "target": "com.amazonaws.workspacesthinclient#EnvironmentSoftwareSetComplianceStatus", "traits": { - "smithy.api#documentation": "

Describes if the software currently installed on all devices in the environment is a\n supported version.

" + "smithy.api#documentation": "

Describes if the software currently installed on all devices in the environment is a supported version.

" } }, "createdAt": { @@ -992,7 +992,7 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n environment.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the environment.

" } }, "tags": { @@ -1079,7 +1079,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

" } }, "desktopEndpoint": { @@ -1103,7 +1103,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "maintenanceWindow": { @@ -1450,14 +1450,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", "smithy.api#httpQuery": "maxResults" } } @@ -1478,7 +1478,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1533,14 +1533,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", "smithy.api#httpQuery": "maxResults" } } @@ -1561,7 +1561,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1616,14 +1616,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

", + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

\n

This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

", + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", "smithy.api#httpQuery": "maxResults" } } @@ -1644,7 +1644,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

" + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1695,7 +1695,7 @@ "resourceArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to retrieve\n tags.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1738,7 +1738,7 @@ "startTimeMinute": { "target": "com.amazonaws.workspacesthinclient#Minute", "traits": { - "smithy.api#documentation": "

The minutes past the hour for the maintenance window start\n (00-59).

" + "smithy.api#documentation": "

The minutes past the hour for the maintenance window start (00-59).

" } }, "endTimeHour": { @@ -1762,7 +1762,7 @@ "applyTimeOf": { "target": "com.amazonaws.workspacesthinclient#ApplyTimeOf", "traits": { - "smithy.api#documentation": "

The option to set the maintenance window during the device local time or Universal\n Coordinated Time (UTC).

" + "smithy.api#documentation": "

The option to set the maintenance window during the device local time or Universal Coordinated Time (UTC).

" } } }, @@ -2285,7 +2285,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

Amazon WorkSpaces Thin Client is an affordable device built to work with Amazon Web Services End User\n Computing (EUC) virtual desktops to provide users with a complete cloud desktop\n solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB\n devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client\n devices do not allow local data storage or installation of unapproved applications. The\n WorkSpaces Thin Client device ships preloaded with device management software.

\n

You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or\n viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to\n use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For\n more information about using the Command Line Interface (CLI) to manage\n your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the\n CLI Reference.

", + "smithy.api#documentation": "

Amazon WorkSpaces Thin Client is an affordable device built to work with Amazon Web Services End User Computing (EUC) virtual desktops to provide users with a complete cloud desktop solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client devices do not allow local data storage or installation of unapproved applications. The WorkSpaces Thin Client device ships preloaded with device management software.

You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For more information about using the Command Line Interface (CLI) to manage your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the CLI Reference.

", "smithy.api#title": "Amazon WorkSpaces Thin Client", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3042,7 +3042,7 @@ "tagKeys": { "target": "com.amazonaws.workspacesthinclient#TagKeys", "traits": { - "smithy.api#documentation": "

The keys of the key-value pairs for the tag or tags you want to remove from the\n specified resource.

", + "smithy.api#documentation": "

The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -3123,7 +3123,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } } }, @@ -3157,6 +3157,9 @@ { "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, { "target": "com.amazonaws.workspacesthinclient#InternalServerException" }, @@ -3203,7 +3206,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

" } }, "desktopEndpoint": { @@ -3215,7 +3218,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance\n window.

" + "smithy.api#documentation": "

An option to define if software updates should be applied within a maintenance window.

" } }, "maintenanceWindow": { From e8f93fcadef03dc7ba3e94f6e046322f390888a4 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Mon, 9 Jun 2025 18:12:42 +0000 Subject: [PATCH 02/26] Deprecate `atRestEncryptionEnabled` and `transitEncryptionEnabled` attributes in `CreateApiCache` action. Encryption is always enabled for new caches. Release to support Elastic VMware Service (Amazon EVS) Subnet and Amazon EVS Network Interface Types. Support dual-stack endpoints for ce api Add ConflictException to UpdateEnvironment API Added support for Internet Protocol Version 6 (IPv6) on EFS Service APIs and mount targets. The ListEntities API now supports the EntityID, LastModifiedDate, ProductTitle, and Visibility filters for machine learning products. You can also sort using all of those filters. This release introduces capability of Profile Explorer, using correct ingestion timestamp & using historical data for computing calculated attributes, and new standard objects for T&H as part of Amazon Connect Customer Profiles service. --- VERSION | 2 +- .../aws/appsync/model/CreateApiCacheRequest.h | 28 - .../source/model/CreateApiCacheRequest.cpp | 12 - .../source/CostExplorerEndpointRules.cpp | 464 ++--- .../CustomerProfilesClient.h | 131 ++ .../CustomerProfilesServiceClientModel.h | 25 + .../model/CalculatedAttributeValue.h | 17 + ...eateCalculatedAttributeDefinitionRequest.h | 14 + ...reateCalculatedAttributeDefinitionResult.h | 43 + .../model/CreateDomainLayoutRequest.h | 165 ++ .../model/CreateDomainLayoutResult.h | 198 ++ .../model/CreateProfileRequest.h | 2 +- .../model/DeleteDomainLayoutRequest.h | 69 + .../model/DeleteDomainLayoutResult.h | 65 + .../GetCalculatedAttributeDefinitionResult.h | 43 + .../GetCalculatedAttributeForProfileResult.h | 16 + .../model/GetDomainLayoutRequest.h | 69 + .../model/GetDomainLayoutResult.h | 198 ++ .../aws/customer-profiles/model/LayoutItem.h | 172 ++ .../aws/customer-profiles/model/LayoutType.h | 30 + .../ListCalculatedAttributeDefinitionItem.h | 29 + .../ListCalculatedAttributeForProfileItem.h | 17 + .../model/ListDomainLayoutsRequest.h | 88 + .../model/ListDomainLayoutsResult.h | 83 + .../aws/customer-profiles/model/Profile.h | 2 +- .../aws/customer-profiles/model/Range.h | 61 + .../aws/customer-profiles/model/Readiness.h | 75 + .../customer-profiles/model/ReadinessStatus.h | 33 + .../model/StandardIdentifier.h | 9 + ...pdateCalculatedAttributeDefinitionResult.h | 43 + .../model/UpdateDomainLayoutRequest.h | 145 ++ .../model/UpdateDomainLayoutResult.h | 198 ++ .../model/UpdateProfileRequest.h | 2 +- .../aws/customer-profiles/model/ValueRange.h | 75 + .../source/CustomerProfilesClient.cpp | 199 ++ .../source/model/CalculatedAttributeValue.cpp | 10 + ...teCalculatedAttributeDefinitionRequest.cpp | 6 + ...ateCalculatedAttributeDefinitionResult.cpp | 15 + .../model/CreateDomainLayoutRequest.cpp | 64 + .../source/model/CreateDomainLayoutResult.cpp | 93 + .../model/DeleteDomainLayoutRequest.cpp | 22 + .../source/model/DeleteDomainLayoutResult.cpp | 44 + ...GetCalculatedAttributeDefinitionResult.cpp | 15 + ...GetCalculatedAttributeForProfileResult.cpp | 5 + .../source/model/GetDomainLayoutRequest.cpp | 22 + .../source/model/GetDomainLayoutResult.cpp | 93 + .../source/model/LayoutItem.cpp | 134 ++ .../source/model/LayoutType.cpp | 65 + .../ListCalculatedAttributeDefinitionItem.cpp | 21 + .../ListCalculatedAttributeForProfileItem.cpp | 10 + .../source/model/ListDomainLayoutsRequest.cpp | 43 + .../source/model/ListDomainLayoutsResult.cpp | 53 + .../source/model/Range.cpp | 33 + .../source/model/Readiness.cpp | 62 + .../source/model/ReadinessStatus.cpp | 86 + .../source/model/StandardIdentifier.cpp | 63 + ...ateCalculatedAttributeDefinitionResult.cpp | 15 + .../model/UpdateDomainLayoutRequest.cpp | 53 + .../source/model/UpdateDomainLayoutResult.cpp | 93 + .../source/model/ValueRange.cpp | 62 + .../include/aws/ec2/EC2Client.h | 16 +- .../include/aws/ec2/model/Address.h | 15 + .../model/DescribeNetworkInterfacesRequest.h | 6 +- .../aws/ec2/model/InstanceNetworkInterface.h | 3 +- .../ModifyNetworkInterfaceAttributeRequest.h | 19 +- .../include/aws/ec2/model/NetworkInterface.h | 17 + .../include/aws/ec2/model/Subnet.h | 25 +- .../include/aws/ec2/model/SubnetState.h | 4 +- .../aws-cpp-sdk-ec2/source/model/Address.cpp | 15 + ...ModifyNetworkInterfaceAttributeRequest.cpp | 11 + .../source/model/NetworkInterface.cpp | 30 + .../aws-cpp-sdk-ec2/source/model/Subnet.cpp | 15 + .../source/model/SubnetState.cpp | 14 + .../include/aws/elasticfilesystem/EFSClient.h | 27 +- .../model/CreateFileSystemRequest.h | 2 +- .../model/CreateMountTargetRequest.h | 47 +- .../model/CreateMountTargetResult.h | 14 + .../model/DestinationToCreate.h | 8 +- .../model/FileSystemProtectionDescription.h | 2 +- .../elasticfilesystem/model/IpAddressType.h | 32 + .../ModifyMountTargetSecurityGroupsRequest.h | 2 +- .../model/MountTargetDescription.h | 15 + .../model/NetworkInterfaceLimitExceeded.h | 2 +- .../elasticfilesystem/model/PolicyNotFound.h | 4 +- .../model/SecurityGroupLimitExceeded.h | 9 +- .../model/UpdateFileSystemProtectionResult.h | 2 +- .../model/UpdateFileSystemRequest.h | 2 +- .../source/EFSEndpointRules.cpp | 349 ++-- .../source/model/CreateMountTargetRequest.cpp | 11 + .../source/model/CreateMountTargetResult.cpp | 5 + .../source/model/IpAddressType.cpp | 79 + .../source/model/MountTargetDescription.cpp | 11 + .../MarketplaceCatalogClient.h | 8 +- .../aws/marketplace-catalog/model/Change.h | 7 +- .../marketplace-catalog/model/ChangeSummary.h | 6 +- .../model/DescribeEntityResult.h | 7 +- .../marketplace-catalog/model/EntitySummary.h | 14 + .../model/EntityTypeFilters.h | 14 + .../model/EntityTypeSort.h | 14 + .../MachineLearningProductEntityIdFilter.h | 64 + .../model/MachineLearningProductFilters.h | 109 ++ ...ineLearningProductLastModifiedDateFilter.h | 61 + ...ngProductLastModifiedDateFilterDateRange.h | 77 + .../model/MachineLearningProductSort.h | 74 + .../model/MachineLearningProductSortBy.h | 33 + .../model/MachineLearningProductSummary.h | 75 + .../model/MachineLearningProductTitleFilter.h | 79 + .../MachineLearningProductVisibilityFilter.h | 63 + .../MachineLearningProductVisibilityString.h | 33 + .../source/model/EntitySummary.cpp | 11 + .../source/model/EntityTypeFilters.cpp | 11 + .../source/model/EntityTypeSort.cpp | 11 + .../MachineLearningProductEntityIdFilter.cpp | 60 + .../model/MachineLearningProductFilters.cpp | 84 + ...eLearningProductLastModifiedDateFilter.cpp | 51 + ...ProductLastModifiedDateFilterDateRange.cpp | 62 + .../model/MachineLearningProductSort.cpp | 60 + .../model/MachineLearningProductSortBy.cpp | 86 + .../model/MachineLearningProductSummary.cpp | 61 + .../MachineLearningProductTitleFilter.cpp | 71 + ...MachineLearningProductVisibilityFilter.cpp | 60 + ...MachineLearningProductVisibilityString.cpp | 86 + .../CostExplorerEndpointProviderTests.cpp | 167 +- .../CustomerProfilesIncludeTests.cpp | 15 + .../EFSEndpointProviderTests.cpp | 551 +----- .../EFSIncludeTests.cpp | 1 + .../MarketplaceCatalogIncludeTests.cpp | 10 + .../include/aws/core/VersionConfig.h | 4 +- .../appsync-2017-07-25.normal.json | 52 +- .../customer-profiles-2020-08-15.normal.json | 647 ++++++- .../ec2-2016-11-15.normal.json | 46 +- .../elasticfilesystem-2015-02-01.normal.json | 51 +- ...marketplace-catalog-2018-09-17.normal.json | 201 +- ...kspaces-thin-client-2023-08-22.normal.json | 13 +- .../ce-2017-10-25.endpoint-rule-set.json | 850 +++++---- .../ce-2017-10-25.endpoint-tests.json | 318 ++-- ...lesystem-2015-02-01.endpoint-rule-set.json | 566 ++++-- ...cfilesystem-2015-02-01.endpoint-tests.json | 736 ++------ .../codegen/cpp-smoke-tests/smithy-build.json | 1624 ++++++++--------- 139 files changed, 8936 insertions(+), 3185 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutItem.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutType.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Readiness.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ReadinessStatus.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutRequest.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutResult.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ValueRange.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutItem.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutType.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/Readiness.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ReadinessStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutResult.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/model/ValueRange.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/IpAddressType.h create mode 100644 generated/src/aws-cpp-sdk-elasticfilesystem/source/model/IpAddressType.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductEntityIdFilter.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductFilters.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilter.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilterDateRange.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSort.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSortBy.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSummary.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductTitleFilter.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityFilter.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityString.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductEntityIdFilter.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductFilters.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilter.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilterDateRange.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSort.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSortBy.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSummary.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductTitleFilter.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityFilter.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityString.cpp diff --git a/VERSION b/VERSION index 026a437e67a..a50ec77753a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.584 \ No newline at end of file +1.11.585 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h index 24f7d148e41..21e70f69a96 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h @@ -62,28 +62,6 @@ namespace Model inline CreateApiCacheRequest& WithTtl(long long value) { SetTtl(value); return *this;} ///@} - ///@{ - /** - *

Transit encryption flag when connecting to cache. You cannot update this - * setting after creation.

- */ - inline bool GetTransitEncryptionEnabled() const { return m_transitEncryptionEnabled; } - inline bool TransitEncryptionEnabledHasBeenSet() const { return m_transitEncryptionEnabledHasBeenSet; } - inline void SetTransitEncryptionEnabled(bool value) { m_transitEncryptionEnabledHasBeenSet = true; m_transitEncryptionEnabled = value; } - inline CreateApiCacheRequest& WithTransitEncryptionEnabled(bool value) { SetTransitEncryptionEnabled(value); return *this;} - ///@} - - ///@{ - /** - *

At-rest encryption flag for cache. You cannot update this setting after - * creation.

- */ - inline bool GetAtRestEncryptionEnabled() const { return m_atRestEncryptionEnabled; } - inline bool AtRestEncryptionEnabledHasBeenSet() const { return m_atRestEncryptionEnabledHasBeenSet; } - inline void SetAtRestEncryptionEnabled(bool value) { m_atRestEncryptionEnabledHasBeenSet = true; m_atRestEncryptionEnabled = value; } - inline CreateApiCacheRequest& WithAtRestEncryptionEnabled(bool value) { SetAtRestEncryptionEnabled(value); return *this;} - ///@} - ///@{ /** *

Caching behavior.

*/ inline PolicyType GetPolicyType() const { return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h index cd33c61b9d1..0fafbe5cb00 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h @@ -20,7 +20,8 @@ namespace Model BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, CHATBOT_POLICY, - DECLARATIVE_POLICY_EC2 + DECLARATIVE_POLICY_EC2, + SECURITYHUB_POLICY }; namespace EffectivePolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h index 5a97a28cab0..44e5e9b7023 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h @@ -67,6 +67,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetPolicyType() const { return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h index ae6e9afd9aa..fe2ef1004bb 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h @@ -48,9 +48,7 @@ namespace Model * is invalid because the organization has already started the process to enable * all features.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: * The request failed because the account is from a different marketplace than the - * accounts in the organization. For example, accounts with India addresses must be - * associated with the AISPL marketplace. All accounts in an organization must be - * from the same marketplace.

  • + * accounts in the organization.

  • *

    ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change * the membership of an account too quickly after its previous change.

  • *
  • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h index 6d240801c7e..ab06d585eae 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h @@ -73,6 +73,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetFilter() const { return m_filter; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h index 14653880cf3..5bd1b47ebe9 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h @@ -52,6 +52,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetFilter() const { return m_filter; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h index 746af3ce55c..4a8cfda7208 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h @@ -22,7 +22,8 @@ namespace Model BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, CHATBOT_POLICY, - DECLARATIVE_POLICY_EC2 + DECLARATIVE_POLICY_EC2, + SECURITYHUB_POLICY }; namespace PolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp index b43e0678dd8..e5072cac611 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp @@ -47,6 +47,7 @@ namespace Aws static const int CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR_HASH = HashingUtils::HashString("CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR"); static const int CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG_HASH = HashingUtils::HashString("CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG"); static const int DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE_HASH = HashingUtils::HashString("DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE"); + static const int POLICY_TYPE_ENABLED_FOR_THIS_SERVICE_HASH = HashingUtils::HashString("POLICY_TYPE_ENABLED_FOR_THIS_SERVICE"); static const int MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE_HASH = HashingUtils::HashString("MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE"); static const int CANNOT_CLOSE_MANAGEMENT_ACCOUNT_HASH = HashingUtils::HashString("CANNOT_CLOSE_MANAGEMENT_ACCOUNT"); static const int CLOSE_ACCOUNT_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("CLOSE_ACCOUNT_QUOTA_EXCEEDED"); @@ -169,6 +170,10 @@ namespace Aws { return ConstraintViolationExceptionReason::DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE; } + else if (hashCode == POLICY_TYPE_ENABLED_FOR_THIS_SERVICE_HASH) + { + return ConstraintViolationExceptionReason::POLICY_TYPE_ENABLED_FOR_THIS_SERVICE; + } else if (hashCode == MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE_HASH) { return ConstraintViolationExceptionReason::MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE; @@ -275,6 +280,8 @@ namespace Aws return "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG"; case ConstraintViolationExceptionReason::DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: return "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE"; + case ConstraintViolationExceptionReason::POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: + return "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE"; case ConstraintViolationExceptionReason::MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: return "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE"; case ConstraintViolationExceptionReason::CANNOT_CLOSE_MANAGEMENT_ACCOUNT: diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp index 1172c27e3e9..654fdc14032 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); + static const int SECURITYHUB_POLICY_HASH = HashingUtils::HashString("SECURITYHUB_POLICY"); EffectivePolicyType GetEffectivePolicyTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return EffectivePolicyType::DECLARATIVE_POLICY_EC2; } + else if (hashCode == SECURITYHUB_POLICY_HASH) + { + return EffectivePolicyType::SECURITYHUB_POLICY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "CHATBOT_POLICY"; case EffectivePolicyType::DECLARATIVE_POLICY_EC2: return "DECLARATIVE_POLICY_EC2"; + case EffectivePolicyType::SECURITYHUB_POLICY: + return "SECURITYHUB_POLICY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp index ceecd92add8..0c5f30ba6d3 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp @@ -27,6 +27,7 @@ namespace Aws static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); + static const int SECURITYHUB_POLICY_HASH = HashingUtils::HashString("SECURITYHUB_POLICY"); PolicyType GetPolicyTypeForName(const Aws::String& name) @@ -60,6 +61,10 @@ namespace Aws { return PolicyType::DECLARATIVE_POLICY_EC2; } + else if (hashCode == SECURITYHUB_POLICY_HASH) + { + return PolicyType::SECURITYHUB_POLICY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +95,8 @@ namespace Aws return "CHATBOT_POLICY"; case PolicyType::DECLARATIVE_POLICY_EC2: return "DECLARATIVE_POLICY_EC2"; + case PolicyType::SECURITYHUB_POLICY: + return "SECURITYHUB_POLICY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h index fcfc641ea33..eead7166bb2 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h @@ -452,25 +452,27 @@ namespace SecurityHub } /** - *

    Used by Security Hub customers to update information about their - * investigation into a finding. Requested by administrator accounts or member - * accounts. Administrator accounts can update findings for their account and their - * member accounts. Member accounts can update findings for their account.

    - *

    Updates from BatchUpdateFindings don't affect the value of - * UpdatedAt for a finding.

    Administrator and member accounts - * can use BatchUpdateFindings to update the following finding fields - * and objects.

    If you use this operation to update a finding, your updates + * don’t affect the value for the UpdatedAt field of the finding. Also + * note that it can take several minutes for Security Hub to process your request + * and update each finding specified in the request.

    You can configure IAM + * policies to restrict access to fields and field values. For example, you might + * not want member accounts to be able to suppress findings or change the finding + * severity. For more information see Configuring - * access to BatchUpdateFindings in the Security Hub User - * Guide.

    See Also:

    in the Security Hub User Guide. + *

    See Also:

    AWS * API Reference

    */ @@ -494,6 +496,43 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::BatchUpdateFindings, request, handler, context); } + /** + *

    Used by customers to update information about their investigation into a + * finding. Requested by delegated administrator accounts or member accounts. + * Delegated administrator accounts can update findings for their account and their + * member accounts. Member accounts can update findings for their account. + * BatchUpdateFindings and BatchUpdateFindingV2 both use + * securityhub:BatchUpdateFindings in the Action element + * of an IAM policy statement. You must have permission to perform the + * securityhub:BatchUpdateFindings action. Updates from + * BatchUpdateFindingsV2 don't affect the value of + * finding_info.modified_time, + * finding_info.modified_time_dt, time, time_dt for + * a finding. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::BatchUpdateFindingsV2Outcome BatchUpdateFindingsV2(const Model::BatchUpdateFindingsV2Request& request = {}) const; + + /** + * A Callable wrapper for BatchUpdateFindingsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchUpdateFindingsV2OutcomeCallable BatchUpdateFindingsV2Callable(const BatchUpdateFindingsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::BatchUpdateFindingsV2, request); + } + + /** + * An Async wrapper for BatchUpdateFindingsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchUpdateFindingsV2Async(const BatchUpdateFindingsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const BatchUpdateFindingsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::BatchUpdateFindingsV2, request, handler, context); + } + /** *

    For a batch of security controls and standards, this operation updates the * enablement status of a control in a standard.

    See Also:

    Grants permission to complete the authorization based on input parameters. + * This API is in preview release and subject to change.

    See Also:

    + *
    AWS + * API Reference

    + */ + virtual Model::ConnectorRegistrationsV2Outcome ConnectorRegistrationsV2(const Model::ConnectorRegistrationsV2Request& request) const; + + /** + * A Callable wrapper for ConnectorRegistrationsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConnectorRegistrationsV2OutcomeCallable ConnectorRegistrationsV2Callable(const ConnectorRegistrationsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::ConnectorRegistrationsV2, request); + } + + /** + * An Async wrapper for ConnectorRegistrationsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConnectorRegistrationsV2Async(const ConnectorRegistrationsV2RequestT& request, const ConnectorRegistrationsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::ConnectorRegistrationsV2, request, handler, context); + } + /** *

    Creates a custom action target in Security Hub.

    You can use custom * actions on findings and insights in Security Hub to trigger target actions in @@ -547,6 +613,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateActionTarget, request, handler, context); } + /** + *

    Enables aggregation across Amazon Web Services Regions. This API is in + * private preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAggregatorV2Outcome CreateAggregatorV2(const Model::CreateAggregatorV2Request& request) const; + + /** + * A Callable wrapper for CreateAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAggregatorV2OutcomeCallable CreateAggregatorV2Callable(const CreateAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateAggregatorV2, request); + } + + /** + * An Async wrapper for CreateAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAggregatorV2Async(const CreateAggregatorV2RequestT& request, const CreateAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateAggregatorV2, request, handler, context); + } + /** *

    Creates an automation rule based on input parameters.

    See * Also:

    Creates a V2 automation rule. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAutomationRuleV2Outcome CreateAutomationRuleV2(const Model::CreateAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for CreateAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAutomationRuleV2OutcomeCallable CreateAutomationRuleV2Callable(const CreateAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateAutomationRuleV2, request); + } + + /** + * An Async wrapper for CreateAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAutomationRuleV2Async(const CreateAutomationRuleV2RequestT& request, const CreateAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateAutomationRuleV2, request, handler, context); + } + /** *

    Creates a configuration policy with the defined configuration. Only the * Security Hub delegated administrator can invoke this operation from the home @@ -600,6 +718,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateConfigurationPolicy, request, handler, context); } + /** + *

    Grants permission to create a connectorV2 based on input parameters. This API + * is in preview release and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateConnectorV2Outcome CreateConnectorV2(const Model::CreateConnectorV2Request& request) const; + + /** + * A Callable wrapper for CreateConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateConnectorV2OutcomeCallable CreateConnectorV2Callable(const CreateConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateConnectorV2, request); + } + + /** + * An Async wrapper for CreateConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateConnectorV2Async(const CreateConnectorV2RequestT& request, const CreateConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateConnectorV2, request, handler, context); + } + /** *

    The aggregation Region is now called the home * Region.

    Used to enable cross-Region aggregation. This @@ -713,6 +857,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateMembers, request, handler, context); } + /** + *

    Grants permission to create a ticket in the chosen ITSM based on finding + * information for the provided finding metadata UID. This API is in preview + * release and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateTicketV2Outcome CreateTicketV2(const Model::CreateTicketV2Request& request) const; + + /** + * A Callable wrapper for CreateTicketV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateTicketV2OutcomeCallable CreateTicketV2Callable(const CreateTicketV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateTicketV2, request); + } + + /** + * An Async wrapper for CreateTicketV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateTicketV2Async(const CreateTicketV2RequestT& request, const CreateTicketV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateTicketV2, request, handler, context); + } + /** *

    We recommend using Organizations instead of Security Hub invitations * to manage your member accounts. For information, see Deletes the Aggregator V2. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAggregatorV2Outcome DeleteAggregatorV2(const Model::DeleteAggregatorV2Request& request) const; + + /** + * A Callable wrapper for DeleteAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAggregatorV2OutcomeCallable DeleteAggregatorV2Callable(const DeleteAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteAggregatorV2, request); + } + + /** + * An Async wrapper for DeleteAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAggregatorV2Async(const DeleteAggregatorV2RequestT& request, const DeleteAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteAggregatorV2, request, handler, context); + } + + /** + *

    Deletes a V2 automation rule. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAutomationRuleV2Outcome DeleteAutomationRuleV2(const Model::DeleteAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for DeleteAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAutomationRuleV2OutcomeCallable DeleteAutomationRuleV2Callable(const DeleteAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteAutomationRuleV2, request); + } + + /** + * An Async wrapper for DeleteAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAutomationRuleV2Async(const DeleteAutomationRuleV2RequestT& request, const DeleteAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteAutomationRuleV2, request, handler, context); + } + /** *

    Deletes a configuration policy. Only the Security Hub delegated * administrator can invoke this operation from the home Region. For the deletion @@ -804,6 +1027,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DeleteConfigurationPolicy, request, handler, context); } + /** + *

    Grants permission to delete a connectorV2. This API is in preview release and + * subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteConnectorV2Outcome DeleteConnectorV2(const Model::DeleteConnectorV2Request& request) const; + + /** + * A Callable wrapper for DeleteConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteConnectorV2OutcomeCallable DeleteConnectorV2Callable(const DeleteConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteConnectorV2, request); + } + + /** + * An Async wrapper for DeleteConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteConnectorV2Async(const DeleteConnectorV2RequestT& request, const DeleteConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteConnectorV2, request, handler, context); + } + /** *

    The aggregation Region is now called the home * Region.

    Deletes a finding aggregator. When you delete the @@ -1034,6 +1283,58 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DescribeProducts, request, handler, context); } + /** + *

    Gets information about the product integration. This API is in private + * preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DescribeProductsV2Outcome DescribeProductsV2(const Model::DescribeProductsV2Request& request = {}) const; + + /** + * A Callable wrapper for DescribeProductsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeProductsV2OutcomeCallable DescribeProductsV2Callable(const DescribeProductsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DescribeProductsV2, request); + } + + /** + * An Async wrapper for DescribeProductsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeProductsV2Async(const DescribeProductsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeProductsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DescribeProductsV2, request, handler, context); + } + + /** + *

    Returns details about the service resource in your account. This API is in + * private preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DescribeSecurityHubV2Outcome DescribeSecurityHubV2(const Model::DescribeSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for DescribeSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeSecurityHubV2OutcomeCallable DescribeSecurityHubV2Callable(const DescribeSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DescribeSecurityHubV2, request); + } + + /** + * An Async wrapper for DescribeSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeSecurityHubV2Async(const DescribeSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DescribeSecurityHubV2, request, handler, context); + } + /** *

    Returns a list of the available standards in Security Hub.

    For each * standard, the results include the standard ARN, the name, and a description. @@ -1177,6 +1478,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DisableSecurityHub, request, handler, context); } + /** + *

    Disable the service for the current Amazon Web Services Region or specified + * Amazon Web Services Region. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DisableSecurityHubV2Outcome DisableSecurityHubV2(const Model::DisableSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for DisableSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisableSecurityHubV2OutcomeCallable DisableSecurityHubV2Callable(const DisableSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DisableSecurityHubV2, request); + } + + /** + * An Async wrapper for DisableSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisableSecurityHubV2Async(const DisableSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DisableSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DisableSecurityHubV2, request, handler, context); + } + /** *

    Disassociates the current Security Hub member account from the associated * administrator account.

    This operation is only used by accounts that are @@ -1329,6 +1657,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::EnableSecurityHub, request, handler, context); } + /** + *

    Enables the service in account for the current Amazon Web Services Region or + * specified Amazon Web Services Region. This API is in private preview and subject + * to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::EnableSecurityHubV2Outcome EnableSecurityHubV2(const Model::EnableSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for EnableSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EnableSecurityHubV2OutcomeCallable EnableSecurityHubV2Callable(const EnableSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::EnableSecurityHubV2, request); + } + + /** + * An Async wrapper for EnableSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EnableSecurityHubV2Async(const EnableSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EnableSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::EnableSecurityHubV2, request, handler, context); + } + /** *

    Provides the details for the Security Hub administrator account for the * current member account.

    Can be used by both member accounts that are @@ -1357,6 +1712,58 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetAdministratorAccount, request, handler, context); } + /** + *

    Returns the configuration of the specified Aggregator V2. This API is in + * private preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAggregatorV2Outcome GetAggregatorV2(const Model::GetAggregatorV2Request& request) const; + + /** + * A Callable wrapper for GetAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAggregatorV2OutcomeCallable GetAggregatorV2Callable(const GetAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetAggregatorV2, request); + } + + /** + * An Async wrapper for GetAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAggregatorV2Async(const GetAggregatorV2RequestT& request, const GetAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetAggregatorV2, request, handler, context); + } + + /** + *

    Returns an automation rule for the V2 service. This API is in private preview + * and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAutomationRuleV2Outcome GetAutomationRuleV2(const Model::GetAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for GetAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAutomationRuleV2OutcomeCallable GetAutomationRuleV2Callable(const GetAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetAutomationRuleV2, request); + } + + /** + * An Async wrapper for GetAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAutomationRuleV2Async(const GetAutomationRuleV2RequestT& request, const GetAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetAutomationRuleV2, request, handler, context); + } + /** *

    Provides information about a configuration policy. Only the Security Hub * delegated administrator can invoke this operation from the home Region. @@ -1412,6 +1819,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetConfigurationPolicyAssociation, request, handler, context); } + /** + *

    Grants permission to retrieve details for a connectorV2 based on connector + * id. This API is in preview release and subject to change.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::GetConnectorV2Outcome GetConnectorV2(const Model::GetConnectorV2Request& request) const; + + /** + * A Callable wrapper for GetConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetConnectorV2OutcomeCallable GetConnectorV2Callable(const GetConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetConnectorV2, request); + } + + /** + * An Async wrapper for GetConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetConnectorV2Async(const GetConnectorV2RequestT& request, const GetConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetConnectorV2, request, handler, context); + } + /** *

    Returns a list of the standards that are currently enabled.

    See * Also:

    Returns history for a Security Hub finding in the last 90 days. The history - * includes changes made to any fields in the Amazon Web Services Security Finding - * Format (ASFF).

    See Also:

    Returns the history of a Security Hub finding for the past 90 days. The + * history includes changes made to any fields in the Amazon Web Services Security + * Finding Format (ASFF) except top-level timestamp fields, such as the + * CreatedAt and UpdatedAt fields.

    This operation + * might return fewer results than the maximum number of results + * (MaxResults) specified in a request, even when more results are + * available. If this occurs, the response includes a NextToken value, + * which you should use to retrieve the next set of results in the response. The + * presence of a NextToken value in a response doesn't necessarily + * indicate that the results are incomplete. However, you should continue to + * specify a NextToken value until you receive a response that doesn't + * include this value.

    See Also:

    AWS * API Reference

    */ @@ -1494,6 +1937,36 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetFindingHistory, request, handler, context); } + /** + *

    Returns aggregated statistical data about findings. + * GetFindingStatisticsV2 use + * securityhub:GetAdhocInsightResults in the Action + * element of an IAM policy statement. You must have permission to perform the + * s action. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetFindingStatisticsV2Outcome GetFindingStatisticsV2(const Model::GetFindingStatisticsV2Request& request) const; + + /** + * A Callable wrapper for GetFindingStatisticsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFindingStatisticsV2OutcomeCallable GetFindingStatisticsV2Callable(const GetFindingStatisticsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetFindingStatisticsV2, request); + } + + /** + * An Async wrapper for GetFindingStatisticsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFindingStatisticsV2Async(const GetFindingStatisticsV2RequestT& request, const GetFindingStatisticsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetFindingStatisticsV2, request, handler, context); + } + /** *

    Returns a list of findings that match the specified criteria.

    If * cross-Region aggregation is enabled, then when you call GetFindings @@ -1522,6 +1995,36 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetFindings, request, handler, context); } + /** + *

    Return a list of findings that match the specified criteria. + * GetFindings and GetFindingsV2 both use + * securityhub:GetFindings in the Action element of an + * IAM policy statement. You must have permission to perform the + * securityhub:GetFindings action. This API is in private preview and + * subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetFindingsV2Outcome GetFindingsV2(const Model::GetFindingsV2Request& request = {}) const; + + /** + * A Callable wrapper for GetFindingsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFindingsV2OutcomeCallable GetFindingsV2Callable(const GetFindingsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::GetFindingsV2, request); + } + + /** + * An Async wrapper for GetFindingsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFindingsV2Async(const GetFindingsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetFindingsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::GetFindingsV2, request, handler, context); + } + /** *

    Lists the results of the Security Hub insight specified by the insight * ARN.

    See Also:

    Retrieves statistical information about Amazon Web Services resources and + * their associated security findings. This API is in private preview and subject + * to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetResourcesStatisticsV2Outcome GetResourcesStatisticsV2(const Model::GetResourcesStatisticsV2Request& request) const; + + /** + * A Callable wrapper for GetResourcesStatisticsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourcesStatisticsV2OutcomeCallable GetResourcesStatisticsV2Callable(const GetResourcesStatisticsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetResourcesStatisticsV2, request); + } + + /** + * An Async wrapper for GetResourcesStatisticsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourcesStatisticsV2Async(const GetResourcesStatisticsV2RequestT& request, const GetResourcesStatisticsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetResourcesStatisticsV2, request, handler, context); + } + + /** + *

    Returns a list of resources. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetResourcesV2Outcome GetResourcesV2(const Model::GetResourcesV2Request& request = {}) const; + + /** + * A Callable wrapper for GetResourcesV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourcesV2OutcomeCallable GetResourcesV2Callable(const GetResourcesV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::GetResourcesV2, request); + } + + /** + * An Async wrapper for GetResourcesV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourcesV2Async(const GetResourcesV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetResourcesV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::GetResourcesV2, request, handler, context); + } + /** *

    Retrieves the definition of a security control. The definition includes the * control title, description, Region availability, parameter definitions, and @@ -1700,6 +2256,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::InviteMembers, request, handler, context); } + /** + *

    Retrieves a list of V2 aggregators. This API is in private preview and + * subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAggregatorsV2Outcome ListAggregatorsV2(const Model::ListAggregatorsV2Request& request = {}) const; + + /** + * A Callable wrapper for ListAggregatorsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAggregatorsV2OutcomeCallable ListAggregatorsV2Callable(const ListAggregatorsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListAggregatorsV2, request); + } + + /** + * An Async wrapper for ListAggregatorsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAggregatorsV2Async(const ListAggregatorsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAggregatorsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListAggregatorsV2, request, handler, context); + } + /** *

    A list of automation rules and their metadata for the calling account. *

    See Also:

    Returns a list of automation rules and metadata for the calling account. This + * API is in private preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAutomationRulesV2Outcome ListAutomationRulesV2(const Model::ListAutomationRulesV2Request& request = {}) const; + + /** + * A Callable wrapper for ListAutomationRulesV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAutomationRulesV2OutcomeCallable ListAutomationRulesV2Callable(const ListAutomationRulesV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListAutomationRulesV2, request); + } + + /** + * An Async wrapper for ListAutomationRulesV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAutomationRulesV2Async(const ListAutomationRulesV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAutomationRulesV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListAutomationRulesV2, request, handler, context); + } + /** *

    Lists the configuration policies that the Security Hub delegated * administrator has created for your organization. Only the delegated @@ -1781,6 +2389,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::ListConfigurationPolicyAssociations, request, handler, context); } + /** + *

    Grants permission to retrieve a list of connectorsV2 and their metadata for + * the calling account. This API is in preview release and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListConnectorsV2Outcome ListConnectorsV2(const Model::ListConnectorsV2Request& request = {}) const; + + /** + * A Callable wrapper for ListConnectorsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListConnectorsV2OutcomeCallable ListConnectorsV2Callable(const ListConnectorsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListConnectorsV2, request); + } + + /** + * An Async wrapper for ListConnectorsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListConnectorsV2Async(const ListConnectorsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListConnectorsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListConnectorsV2, request, handler, context); + } + /** *

    Lists all findings-generating solutions (products) that you are subscribed to * receive findings from in Security Hub.

    See Also:

    Udpates the configuration for the Aggregator V2. This API is in private + * preview and subject to change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateAggregatorV2Outcome UpdateAggregatorV2(const Model::UpdateAggregatorV2Request& request) const; + + /** + * A Callable wrapper for UpdateAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAggregatorV2OutcomeCallable UpdateAggregatorV2Callable(const UpdateAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateAggregatorV2, request); + } + + /** + * An Async wrapper for UpdateAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAggregatorV2Async(const UpdateAggregatorV2RequestT& request, const UpdateAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateAggregatorV2, request, handler, context); + } + + /** + *

    Updates a V2 automation rule. This API is in private preview and subject to + * change.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateAutomationRuleV2Outcome UpdateAutomationRuleV2(const Model::UpdateAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for UpdateAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAutomationRuleV2OutcomeCallable UpdateAutomationRuleV2Callable(const UpdateAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateAutomationRuleV2, request); + } + + /** + * An Async wrapper for UpdateAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAutomationRuleV2Async(const UpdateAutomationRuleV2RequestT& request, const UpdateAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateAutomationRuleV2, request, handler, context); + } + /** *

    Updates a configuration policy. Only the Security Hub delegated * administrator can invoke this operation from the home Region.

    See @@ -2165,6 +2852,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::UpdateConfigurationPolicy, request, handler, context); } + /** + *

    Grants permission to update a connectorV2 based on its id and input + * parameters. This API is in preview release and subject to change.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateConnectorV2Outcome UpdateConnectorV2(const Model::UpdateConnectorV2Request& request) const; + + /** + * A Callable wrapper for UpdateConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateConnectorV2OutcomeCallable UpdateConnectorV2Callable(const UpdateConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateConnectorV2, request); + } + + /** + * An Async wrapper for UpdateConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateConnectorV2Async(const UpdateConnectorV2RequestT& request, const UpdateConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateConnectorV2, request, handler, context); + } + /** *

    The aggregation Region is now called the home * Region.

    Updates cross-Region aggregation settings. You can diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h index 2fa76286913..36a7a8da734 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h @@ -47,7 +47,9 @@ enum class SecurityHubErrors UNKNOWN = 100, /////////////////////////////////////////////////////////////////////////////////////////// - INTERNAL= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL, + INTERNAL_SERVER, INVALID_ACCESS, INVALID_INPUT, LIMIT_EXCEEDED, diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h index ab5a5a56152..3ca974e7b76 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h @@ -29,16 +29,25 @@ #include #include #include +#include #include +#include #include +#include #include +#include #include +#include #include #include #include +#include #include #include +#include +#include #include +#include #include #include #include @@ -47,32 +56,46 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include #include #include +#include #include #include #include +#include #include +#include #include #include #include #include +#include +#include #include #include +#include #include +#include #include #include +#include #include #include #include @@ -86,7 +109,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -95,27 +121,37 @@ #include #include #include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include #include -#include +#include #include #include #include -#include #include -#include -#include #include -#include #include -#include -#include +#include #include /* End of service model headers required in SecurityHubClient header */ @@ -168,16 +204,25 @@ namespace Aws class BatchImportFindingsRequest; class BatchUpdateAutomationRulesRequest; class BatchUpdateFindingsRequest; + class BatchUpdateFindingsV2Request; class BatchUpdateStandardsControlAssociationsRequest; + class ConnectorRegistrationsV2Request; class CreateActionTargetRequest; + class CreateAggregatorV2Request; class CreateAutomationRuleRequest; + class CreateAutomationRuleV2Request; class CreateConfigurationPolicyRequest; + class CreateConnectorV2Request; class CreateFindingAggregatorRequest; class CreateInsightRequest; class CreateMembersRequest; + class CreateTicketV2Request; class DeclineInvitationsRequest; class DeleteActionTargetRequest; + class DeleteAggregatorV2Request; + class DeleteAutomationRuleV2Request; class DeleteConfigurationPolicyRequest; + class DeleteConnectorV2Request; class DeleteFindingAggregatorRequest; class DeleteInsightRequest; class DeleteInvitationsRequest; @@ -186,32 +231,46 @@ namespace Aws class DescribeHubRequest; class DescribeOrganizationConfigurationRequest; class DescribeProductsRequest; + class DescribeProductsV2Request; + class DescribeSecurityHubV2Request; class DescribeStandardsRequest; class DescribeStandardsControlsRequest; class DisableImportFindingsForProductRequest; class DisableOrganizationAdminAccountRequest; class DisableSecurityHubRequest; + class DisableSecurityHubV2Request; class DisassociateFromAdministratorAccountRequest; class DisassociateMembersRequest; class EnableImportFindingsForProductRequest; class EnableOrganizationAdminAccountRequest; class EnableSecurityHubRequest; + class EnableSecurityHubV2Request; class GetAdministratorAccountRequest; + class GetAggregatorV2Request; + class GetAutomationRuleV2Request; class GetConfigurationPolicyRequest; class GetConfigurationPolicyAssociationRequest; + class GetConnectorV2Request; class GetEnabledStandardsRequest; class GetFindingAggregatorRequest; class GetFindingHistoryRequest; + class GetFindingStatisticsV2Request; class GetFindingsRequest; + class GetFindingsV2Request; class GetInsightResultsRequest; class GetInsightsRequest; class GetInvitationsCountRequest; class GetMembersRequest; + class GetResourcesStatisticsV2Request; + class GetResourcesV2Request; class GetSecurityControlDefinitionRequest; class InviteMembersRequest; + class ListAggregatorsV2Request; class ListAutomationRulesRequest; + class ListAutomationRulesV2Request; class ListConfigurationPoliciesRequest; class ListConfigurationPolicyAssociationsRequest; + class ListConnectorsV2Request; class ListEnabledProductsForImportRequest; class ListFindingAggregatorsRequest; class ListInvitationsRequest; @@ -225,7 +284,10 @@ namespace Aws class TagResourceRequest; class UntagResourceRequest; class UpdateActionTargetRequest; + class UpdateAggregatorV2Request; + class UpdateAutomationRuleV2Request; class UpdateConfigurationPolicyRequest; + class UpdateConnectorV2Request; class UpdateFindingAggregatorRequest; class UpdateFindingsRequest; class UpdateInsightRequest; @@ -247,16 +309,25 @@ namespace Aws typedef Aws::Utils::Outcome BatchImportFindingsOutcome; typedef Aws::Utils::Outcome BatchUpdateAutomationRulesOutcome; typedef Aws::Utils::Outcome BatchUpdateFindingsOutcome; + typedef Aws::Utils::Outcome BatchUpdateFindingsV2Outcome; typedef Aws::Utils::Outcome BatchUpdateStandardsControlAssociationsOutcome; + typedef Aws::Utils::Outcome ConnectorRegistrationsV2Outcome; typedef Aws::Utils::Outcome CreateActionTargetOutcome; + typedef Aws::Utils::Outcome CreateAggregatorV2Outcome; typedef Aws::Utils::Outcome CreateAutomationRuleOutcome; + typedef Aws::Utils::Outcome CreateAutomationRuleV2Outcome; typedef Aws::Utils::Outcome CreateConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome CreateConnectorV2Outcome; typedef Aws::Utils::Outcome CreateFindingAggregatorOutcome; typedef Aws::Utils::Outcome CreateInsightOutcome; typedef Aws::Utils::Outcome CreateMembersOutcome; + typedef Aws::Utils::Outcome CreateTicketV2Outcome; typedef Aws::Utils::Outcome DeclineInvitationsOutcome; typedef Aws::Utils::Outcome DeleteActionTargetOutcome; + typedef Aws::Utils::Outcome DeleteAggregatorV2Outcome; + typedef Aws::Utils::Outcome DeleteAutomationRuleV2Outcome; typedef Aws::Utils::Outcome DeleteConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome DeleteConnectorV2Outcome; typedef Aws::Utils::Outcome DeleteFindingAggregatorOutcome; typedef Aws::Utils::Outcome DeleteInsightOutcome; typedef Aws::Utils::Outcome DeleteInvitationsOutcome; @@ -265,32 +336,46 @@ namespace Aws typedef Aws::Utils::Outcome DescribeHubOutcome; typedef Aws::Utils::Outcome DescribeOrganizationConfigurationOutcome; typedef Aws::Utils::Outcome DescribeProductsOutcome; + typedef Aws::Utils::Outcome DescribeProductsV2Outcome; + typedef Aws::Utils::Outcome DescribeSecurityHubV2Outcome; typedef Aws::Utils::Outcome DescribeStandardsOutcome; typedef Aws::Utils::Outcome DescribeStandardsControlsOutcome; typedef Aws::Utils::Outcome DisableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome DisableOrganizationAdminAccountOutcome; typedef Aws::Utils::Outcome DisableSecurityHubOutcome; + typedef Aws::Utils::Outcome DisableSecurityHubV2Outcome; typedef Aws::Utils::Outcome DisassociateFromAdministratorAccountOutcome; typedef Aws::Utils::Outcome DisassociateMembersOutcome; typedef Aws::Utils::Outcome EnableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome EnableOrganizationAdminAccountOutcome; typedef Aws::Utils::Outcome EnableSecurityHubOutcome; + typedef Aws::Utils::Outcome EnableSecurityHubV2Outcome; typedef Aws::Utils::Outcome GetAdministratorAccountOutcome; + typedef Aws::Utils::Outcome GetAggregatorV2Outcome; + typedef Aws::Utils::Outcome GetAutomationRuleV2Outcome; typedef Aws::Utils::Outcome GetConfigurationPolicyOutcome; typedef Aws::Utils::Outcome GetConfigurationPolicyAssociationOutcome; + typedef Aws::Utils::Outcome GetConnectorV2Outcome; typedef Aws::Utils::Outcome GetEnabledStandardsOutcome; typedef Aws::Utils::Outcome GetFindingAggregatorOutcome; typedef Aws::Utils::Outcome GetFindingHistoryOutcome; + typedef Aws::Utils::Outcome GetFindingStatisticsV2Outcome; typedef Aws::Utils::Outcome GetFindingsOutcome; + typedef Aws::Utils::Outcome GetFindingsV2Outcome; typedef Aws::Utils::Outcome GetInsightResultsOutcome; typedef Aws::Utils::Outcome GetInsightsOutcome; typedef Aws::Utils::Outcome GetInvitationsCountOutcome; typedef Aws::Utils::Outcome GetMembersOutcome; + typedef Aws::Utils::Outcome GetResourcesStatisticsV2Outcome; + typedef Aws::Utils::Outcome GetResourcesV2Outcome; typedef Aws::Utils::Outcome GetSecurityControlDefinitionOutcome; typedef Aws::Utils::Outcome InviteMembersOutcome; + typedef Aws::Utils::Outcome ListAggregatorsV2Outcome; typedef Aws::Utils::Outcome ListAutomationRulesOutcome; + typedef Aws::Utils::Outcome ListAutomationRulesV2Outcome; typedef Aws::Utils::Outcome ListConfigurationPoliciesOutcome; typedef Aws::Utils::Outcome ListConfigurationPolicyAssociationsOutcome; + typedef Aws::Utils::Outcome ListConnectorsV2Outcome; typedef Aws::Utils::Outcome ListEnabledProductsForImportOutcome; typedef Aws::Utils::Outcome ListFindingAggregatorsOutcome; typedef Aws::Utils::Outcome ListInvitationsOutcome; @@ -304,7 +389,10 @@ namespace Aws typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateActionTargetOutcome; + typedef Aws::Utils::Outcome UpdateAggregatorV2Outcome; + typedef Aws::Utils::Outcome UpdateAutomationRuleV2Outcome; typedef Aws::Utils::Outcome UpdateConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome UpdateConnectorV2Outcome; typedef Aws::Utils::Outcome UpdateFindingAggregatorOutcome; typedef Aws::Utils::Outcome UpdateFindingsOutcome; typedef Aws::Utils::Outcome UpdateInsightOutcome; @@ -326,16 +414,25 @@ namespace Aws typedef std::future BatchImportFindingsOutcomeCallable; typedef std::future BatchUpdateAutomationRulesOutcomeCallable; typedef std::future BatchUpdateFindingsOutcomeCallable; + typedef std::future BatchUpdateFindingsV2OutcomeCallable; typedef std::future BatchUpdateStandardsControlAssociationsOutcomeCallable; + typedef std::future ConnectorRegistrationsV2OutcomeCallable; typedef std::future CreateActionTargetOutcomeCallable; + typedef std::future CreateAggregatorV2OutcomeCallable; typedef std::future CreateAutomationRuleOutcomeCallable; + typedef std::future CreateAutomationRuleV2OutcomeCallable; typedef std::future CreateConfigurationPolicyOutcomeCallable; + typedef std::future CreateConnectorV2OutcomeCallable; typedef std::future CreateFindingAggregatorOutcomeCallable; typedef std::future CreateInsightOutcomeCallable; typedef std::future CreateMembersOutcomeCallable; + typedef std::future CreateTicketV2OutcomeCallable; typedef std::future DeclineInvitationsOutcomeCallable; typedef std::future DeleteActionTargetOutcomeCallable; + typedef std::future DeleteAggregatorV2OutcomeCallable; + typedef std::future DeleteAutomationRuleV2OutcomeCallable; typedef std::future DeleteConfigurationPolicyOutcomeCallable; + typedef std::future DeleteConnectorV2OutcomeCallable; typedef std::future DeleteFindingAggregatorOutcomeCallable; typedef std::future DeleteInsightOutcomeCallable; typedef std::future DeleteInvitationsOutcomeCallable; @@ -344,32 +441,46 @@ namespace Aws typedef std::future DescribeHubOutcomeCallable; typedef std::future DescribeOrganizationConfigurationOutcomeCallable; typedef std::future DescribeProductsOutcomeCallable; + typedef std::future DescribeProductsV2OutcomeCallable; + typedef std::future DescribeSecurityHubV2OutcomeCallable; typedef std::future DescribeStandardsOutcomeCallable; typedef std::future DescribeStandardsControlsOutcomeCallable; typedef std::future DisableImportFindingsForProductOutcomeCallable; typedef std::future DisableOrganizationAdminAccountOutcomeCallable; typedef std::future DisableSecurityHubOutcomeCallable; + typedef std::future DisableSecurityHubV2OutcomeCallable; typedef std::future DisassociateFromAdministratorAccountOutcomeCallable; typedef std::future DisassociateMembersOutcomeCallable; typedef std::future EnableImportFindingsForProductOutcomeCallable; typedef std::future EnableOrganizationAdminAccountOutcomeCallable; typedef std::future EnableSecurityHubOutcomeCallable; + typedef std::future EnableSecurityHubV2OutcomeCallable; typedef std::future GetAdministratorAccountOutcomeCallable; + typedef std::future GetAggregatorV2OutcomeCallable; + typedef std::future GetAutomationRuleV2OutcomeCallable; typedef std::future GetConfigurationPolicyOutcomeCallable; typedef std::future GetConfigurationPolicyAssociationOutcomeCallable; + typedef std::future GetConnectorV2OutcomeCallable; typedef std::future GetEnabledStandardsOutcomeCallable; typedef std::future GetFindingAggregatorOutcomeCallable; typedef std::future GetFindingHistoryOutcomeCallable; + typedef std::future GetFindingStatisticsV2OutcomeCallable; typedef std::future GetFindingsOutcomeCallable; + typedef std::future GetFindingsV2OutcomeCallable; typedef std::future GetInsightResultsOutcomeCallable; typedef std::future GetInsightsOutcomeCallable; typedef std::future GetInvitationsCountOutcomeCallable; typedef std::future GetMembersOutcomeCallable; + typedef std::future GetResourcesStatisticsV2OutcomeCallable; + typedef std::future GetResourcesV2OutcomeCallable; typedef std::future GetSecurityControlDefinitionOutcomeCallable; typedef std::future InviteMembersOutcomeCallable; + typedef std::future ListAggregatorsV2OutcomeCallable; typedef std::future ListAutomationRulesOutcomeCallable; + typedef std::future ListAutomationRulesV2OutcomeCallable; typedef std::future ListConfigurationPoliciesOutcomeCallable; typedef std::future ListConfigurationPolicyAssociationsOutcomeCallable; + typedef std::future ListConnectorsV2OutcomeCallable; typedef std::future ListEnabledProductsForImportOutcomeCallable; typedef std::future ListFindingAggregatorsOutcomeCallable; typedef std::future ListInvitationsOutcomeCallable; @@ -383,7 +494,10 @@ namespace Aws typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateActionTargetOutcomeCallable; + typedef std::future UpdateAggregatorV2OutcomeCallable; + typedef std::future UpdateAutomationRuleV2OutcomeCallable; typedef std::future UpdateConfigurationPolicyOutcomeCallable; + typedef std::future UpdateConnectorV2OutcomeCallable; typedef std::future UpdateFindingAggregatorOutcomeCallable; typedef std::future UpdateFindingsOutcomeCallable; typedef std::future UpdateInsightOutcomeCallable; @@ -408,16 +522,25 @@ namespace Aws typedef std::function&) > BatchImportFindingsResponseReceivedHandler; typedef std::function&) > BatchUpdateAutomationRulesResponseReceivedHandler; typedef std::function&) > BatchUpdateFindingsResponseReceivedHandler; + typedef std::function&) > BatchUpdateFindingsV2ResponseReceivedHandler; typedef std::function&) > BatchUpdateStandardsControlAssociationsResponseReceivedHandler; + typedef std::function&) > ConnectorRegistrationsV2ResponseReceivedHandler; typedef std::function&) > CreateActionTargetResponseReceivedHandler; + typedef std::function&) > CreateAggregatorV2ResponseReceivedHandler; typedef std::function&) > CreateAutomationRuleResponseReceivedHandler; + typedef std::function&) > CreateAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > CreateConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > CreateConnectorV2ResponseReceivedHandler; typedef std::function&) > CreateFindingAggregatorResponseReceivedHandler; typedef std::function&) > CreateInsightResponseReceivedHandler; typedef std::function&) > CreateMembersResponseReceivedHandler; + typedef std::function&) > CreateTicketV2ResponseReceivedHandler; typedef std::function&) > DeclineInvitationsResponseReceivedHandler; typedef std::function&) > DeleteActionTargetResponseReceivedHandler; + typedef std::function&) > DeleteAggregatorV2ResponseReceivedHandler; + typedef std::function&) > DeleteAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > DeleteConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > DeleteConnectorV2ResponseReceivedHandler; typedef std::function&) > DeleteFindingAggregatorResponseReceivedHandler; typedef std::function&) > DeleteInsightResponseReceivedHandler; typedef std::function&) > DeleteInvitationsResponseReceivedHandler; @@ -426,32 +549,46 @@ namespace Aws typedef std::function&) > DescribeHubResponseReceivedHandler; typedef std::function&) > DescribeOrganizationConfigurationResponseReceivedHandler; typedef std::function&) > DescribeProductsResponseReceivedHandler; + typedef std::function&) > DescribeProductsV2ResponseReceivedHandler; + typedef std::function&) > DescribeSecurityHubV2ResponseReceivedHandler; typedef std::function&) > DescribeStandardsResponseReceivedHandler; typedef std::function&) > DescribeStandardsControlsResponseReceivedHandler; typedef std::function&) > DisableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > DisableOrganizationAdminAccountResponseReceivedHandler; typedef std::function&) > DisableSecurityHubResponseReceivedHandler; + typedef std::function&) > DisableSecurityHubV2ResponseReceivedHandler; typedef std::function&) > DisassociateFromAdministratorAccountResponseReceivedHandler; typedef std::function&) > DisassociateMembersResponseReceivedHandler; typedef std::function&) > EnableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > EnableOrganizationAdminAccountResponseReceivedHandler; typedef std::function&) > EnableSecurityHubResponseReceivedHandler; + typedef std::function&) > EnableSecurityHubV2ResponseReceivedHandler; typedef std::function&) > GetAdministratorAccountResponseReceivedHandler; + typedef std::function&) > GetAggregatorV2ResponseReceivedHandler; + typedef std::function&) > GetAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > GetConfigurationPolicyResponseReceivedHandler; typedef std::function&) > GetConfigurationPolicyAssociationResponseReceivedHandler; + typedef std::function&) > GetConnectorV2ResponseReceivedHandler; typedef std::function&) > GetEnabledStandardsResponseReceivedHandler; typedef std::function&) > GetFindingAggregatorResponseReceivedHandler; typedef std::function&) > GetFindingHistoryResponseReceivedHandler; + typedef std::function&) > GetFindingStatisticsV2ResponseReceivedHandler; typedef std::function&) > GetFindingsResponseReceivedHandler; + typedef std::function&) > GetFindingsV2ResponseReceivedHandler; typedef std::function&) > GetInsightResultsResponseReceivedHandler; typedef std::function&) > GetInsightsResponseReceivedHandler; typedef std::function&) > GetInvitationsCountResponseReceivedHandler; typedef std::function&) > GetMembersResponseReceivedHandler; + typedef std::function&) > GetResourcesStatisticsV2ResponseReceivedHandler; + typedef std::function&) > GetResourcesV2ResponseReceivedHandler; typedef std::function&) > GetSecurityControlDefinitionResponseReceivedHandler; typedef std::function&) > InviteMembersResponseReceivedHandler; + typedef std::function&) > ListAggregatorsV2ResponseReceivedHandler; typedef std::function&) > ListAutomationRulesResponseReceivedHandler; + typedef std::function&) > ListAutomationRulesV2ResponseReceivedHandler; typedef std::function&) > ListConfigurationPoliciesResponseReceivedHandler; typedef std::function&) > ListConfigurationPolicyAssociationsResponseReceivedHandler; + typedef std::function&) > ListConnectorsV2ResponseReceivedHandler; typedef std::function&) > ListEnabledProductsForImportResponseReceivedHandler; typedef std::function&) > ListFindingAggregatorsResponseReceivedHandler; typedef std::function&) > ListInvitationsResponseReceivedHandler; @@ -465,7 +602,10 @@ namespace Aws typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateActionTargetResponseReceivedHandler; + typedef std::function&) > UpdateAggregatorV2ResponseReceivedHandler; + typedef std::function&) > UpdateAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > UpdateConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > UpdateConnectorV2ResponseReceivedHandler; typedef std::function&) > UpdateFindingAggregatorResponseReceivedHandler; typedef std::function&) > UpdateFindingsResponseReceivedHandler; typedef std::function&) > UpdateInsightResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h new file mode 100644 index 00000000000..d4491815bca --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Specifies a cross-Region data aggregation configuration, including the + * aggregation Region and any linked Regions.

    See Also:

    AWS + * API Reference

    + */ + class AggregatorV2 + { + public: + AWS_SECURITYHUB_API AggregatorV2() = default; + AWS_SECURITYHUB_API AggregatorV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API AggregatorV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The ARN of the aggregatorV2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + AggregatorV2& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h new file mode 100644 index 00000000000..c3b951c99b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class AllowedOperators + { + NOT_SET, + AND, + OR + }; + +namespace AllowedOperatorsMapper +{ +AWS_SECURITYHUB_API AllowedOperators GetAllowedOperatorsForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForAllowedOperators(AllowedOperators value); +} // namespace AllowedOperatorsMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h new file mode 100644 index 00000000000..94ced4a7c79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Allows you to customize security response workflows.

    See Also:

    + * AWS + * API Reference

    + */ + class AutomationRulesActionTypeObjectV2 + { + public: + AWS_SECURITYHUB_API AutomationRulesActionTypeObjectV2() = default; + AWS_SECURITYHUB_API AutomationRulesActionTypeObjectV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API AutomationRulesActionTypeObjectV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The category of action to be executed by the automation rule.

    + */ + inline AutomationRulesActionTypeV2 GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(AutomationRulesActionTypeV2 value) { m_typeHasBeenSet = true; m_type = value; } + inline AutomationRulesActionTypeObjectV2& WithType(AutomationRulesActionTypeV2 value) { SetType(value); return *this;} + ///@} + private: + + AutomationRulesActionTypeV2 m_type{AutomationRulesActionTypeV2::NOT_SET}; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h new file mode 100644 index 00000000000..d3d5b63af11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class AutomationRulesActionTypeV2 + { + NOT_SET, + FINDING_FIELDS_UPDATE, + EXTERNAL_INTEGRATION + }; + +namespace AutomationRulesActionTypeV2Mapper +{ +AWS_SECURITYHUB_API AutomationRulesActionTypeV2 GetAutomationRulesActionTypeV2ForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForAutomationRulesActionTypeV2(AutomationRulesActionTypeV2 value); +} // namespace AutomationRulesActionTypeV2Mapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h new file mode 100644 index 00000000000..2d8c0439109 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Allows you to configure automated responses.

    See Also:

    AWS + * API Reference

    + */ + class AutomationRulesActionV2 + { + public: + AWS_SECURITYHUB_API AutomationRulesActionV2() = default; + AWS_SECURITYHUB_API AutomationRulesActionV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API AutomationRulesActionV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The category of action to be executed by the automation rule.

    + */ + inline AutomationRulesActionTypeV2 GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(AutomationRulesActionTypeV2 value) { m_typeHasBeenSet = true; m_type = value; } + inline AutomationRulesActionV2& WithType(AutomationRulesActionTypeV2 value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

    The changes to be applied to fields in a security finding when an automation + * rule is triggered.

    + */ + inline const AutomationRulesFindingFieldsUpdateV2& GetFindingFieldsUpdate() const { return m_findingFieldsUpdate; } + inline bool FindingFieldsUpdateHasBeenSet() const { return m_findingFieldsUpdateHasBeenSet; } + template + void SetFindingFieldsUpdate(FindingFieldsUpdateT&& value) { m_findingFieldsUpdateHasBeenSet = true; m_findingFieldsUpdate = std::forward(value); } + template + AutomationRulesActionV2& WithFindingFieldsUpdate(FindingFieldsUpdateT&& value) { SetFindingFieldsUpdate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The settings for integrating automation rule actions with external systems or + * service.

    + */ + inline const ExternalIntegrationConfiguration& GetExternalIntegrationConfiguration() const { return m_externalIntegrationConfiguration; } + inline bool ExternalIntegrationConfigurationHasBeenSet() const { return m_externalIntegrationConfigurationHasBeenSet; } + template + void SetExternalIntegrationConfiguration(ExternalIntegrationConfigurationT&& value) { m_externalIntegrationConfigurationHasBeenSet = true; m_externalIntegrationConfiguration = std::forward(value); } + template + AutomationRulesActionV2& WithExternalIntegrationConfiguration(ExternalIntegrationConfigurationT&& value) { SetExternalIntegrationConfiguration(std::forward(value)); return *this;} + ///@} + private: + + AutomationRulesActionTypeV2 m_type{AutomationRulesActionTypeV2::NOT_SET}; + bool m_typeHasBeenSet = false; + + AutomationRulesFindingFieldsUpdateV2 m_findingFieldsUpdate; + bool m_findingFieldsUpdateHasBeenSet = false; + + ExternalIntegrationConfiguration m_externalIntegrationConfiguration; + bool m_externalIntegrationConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h new file mode 100644 index 00000000000..c3042f8755b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Allows you to define the structure for modifying specific fields in security + * findings.

    See Also:

    AWS + * API Reference

    + */ + class AutomationRulesFindingFieldsUpdateV2 + { + public: + AWS_SECURITYHUB_API AutomationRulesFindingFieldsUpdateV2() = default; + AWS_SECURITYHUB_API AutomationRulesFindingFieldsUpdateV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API AutomationRulesFindingFieldsUpdateV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The severity level to be assigned to findings that match the automation rule + * criteria.

    + */ + inline int GetSeverityId() const { return m_severityId; } + inline bool SeverityIdHasBeenSet() const { return m_severityIdHasBeenSet; } + inline void SetSeverityId(int value) { m_severityIdHasBeenSet = true; m_severityId = value; } + inline AutomationRulesFindingFieldsUpdateV2& WithSeverityId(int value) { SetSeverityId(value); return *this;} + ///@} + + ///@{ + /** + *

    Notes or contextual information for findings that are modified by the + * automation rule.

    + */ + inline const Aws::String& GetComment() const { return m_comment; } + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + template + void SetComment(CommentT&& value) { m_commentHasBeenSet = true; m_comment = std::forward(value); } + template + AutomationRulesFindingFieldsUpdateV2& WithComment(CommentT&& value) { SetComment(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status to be applied to findings that match automation rule criteria.

    + */ + inline int GetStatusId() const { return m_statusId; } + inline bool StatusIdHasBeenSet() const { return m_statusIdHasBeenSet; } + inline void SetStatusId(int value) { m_statusIdHasBeenSet = true; m_statusId = value; } + inline AutomationRulesFindingFieldsUpdateV2& WithStatusId(int value) { SetStatusId(value); return *this;} + ///@} + private: + + int m_severityId{0}; + bool m_severityIdHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + + int m_statusId{0}; + bool m_statusIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h new file mode 100644 index 00000000000..cd02f0ef8dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Includes essential metadata information about automation rules.

    See + * Also:

    AWS + * API Reference

    + */ + class AutomationRulesMetadataV2 + { + public: + AWS_SECURITYHUB_API AutomationRulesMetadataV2() = default; + AWS_SECURITYHUB_API AutomationRulesMetadataV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API AutomationRulesMetadataV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The ARN of the automation rule.

    + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + inline bool RuleArnHasBeenSet() const { return m_ruleArnHasBeenSet; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the automation rule.

    + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The value for the rule priority.

    + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline AutomationRulesMetadataV2& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the automation rule.

    + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the automation rule.

    + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline AutomationRulesMetadataV2& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    An explanation for the purpose and funcitonality of the automation rule.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + AutomationRulesMetadataV2& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of action to be performed when the rule criteria is met.

    + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + AutomationRulesMetadataV2& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + AutomationRulesMetadataV2& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The timestamp for when the automation rule was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + AutomationRulesMetadataV2& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp for the most recent modification to the automation rule.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + template + void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward(value); } + template + AutomationRulesMetadataV2& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt{}; + bool m_updatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h new file mode 100644 index 00000000000..5d70294316e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The list of findings that were updated.

    See Also:

    AWS + * API Reference

    + */ + class BatchUpdateFindingsV2ProcessedFinding + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2ProcessedFinding() = default; + AWS_SECURITYHUB_API BatchUpdateFindingsV2ProcessedFinding(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API BatchUpdateFindingsV2ProcessedFinding& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The finding identifier of a processed finding.

    + */ + inline const OcsfFindingIdentifier& GetFindingIdentifier() const { return m_findingIdentifier; } + inline bool FindingIdentifierHasBeenSet() const { return m_findingIdentifierHasBeenSet; } + template + void SetFindingIdentifier(FindingIdentifierT&& value) { m_findingIdentifierHasBeenSet = true; m_findingIdentifier = std::forward(value); } + template + BatchUpdateFindingsV2ProcessedFinding& WithFindingIdentifier(FindingIdentifierT&& value) { SetFindingIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The metadata.uid of a processed finding.

    + */ + inline const Aws::String& GetMetadataUid() const { return m_metadataUid; } + inline bool MetadataUidHasBeenSet() const { return m_metadataUidHasBeenSet; } + template + void SetMetadataUid(MetadataUidT&& value) { m_metadataUidHasBeenSet = true; m_metadataUid = std::forward(value); } + template + BatchUpdateFindingsV2ProcessedFinding& WithMetadataUid(MetadataUidT&& value) { SetMetadataUid(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingIdentifier m_findingIdentifier; + bool m_findingIdentifierHasBeenSet = false; + + Aws::String m_metadataUid; + bool m_metadataUidHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h new file mode 100644 index 00000000000..e1c0f0566ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class BatchUpdateFindingsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "BatchUpdateFindingsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The list of finding metadata.uid to indicate findings to update. + * Finding metadata.uid is a globally unique identifier associated + * with the finding. Customers cannot use MetadataUids together with + * FindingIdentifiers.

    + */ + inline const Aws::Vector& GetMetadataUids() const { return m_metadataUids; } + inline bool MetadataUidsHasBeenSet() const { return m_metadataUidsHasBeenSet; } + template> + void SetMetadataUids(MetadataUidsT&& value) { m_metadataUidsHasBeenSet = true; m_metadataUids = std::forward(value); } + template> + BatchUpdateFindingsV2Request& WithMetadataUids(MetadataUidsT&& value) { SetMetadataUids(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Request& AddMetadataUids(MetadataUidsT&& value) { m_metadataUidsHasBeenSet = true; m_metadataUids.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Provides information to identify a specific V2 finding.

    + */ + inline const Aws::Vector& GetFindingIdentifiers() const { return m_findingIdentifiers; } + inline bool FindingIdentifiersHasBeenSet() const { return m_findingIdentifiersHasBeenSet; } + template> + void SetFindingIdentifiers(FindingIdentifiersT&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers = std::forward(value); } + template> + BatchUpdateFindingsV2Request& WithFindingIdentifiers(FindingIdentifiersT&& value) { SetFindingIdentifiers(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Request& AddFindingIdentifiers(FindingIdentifiersT&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The updated value for a user provided comment about the finding. Minimum + * character length 1. Maximum character length 512.

    + */ + inline const Aws::String& GetComment() const { return m_comment; } + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + template + void SetComment(CommentT&& value) { m_commentHasBeenSet = true; m_comment = std::forward(value); } + template + BatchUpdateFindingsV2Request& WithComment(CommentT&& value) { SetComment(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The updated value for the normalized severity identifier. The severity ID is + * an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 99]. When customer + * provides the updated severity ID, the string sibling severity will automatically + * be updated in the finding.

    + */ + inline int GetSeverityId() const { return m_severityId; } + inline bool SeverityIdHasBeenSet() const { return m_severityIdHasBeenSet; } + inline void SetSeverityId(int value) { m_severityIdHasBeenSet = true; m_severityId = value; } + inline BatchUpdateFindingsV2Request& WithSeverityId(int value) { SetSeverityId(value); return *this;} + ///@} + + ///@{ + /** + *

    The updated value for the normalized status identifier. The status ID is an + * integer with the allowed enum values [0, 1, 2, 3, 4, 5, 6, 99]. When customer + * provides the updated status ID, the string sibling status will automatically be + * updated in the finding.

    + */ + inline int GetStatusId() const { return m_statusId; } + inline bool StatusIdHasBeenSet() const { return m_statusIdHasBeenSet; } + inline void SetStatusId(int value) { m_statusIdHasBeenSet = true; m_statusId = value; } + inline BatchUpdateFindingsV2Request& WithStatusId(int value) { SetStatusId(value); return *this;} + ///@} + private: + + Aws::Vector m_metadataUids; + bool m_metadataUidsHasBeenSet = false; + + Aws::Vector m_findingIdentifiers; + bool m_findingIdentifiersHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + + int m_severityId{0}; + bool m_severityIdHasBeenSet = false; + + int m_statusId{0}; + bool m_statusIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h new file mode 100644 index 00000000000..835247feaf0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class BatchUpdateFindingsV2Result + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result() = default; + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of findings that were updated successfully.

    + */ + inline const Aws::Vector& GetProcessedFindings() const { return m_processedFindings; } + template> + void SetProcessedFindings(ProcessedFindingsT&& value) { m_processedFindingsHasBeenSet = true; m_processedFindings = std::forward(value); } + template> + BatchUpdateFindingsV2Result& WithProcessedFindings(ProcessedFindingsT&& value) { SetProcessedFindings(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Result& AddProcessedFindings(ProcessedFindingsT&& value) { m_processedFindingsHasBeenSet = true; m_processedFindings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The list of V2 findings that were not updated.

    + */ + inline const Aws::Vector& GetUnprocessedFindings() const { return m_unprocessedFindings; } + template> + void SetUnprocessedFindings(UnprocessedFindingsT&& value) { m_unprocessedFindingsHasBeenSet = true; m_unprocessedFindings = std::forward(value); } + template> + BatchUpdateFindingsV2Result& WithUnprocessedFindings(UnprocessedFindingsT&& value) { SetUnprocessedFindings(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Result& AddUnprocessedFindings(UnprocessedFindingsT&& value) { m_unprocessedFindingsHasBeenSet = true; m_unprocessedFindings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + BatchUpdateFindingsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_processedFindings; + bool m_processedFindingsHasBeenSet = false; + + Aws::Vector m_unprocessedFindings; + bool m_unprocessedFindingsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h new file mode 100644 index 00000000000..eacf0c55579 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The list of findings that were not updated.

    See Also:

    AWS + * API Reference

    + */ + class BatchUpdateFindingsV2UnprocessedFinding + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2UnprocessedFinding() = default; + AWS_SECURITYHUB_API BatchUpdateFindingsV2UnprocessedFinding(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API BatchUpdateFindingsV2UnprocessedFinding& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The finding identifier of an unprocessed finding.

    + */ + inline const OcsfFindingIdentifier& GetFindingIdentifier() const { return m_findingIdentifier; } + inline bool FindingIdentifierHasBeenSet() const { return m_findingIdentifierHasBeenSet; } + template + void SetFindingIdentifier(FindingIdentifierT&& value) { m_findingIdentifierHasBeenSet = true; m_findingIdentifier = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithFindingIdentifier(FindingIdentifierT&& value) { SetFindingIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The metadata.uid of an unprocessed finding.

    + */ + inline const Aws::String& GetMetadataUid() const { return m_metadataUid; } + inline bool MetadataUidHasBeenSet() const { return m_metadataUidHasBeenSet; } + template + void SetMetadataUid(MetadataUidT&& value) { m_metadataUidHasBeenSet = true; m_metadataUid = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithMetadataUid(MetadataUidT&& value) { SetMetadataUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Indicates the specific type of error preventing successful processing of a + * finding during a batch update operation.

    + */ + inline BatchUpdateFindingsV2UnprocessedFindingErrorCode GetErrorCode() const { return m_errorCode; } + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + inline void SetErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } + inline BatchUpdateFindingsV2UnprocessedFinding& WithErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value) { SetErrorCode(value); return *this;} + ///@} + + ///@{ + /** + *

    A detailed description of why a finding could not be processed during a batch + * update operation.

    + */ + inline const Aws::String& GetErrorMessage() const { return m_errorMessage; } + inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } + template + void SetErrorMessage(ErrorMessageT&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithErrorMessage(ErrorMessageT&& value) { SetErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingIdentifier m_findingIdentifier; + bool m_findingIdentifierHasBeenSet = false; + + Aws::String m_metadataUid; + bool m_metadataUidHasBeenSet = false; + + BatchUpdateFindingsV2UnprocessedFindingErrorCode m_errorCode{BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET}; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_errorMessage; + bool m_errorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h new file mode 100644 index 00000000000..caf40a61adc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class BatchUpdateFindingsV2UnprocessedFindingErrorCode + { + NOT_SET, + ResourceNotFoundException, + ValidationException, + InternalServerException, + ConflictException + }; + +namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper +{ +AWS_SECURITYHUB_API BatchUpdateFindingsV2UnprocessedFindingErrorCode GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value); +} // namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h new file mode 100644 index 00000000000..6a0dd751983 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables the creation of filtering criteria for security + * findings.

    See Also:

    AWS + * API Reference

    + */ + class CompositeFilter + { + public: + AWS_SECURITYHUB_API CompositeFilter() = default; + AWS_SECURITYHUB_API CompositeFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API CompositeFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Enables filtering based on string field values.

    + */ + inline const Aws::Vector& GetStringFilters() const { return m_stringFilters; } + inline bool StringFiltersHasBeenSet() const { return m_stringFiltersHasBeenSet; } + template> + void SetStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters = std::forward(value); } + template> + CompositeFilter& WithStringFilters(StringFiltersT&& value) { SetStringFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on date and timestamp fields.

    + */ + inline const Aws::Vector& GetDateFilters() const { return m_dateFilters; } + inline bool DateFiltersHasBeenSet() const { return m_dateFiltersHasBeenSet; } + template> + void SetDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters = std::forward(value); } + template> + CompositeFilter& WithDateFilters(DateFiltersT&& value) { SetDateFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on boolean field values.

    + */ + inline const Aws::Vector& GetBooleanFilters() const { return m_booleanFilters; } + inline bool BooleanFiltersHasBeenSet() const { return m_booleanFiltersHasBeenSet; } + template> + void SetBooleanFilters(BooleanFiltersT&& value) { m_booleanFiltersHasBeenSet = true; m_booleanFilters = std::forward(value); } + template> + CompositeFilter& WithBooleanFilters(BooleanFiltersT&& value) { SetBooleanFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddBooleanFilters(BooleanFiltersT&& value) { m_booleanFiltersHasBeenSet = true; m_booleanFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on numerical field values.

    + */ + inline const Aws::Vector& GetNumberFilters() const { return m_numberFilters; } + inline bool NumberFiltersHasBeenSet() const { return m_numberFiltersHasBeenSet; } + template> + void SetNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters = std::forward(value); } + template> + CompositeFilter& WithNumberFilters(NumberFiltersT&& value) { SetNumberFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on map field values.

    + */ + inline const Aws::Vector& GetMapFilters() const { return m_mapFilters; } + inline bool MapFiltersHasBeenSet() const { return m_mapFiltersHasBeenSet; } + template> + void SetMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters = std::forward(value); } + template> + CompositeFilter& WithMapFilters(MapFiltersT&& value) { SetMapFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The logical operator used to combine multiple filter conditions.

    + */ + inline AllowedOperators GetOperator() const { return m_operator; } + inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } + inline void SetOperator(AllowedOperators value) { m_operatorHasBeenSet = true; m_operator = value; } + inline CompositeFilter& WithOperator(AllowedOperators value) { SetOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_stringFilters; + bool m_stringFiltersHasBeenSet = false; + + Aws::Vector m_dateFilters; + bool m_dateFiltersHasBeenSet = false; + + Aws::Vector m_booleanFilters; + bool m_booleanFiltersHasBeenSet = false; + + Aws::Vector m_numberFilters; + bool m_numberFiltersHasBeenSet = false; + + Aws::Vector m_mapFilters; + bool m_mapFiltersHasBeenSet = false; + + AllowedOperators m_operator{AllowedOperators::NOT_SET}; + bool m_operatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h new file mode 100644 index 00000000000..59420edda82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The request causes conflict with the current state of the service + * resource.

    See Also:

    AWS + * API Reference

    + */ + class ConflictException + { + public: + AWS_SECURITYHUB_API ConflictException() = default; + AWS_SECURITYHUB_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ConflictException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ConflictException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h new file mode 100644 index 00000000000..685bee420bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorAuthStatus + { + NOT_SET, + ACTIVE, + FAILED + }; + +namespace ConnectorAuthStatusMapper +{ +AWS_SECURITYHUB_API ConnectorAuthStatus GetConnectorAuthStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorAuthStatus(ConnectorAuthStatus value); +} // namespace ConnectorAuthStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h new file mode 100644 index 00000000000..aa5d72a539d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorProviderName + { + NOT_SET, + JIRA_CLOUD, + SERVICENOW + }; + +namespace ConnectorProviderNameMapper +{ +AWS_SECURITYHUB_API ConnectorProviderName GetConnectorProviderNameForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorProviderName(ConnectorProviderName value); +} // namespace ConnectorProviderNameMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h new file mode 100644 index 00000000000..8087c5290e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ConnectorRegistrationsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ConnectorRegistrationsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ConnectorRegistrationsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The authCode retrieved from authUrl to complete the OAuth 2.0 authorization + * code flow.

    + */ + inline const Aws::String& GetAuthCode() const { return m_authCode; } + inline bool AuthCodeHasBeenSet() const { return m_authCodeHasBeenSet; } + template + void SetAuthCode(AuthCodeT&& value) { m_authCodeHasBeenSet = true; m_authCode = std::forward(value); } + template + ConnectorRegistrationsV2Request& WithAuthCode(AuthCodeT&& value) { SetAuthCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The authState retrieved from authUrl to complete the OAuth 2.0 authorization + * code flow.

    + */ + inline const Aws::String& GetAuthState() const { return m_authState; } + inline bool AuthStateHasBeenSet() const { return m_authStateHasBeenSet; } + template + void SetAuthState(AuthStateT&& value) { m_authStateHasBeenSet = true; m_authState = std::forward(value); } + template + ConnectorRegistrationsV2Request& WithAuthState(AuthStateT&& value) { SetAuthState(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_authCode; + bool m_authCodeHasBeenSet = false; + + Aws::String m_authState; + bool m_authStateHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h new file mode 100644 index 00000000000..c7ebf8212d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ConnectorRegistrationsV2Result + { + public: + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result() = default; + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the connectorV2.

    + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h new file mode 100644 index 00000000000..cd92c89b294 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorStatus + { + NOT_SET, + CONNECTED, + FAILED_TO_CONNECT, + PENDING_CONFIGURATION, + PENDING_AUTHORIZATION + }; + +namespace ConnectorStatusMapper +{ +AWS_SECURITYHUB_API ConnectorStatus GetConnectorStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorStatus(ConnectorStatus value); +} // namespace ConnectorStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h new file mode 100644 index 00000000000..8414f83c71c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    A condensed overview of the connectorV2..

    See Also:

    AWS + * API Reference

    + */ + class ConnectorSummary + { + public: + AWS_SECURITYHUB_API ConnectorSummary() = default; + AWS_SECURITYHUB_API ConnectorSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ConnectorSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the connectorV2.

    + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + inline bool ConnectorArnHasBeenSet() const { return m_connectorArnHasBeenSet; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ConnectorSummary& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + ConnectorSummary& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Name field contains the user-defined name assigned to the integration + * connector. This helps identify and manage multiple connectors within Security + * Hub.

    + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ConnectorSummary& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The description of the connectorV2.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ConnectorSummary& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The connectorV2 third party provider configuration summary.

    + */ + inline const ProviderSummary& GetProviderSummary() const { return m_providerSummary; } + inline bool ProviderSummaryHasBeenSet() const { return m_providerSummaryHasBeenSet; } + template + void SetProviderSummary(ProviderSummaryT&& value) { m_providerSummaryHasBeenSet = true; m_providerSummary = std::forward(value); } + template + ConnectorSummary& WithProviderSummary(ProviderSummaryT&& value) { SetProviderSummary(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    ISO 8601 UTC timestamp for the time create the connectorV2.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + ConnectorSummary& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderSummary m_providerSummary; + bool m_providerSummaryHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h new file mode 100644 index 00000000000..65dc913c968 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateAggregatorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Determines how Regions are linked to an Aggregator V2.

    + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + CreateAggregatorV2Request& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of Regions that are linked to the aggregation Region.

    + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + inline bool LinkedRegionsHasBeenSet() const { return m_linkedRegionsHasBeenSet; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + CreateAggregatorV2Request& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + CreateAggregatorV2Request& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    A list of key-value pairs to be applied to the AggregatorV2.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateAggregatorV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateAggregatorV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    A unique identifier used to ensure idempotency.

    + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateAggregatorV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h new file mode 100644 index 00000000000..5cf9866557a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateAggregatorV2Result + { + public: + AWS_SECURITYHUB_API CreateAggregatorV2Result() = default; + AWS_SECURITYHUB_API CreateAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the AggregatorV2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + CreateAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Web Services Region where data is aggregated.

    + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + CreateAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Determines how Regions are linked to an Aggregator V2.

    + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + CreateAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of Regions that are linked to the aggregation Region.

    + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + CreateAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + CreateAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h new file mode 100644 index 00000000000..14e61a36062 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateAutomationRuleV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The name of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + CreateAutomationRuleV2Request& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the V2 automation rule.

    + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline CreateAutomationRuleV2Request& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    A description of the V2 automation rule.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateAutomationRuleV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The value for the rule priority.

    + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline CreateAutomationRuleV2Request& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    The filtering type and configuration of the automation rule.

    + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + inline bool CriteriaHasBeenSet() const { return m_criteriaHasBeenSet; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + CreateAutomationRuleV2Request& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of actions to be performed when the rule criteria is met.

    + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + CreateAutomationRuleV2Request& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + CreateAutomationRuleV2Request& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    A list of key-value pairs associated with the V2 automation rule.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateAutomationRuleV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateAutomationRuleV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    A unique identifier used to ensure idempotency.

    + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateAutomationRuleV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h new file mode 100644 index 00000000000..885852cbe03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API CreateAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API CreateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h new file mode 100644 index 00000000000..07bd79e47a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateConnectorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique name of the connectorV2.

    + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateConnectorV2Request& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The description of the connectorV2.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateConnectorV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The third-party provider’s service configuration.

    + */ + inline const ProviderConfiguration& GetProvider() const { return m_provider; } + inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; } + template + void SetProvider(ProviderT&& value) { m_providerHasBeenSet = true; m_provider = std::forward(value); } + template + CreateConnectorV2Request& WithProvider(ProviderT&& value) { SetProvider(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of KMS key used to encrypt secrets for the + * connectorV2.

    + */ + inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; } + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + template + void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::forward(value); } + template + CreateConnectorV2Request& WithKmsKeyArn(KmsKeyArnT&& value) { SetKmsKeyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The tags to add to the connectorV2 when you create.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateConnectorV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateConnectorV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    A unique identifier used to ensure idempotency.

    + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateConnectorV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderConfiguration m_provider; + bool m_providerHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h new file mode 100644 index 00000000000..e437b97bfe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateConnectorV2Result + { + public: + AWS_SECURITYHUB_API CreateConnectorV2Result() = default; + AWS_SECURITYHUB_API CreateConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the connectorV2.

    + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + CreateConnectorV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + CreateConnectorV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Url provide to customers for OAuth auth code flow.

    + */ + inline const Aws::String& GetAuthUrl() const { return m_authUrl; } + template + void SetAuthUrl(AuthUrlT&& value) { m_authUrlHasBeenSet = true; m_authUrl = std::forward(value); } + template + CreateConnectorV2Result& WithAuthUrl(AuthUrlT&& value) { SetAuthUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_authUrl; + bool m_authUrlHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h new file mode 100644 index 00000000000..962a243c7ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateTicketV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateTicketV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateTicketV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + CreateTicketV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The the unique ID for the finding.

    + */ + inline const Aws::String& GetFindingMetadataUid() const { return m_findingMetadataUid; } + inline bool FindingMetadataUidHasBeenSet() const { return m_findingMetadataUidHasBeenSet; } + template + void SetFindingMetadataUid(FindingMetadataUidT&& value) { m_findingMetadataUidHasBeenSet = true; m_findingMetadataUid = std::forward(value); } + template + CreateTicketV2Request& WithFindingMetadataUid(FindingMetadataUidT&& value) { SetFindingMetadataUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The client idempotency token.

    + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateTicketV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_findingMetadataUid; + bool m_findingMetadataUidHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h new file mode 100644 index 00000000000..d46cda59935 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateTicketV2Result + { + public: + AWS_SECURITYHUB_API CreateTicketV2Result() = default; + AWS_SECURITYHUB_API CreateTicketV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateTicketV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ID for the ticketv2.

    + */ + inline const Aws::String& GetTicketId() const { return m_ticketId; } + template + void SetTicketId(TicketIdT&& value) { m_ticketIdHasBeenSet = true; m_ticketId = std::forward(value); } + template + CreateTicketV2Result& WithTicketId(TicketIdT&& value) { SetTicketId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The url to the created ticket.

    + */ + inline const Aws::String& GetTicketSrcUrl() const { return m_ticketSrcUrl; } + template + void SetTicketSrcUrl(TicketSrcUrlT&& value) { m_ticketSrcUrlHasBeenSet = true; m_ticketSrcUrl = std::forward(value); } + template + CreateTicketV2Result& WithTicketSrcUrl(TicketSrcUrlT&& value) { SetTicketSrcUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateTicketV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ticketId; + bool m_ticketIdHasBeenSet = false; + + Aws::String m_ticketSrcUrl; + bool m_ticketSrcUrlHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h new file mode 100644 index 00000000000..01590fbde08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Defines the parameters and conditions used to evaluate and filter security + * findings.

    See Also:

    AWS + * API Reference

    + */ + class Criteria + { + public: + AWS_SECURITYHUB_API Criteria() = default; + AWS_SECURITYHUB_API Criteria(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Criteria& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The filtering conditions that align with OCSF standards.

    + */ + inline const OcsfFindingFilters& GetOcsfFindingCriteria() const { return m_ocsfFindingCriteria; } + inline bool OcsfFindingCriteriaHasBeenSet() const { return m_ocsfFindingCriteriaHasBeenSet; } + template + void SetOcsfFindingCriteria(OcsfFindingCriteriaT&& value) { m_ocsfFindingCriteriaHasBeenSet = true; m_ocsfFindingCriteria = std::forward(value); } + template + Criteria& WithOcsfFindingCriteria(OcsfFindingCriteriaT&& value) { SetOcsfFindingCriteria(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingFilters m_ocsfFindingCriteria; + bool m_ocsfFindingCriteriaHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h new file mode 100644 index 00000000000..de4c7a66371 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteAggregatorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the Aggregator V2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + DeleteAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h new file mode 100644 index 00000000000..bc6a4114b8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteAggregatorV2Result + { + public: + AWS_SECURITYHUB_API DeleteAggregatorV2Result() = default; + AWS_SECURITYHUB_API DeleteAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h new file mode 100644 index 00000000000..f051bd51863 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteAutomationRuleV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the V2 automation rule.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h new file mode 100644 index 00000000000..8fde166b420 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h new file mode 100644 index 00000000000..b13da5bdc33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteConnectorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + DeleteConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h new file mode 100644 index 00000000000..c00d3913b47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteConnectorV2Result + { + public: + AWS_SECURITYHUB_API DeleteConnectorV2Result() = default; + AWS_SECURITYHUB_API DeleteConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h new file mode 100644 index 00000000000..4a0cc7982f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DescribeProductsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DescribeProductsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeProductsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + DescribeProductsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeProductsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h new file mode 100644 index 00000000000..349e8731bb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DescribeProductsV2Result + { + public: + AWS_SECURITYHUB_API DescribeProductsV2Result() = default; + AWS_SECURITYHUB_API DescribeProductsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DescribeProductsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Gets information about the product integration.

    + */ + inline const Aws::Vector& GetProductsV2() const { return m_productsV2; } + template> + void SetProductsV2(ProductsV2T&& value) { m_productsV2HasBeenSet = true; m_productsV2 = std::forward(value); } + template> + DescribeProductsV2Result& WithProductsV2(ProductsV2T&& value) { SetProductsV2(std::forward(value)); return *this;} + template + DescribeProductsV2Result& AddProductsV2(ProductsV2T&& value) { m_productsV2HasBeenSet = true; m_productsV2.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + DescribeProductsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DescribeProductsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_productsV2; + bool m_productsV2HasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h new file mode 100644 index 00000000000..b6a2c6611bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DescribeSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DescribeSecurityHubV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DescribeSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h new file mode 100644 index 00000000000..7c2a73d80b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DescribeSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API DescribeSecurityHubV2Result() = default; + AWS_SECURITYHUB_API DescribeSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DescribeSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the service resource.

    + */ + inline const Aws::String& GetHubV2Arn() const { return m_hubV2Arn; } + template + void SetHubV2Arn(HubV2ArnT&& value) { m_hubV2ArnHasBeenSet = true; m_hubV2Arn = std::forward(value); } + template + DescribeSecurityHubV2Result& WithHubV2Arn(HubV2ArnT&& value) { SetHubV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the service was enabled in the account.

    + */ + inline const Aws::String& GetSubscribedAt() const { return m_subscribedAt; } + template + void SetSubscribedAt(SubscribedAtT&& value) { m_subscribedAtHasBeenSet = true; m_subscribedAt = std::forward(value); } + template + DescribeSecurityHubV2Result& WithSubscribedAt(SubscribedAtT&& value) { SetSubscribedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DescribeSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_hubV2Arn; + bool m_hubV2ArnHasBeenSet = false; + + Aws::String m_subscribedAt; + bool m_subscribedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h index f7a0fa3c7b6..5d186d99373 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -44,10 +45,24 @@ namespace Model template DisableOrganizationAdminAccountRequest& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    The feature for which the delegated admin account is disabled. Defaults to + * Security Hub if not specified.

    + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline DisableOrganizationAdminAccountRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: Aws::String m_adminAccountId; bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h new file mode 100644 index 00000000000..8c78a5badc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DisableSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DisableSecurityHubV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DisableSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h new file mode 100644 index 00000000000..62019fdcd16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DisableSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API DisableSecurityHubV2Result() = default; + AWS_SECURITYHUB_API DisableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DisableSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DisableSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h index faf98144e76..6d85fc980a7 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -44,10 +45,24 @@ namespace Model template EnableOrganizationAdminAccountRequest& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    The feature for which the delegated admin account is enabled. Defaults to + * Security Hub if not specified.

    + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline EnableOrganizationAdminAccountRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: Aws::String m_adminAccountId; bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h index 344fe35bffd..d76c161dbc0 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -32,6 +33,28 @@ namespace Model AWS_SECURITYHUB_API EnableOrganizationAdminAccountResult& operator=(const Aws::AmazonWebServiceResult& result); + ///@{ + /** + *

    The Amazon Web Services account identifier of the account to designate as the + * Security Hub administrator account.

    + */ + inline const Aws::String& GetAdminAccountId() const { return m_adminAccountId; } + template + void SetAdminAccountId(AdminAccountIdT&& value) { m_adminAccountIdHasBeenSet = true; m_adminAccountId = std::forward(value); } + template + EnableOrganizationAdminAccountResult& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The feature where the delegated administrator is enabled. The default is + * Security Hub CSPM if no delegated administrator is specified in the request.

    + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline EnableOrganizationAdminAccountResult& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -42,6 +65,12 @@ namespace Model ///@} private: + Aws::String m_adminAccountId; + bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.h new file mode 100644 index 00000000000..321a820c12f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class EnableSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API EnableSecurityHubV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EnableSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The tags to add to the hub V2 resource when you enable Security Hub.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + EnableSecurityHubV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + EnableSecurityHubV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h new file mode 100644 index 00000000000..265204b0b0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class EnableSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API EnableSecurityHubV2Result() = default; + AWS_SECURITYHUB_API EnableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API EnableSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the V2 resource that was created.

    + */ + inline const Aws::String& GetHubV2Arn() const { return m_hubV2Arn; } + template + void SetHubV2Arn(HubV2ArnT&& value) { m_hubV2ArnHasBeenSet = true; m_hubV2Arn = std::forward(value); } + template + EnableSecurityHubV2Result& WithHubV2Arn(HubV2ArnT&& value) { SetHubV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + EnableSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_hubV2Arn; + bool m_hubV2ArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h new file mode 100644 index 00000000000..7b17643127f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Defines the settings and parameters required for integrating external + * security tools and services.

    See Also:

    AWS + * API Reference

    + */ + class ExternalIntegrationConfiguration + { + public: + AWS_SECURITYHUB_API ExternalIntegrationConfiguration() = default; + AWS_SECURITYHUB_API ExternalIntegrationConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ExternalIntegrationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The ARN of the connector that establishes the integration.

    + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + inline bool ConnectorArnHasBeenSet() const { return m_connectorArnHasBeenSet; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ExternalIntegrationConfiguration& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h new file mode 100644 index 00000000000..89317f43e7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetAggregatorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the Aggregator V2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + GetAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h new file mode 100644 index 00000000000..7bcedbf49ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetAggregatorV2Result + { + public: + AWS_SECURITYHUB_API GetAggregatorV2Result() = default; + AWS_SECURITYHUB_API GetAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the Aggregator V2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + GetAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Web Services Region where data is aggregated.

    + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + GetAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Determines how Regions are linked to an Aggregator V2.

    + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + GetAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of Regions that are linked to the aggregation Region.

    + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + GetAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + GetAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h new file mode 100644 index 00000000000..92573440050 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetAutomationRuleV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the V2 automation rule.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h new file mode 100644 index 00000000000..ad2c7e00ba2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h @@ -0,0 +1,194 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API GetAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API GetAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The value for the rule priority.

    + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline GetAutomationRuleV2Result& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the V2 automation rule.

    + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the V2 automation automation rule.

    + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline GetAutomationRuleV2Result& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    A description of the automation rule.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetAutomationRuleV2Result& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The filtering type and configuration of the V2 automation rule.

    + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + GetAutomationRuleV2Result& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of actions performed when the rule criteria is met.

    + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + GetAutomationRuleV2Result& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + GetAutomationRuleV2Result& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The timestamp when the V2 automation rule was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetAutomationRuleV2Result& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp when the V2 automation rule was updated.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; } + template + void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward(value); } + template + GetAutomationRuleV2Result& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt{}; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h new file mode 100644 index 00000000000..d84b1bee5de --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetConnectorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + GetConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h new file mode 100644 index 00000000000..8c33d567673 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h @@ -0,0 +1,181 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetConnectorV2Result + { + public: + AWS_SECURITYHUB_API GetConnectorV2Result() = default; + AWS_SECURITYHUB_API GetConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the connectorV2.

    + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + GetConnectorV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + GetConnectorV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the connectorV2.

    + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetConnectorV2Result& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The description of the connectorV2.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetConnectorV2Result& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of KMS key used for the connectorV2.

    + */ + inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; } + template + void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::forward(value); } + template + GetConnectorV2Result& WithKmsKeyArn(KmsKeyArnT&& value) { SetKmsKeyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    ISO 8601 UTC timestamp for the time create the connectorV2.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetConnectorV2Result& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    ISO 8601 UTC timestamp for the time update the connectorV2 + * connectorStatus.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + GetConnectorV2Result& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current health status for connectorV2

    + */ + inline const HealthCheck& GetHealth() const { return m_health; } + template + void SetHealth(HealthT&& value) { m_healthHasBeenSet = true; m_health = std::forward(value); } + template + GetConnectorV2Result& WithHealth(HealthT&& value) { SetHealth(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The third-party provider detail for a service configuration.

    + */ + inline const ProviderDetail& GetProviderDetail() const { return m_providerDetail; } + template + void SetProviderDetail(ProviderDetailT&& value) { m_providerDetailHasBeenSet = true; m_providerDetail = std::forward(value); } + template + GetConnectorV2Result& WithProviderDetail(ProviderDetailT&& value) { SetProviderDetail(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + HealthCheck m_health; + bool m_healthHasBeenSet = false; + + ProviderDetail m_providerDetail; + bool m_providerDetailHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h new file mode 100644 index 00000000000..9336eaf9344 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetFindingStatisticsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetFindingStatisticsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetFindingStatisticsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specifies how security findings should be aggregated and organized in the + * statistical analysis. It can accept up to 5 groupBy fields in a + * single call.

    + */ + inline const Aws::Vector& GetGroupByRules() const { return m_groupByRules; } + inline bool GroupByRulesHasBeenSet() const { return m_groupByRulesHasBeenSet; } + template> + void SetGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules = std::forward(value); } + template> + GetFindingStatisticsV2Request& WithGroupByRules(GroupByRulesT&& value) { SetGroupByRules(std::forward(value)); return *this;} + template + GetFindingStatisticsV2Request& AddGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Orders the aggregation count in descending or ascending order. Descending + * order is the default.

    + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline GetFindingStatisticsV2Request& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to be returned.

    + */ + inline int GetMaxStatisticResults() const { return m_maxStatisticResults; } + inline bool MaxStatisticResultsHasBeenSet() const { return m_maxStatisticResultsHasBeenSet; } + inline void SetMaxStatisticResults(int value) { m_maxStatisticResultsHasBeenSet = true; m_maxStatisticResults = value; } + inline GetFindingStatisticsV2Request& WithMaxStatisticResults(int value) { SetMaxStatisticResults(value); return *this;} + ///@} + private: + + Aws::Vector m_groupByRules; + bool m_groupByRulesHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + + int m_maxStatisticResults{0}; + bool m_maxStatisticResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h new file mode 100644 index 00000000000..d4df4ae7a70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetFindingStatisticsV2Result + { + public: + AWS_SECURITYHUB_API GetFindingStatisticsV2Result() = default; + AWS_SECURITYHUB_API GetFindingStatisticsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetFindingStatisticsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Aggregated statistics about security findings based on specified grouping + * criteria.

    + */ + inline const Aws::Vector& GetGroupByResults() const { return m_groupByResults; } + template> + void SetGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults = std::forward(value); } + template> + GetFindingStatisticsV2Result& WithGroupByResults(GroupByResultsT&& value) { SetGroupByResults(std::forward(value)); return *this;} + template + GetFindingStatisticsV2Result& AddGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetFindingStatisticsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_groupByResults; + bool m_groupByResultsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h new file mode 100644 index 00000000000..fa81b298072 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetFindingsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetFindingsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetFindingsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The finding attributes used to define a condition to filter the returned OCSF + * findings. You can filter up to 10 composite filters. For each filter type inside + * of a composite filter, you can provide up to 20 filters.

    + */ + inline const OcsfFindingFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GetFindingsV2Request& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The finding attributes used to sort the list of returned findings.

    + */ + inline const Aws::Vector& GetSortCriteria() const { return m_sortCriteria; } + inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } + template> + void SetSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::forward(value); } + template> + GetFindingsV2Request& WithSortCriteria(SortCriteriaT&& value) { SetSortCriteria(std::forward(value)); return *this;} + template + GetFindingsV2Request& AddSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetFindingsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetFindingsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + OcsfFindingFilters m_filters; + bool m_filtersHasBeenSet = false; + + Aws::Vector m_sortCriteria; + bool m_sortCriteriaHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h new file mode 100644 index 00000000000..6190b1ced99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetFindingsV2Result + { + public: + AWS_SECURITYHUB_API GetFindingsV2Result() = default; + AWS_SECURITYHUB_API GetFindingsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetFindingsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    An array of security findings returned by the operation.

    + */ + inline const Aws::Vector& GetFindings() const { return m_findings; } + template> + void SetFindings(FindingsT&& value) { m_findingsHasBeenSet = true; m_findings = std::forward(value); } + template> + GetFindingsV2Result& WithFindings(FindingsT&& value) { SetFindings(std::forward(value)); return *this;} + template + GetFindingsV2Result& AddFindings(FindingsT&& value) { m_findingsHasBeenSet = true; m_findings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetFindingsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetFindingsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_findings; + bool m_findingsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h new file mode 100644 index 00000000000..e2dfaa38f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetResourcesStatisticsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetResourcesStatisticsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetResourcesStatisticsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    How resource statistics should be aggregated and organized in the + * response.

    + */ + inline const Aws::Vector& GetGroupByRules() const { return m_groupByRules; } + inline bool GroupByRulesHasBeenSet() const { return m_groupByRulesHasBeenSet; } + template> + void SetGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules = std::forward(value); } + template> + GetResourcesStatisticsV2Request& WithGroupByRules(GroupByRulesT&& value) { SetGroupByRules(std::forward(value)); return *this;} + template + GetResourcesStatisticsV2Request& AddGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Sorts aggregated statistics.

    + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline GetResourcesStatisticsV2Request& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to be returned.

    + */ + inline int GetMaxStatisticResults() const { return m_maxStatisticResults; } + inline bool MaxStatisticResultsHasBeenSet() const { return m_maxStatisticResultsHasBeenSet; } + inline void SetMaxStatisticResults(int value) { m_maxStatisticResultsHasBeenSet = true; m_maxStatisticResults = value; } + inline GetResourcesStatisticsV2Request& WithMaxStatisticResults(int value) { SetMaxStatisticResults(value); return *this;} + ///@} + private: + + Aws::Vector m_groupByRules; + bool m_groupByRulesHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + + int m_maxStatisticResults{0}; + bool m_maxStatisticResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h new file mode 100644 index 00000000000..e3b485169a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetResourcesStatisticsV2Result + { + public: + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result() = default; + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The aggregated statistics about resources based on the specified grouping + * rule.

    + */ + inline const Aws::Vector& GetGroupByResults() const { return m_groupByResults; } + template> + void SetGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults = std::forward(value); } + template> + GetResourcesStatisticsV2Result& WithGroupByResults(GroupByResultsT&& value) { SetGroupByResults(std::forward(value)); return *this;} + template + GetResourcesStatisticsV2Result& AddGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetResourcesStatisticsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_groupByResults; + bool m_groupByResultsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h new file mode 100644 index 00000000000..236f86f0b94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetResourcesV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetResourcesV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetResourcesV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Filters resources based on a set of criteria.

    + */ + inline const ResourcesFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GetResourcesV2Request& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The finding attributes used to sort the list of returned findings.

    + */ + inline const Aws::Vector& GetSortCriteria() const { return m_sortCriteria; } + inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } + template> + void SetSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::forward(value); } + template> + GetResourcesV2Request& WithSortCriteria(SortCriteriaT&& value) { SetSortCriteria(std::forward(value)); return *this;} + template + GetResourcesV2Request& AddSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetResourcesV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetResourcesV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + ResourcesFilters m_filters; + bool m_filtersHasBeenSet = false; + + Aws::Vector m_sortCriteria; + bool m_sortCriteriaHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h new file mode 100644 index 00000000000..da001ab6e99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetResourcesV2Result + { + public: + AWS_SECURITYHUB_API GetResourcesV2Result() = default; + AWS_SECURITYHUB_API GetResourcesV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetResourcesV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Filters resources based on a set of criteria.

    + */ + inline const Aws::Vector& GetResources() const { return m_resources; } + template> + void SetResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources = std::forward(value); } + template> + GetResourcesV2Result& WithResources(ResourcesT&& value) { SetResources(std::forward(value)); return *this;} + template + GetResourcesV2Result& AddResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetResourcesV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetResourcesV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_resources; + bool m_resourcesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h new file mode 100644 index 00000000000..9e8537ac78b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class GroupByField + { + NOT_SET, + activity_name, + cloud_account_uid, + cloud_provider, + cloud_region, + compliance_assessments_name, + compliance_status, + compliance_control, + finding_info_title, + finding_info_types, + metadata_product_name, + metadata_product_uid, + resources_type, + resources_uid, + severity, + status, + vulnerabilities_fix_coverage, + class_name + }; + +namespace GroupByFieldMapper +{ +AWS_SECURITYHUB_API GroupByField GetGroupByFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForGroupByField(GroupByField value); +} // namespace GroupByFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h new file mode 100644 index 00000000000..907a32680aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Represents finding statistics grouped by + * GroupedByField.

    See Also:

    AWS + * API Reference

    + */ + class GroupByResult + { + public: + AWS_SECURITYHUB_API GroupByResult() = default; + AWS_SECURITYHUB_API GroupByResult(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API GroupByResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The attribute by which filtered security findings should be grouped.

    + */ + inline const Aws::String& GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + template + void SetGroupByField(GroupByFieldT&& value) { m_groupByFieldHasBeenSet = true; m_groupByField = std::forward(value); } + template + GroupByResult& WithGroupByField(GroupByFieldT&& value) { SetGroupByField(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of grouped values and their respective counts for each + * GroupByField.

    + */ + inline const Aws::Vector& GetGroupByValues() const { return m_groupByValues; } + inline bool GroupByValuesHasBeenSet() const { return m_groupByValuesHasBeenSet; } + template> + void SetGroupByValues(GroupByValuesT&& value) { m_groupByValuesHasBeenSet = true; m_groupByValues = std::forward(value); } + template> + GroupByResult& WithGroupByValues(GroupByValuesT&& value) { SetGroupByValues(std::forward(value)); return *this;} + template + GroupByResult& AddGroupByValues(GroupByValuesT&& value) { m_groupByValuesHasBeenSet = true; m_groupByValues.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_groupByField; + bool m_groupByFieldHasBeenSet = false; + + Aws::Vector m_groupByValues; + bool m_groupByValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h new file mode 100644 index 00000000000..c08456f8202 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Defines the how the finding attribute should be grouped.

    See + * Also:

    AWS + * API Reference

    + */ + class GroupByRule + { + public: + AWS_SECURITYHUB_API GroupByRule() = default; + AWS_SECURITYHUB_API GroupByRule(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API GroupByRule& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The criteria used to select which security findings should be included in the + * grouping operation.

    + */ + inline const OcsfFindingFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GroupByRule& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The attribute by which filtered findings should be grouped.

    + */ + inline GroupByField GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + inline void SetGroupByField(GroupByField value) { m_groupByFieldHasBeenSet = true; m_groupByField = value; } + inline GroupByRule& WithGroupByField(GroupByField value) { SetGroupByField(value); return *this;} + ///@} + private: + + OcsfFindingFilters m_filters; + bool m_filtersHasBeenSet = false; + + GroupByField m_groupByField{GroupByField::NOT_SET}; + bool m_groupByFieldHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h new file mode 100644 index 00000000000..3a2f687a139 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Represents individual aggregated results when grouping security findings for + * each GroupByField.

    See Also:

    AWS + * API Reference

    + */ + class GroupByValue + { + public: + AWS_SECURITYHUB_API GroupByValue() = default; + AWS_SECURITYHUB_API GroupByValue(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API GroupByValue& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The value of the field by which findings are grouped.

    + */ + inline const Aws::String& GetFieldValue() const { return m_fieldValue; } + inline bool FieldValueHasBeenSet() const { return m_fieldValueHasBeenSet; } + template + void SetFieldValue(FieldValueT&& value) { m_fieldValueHasBeenSet = true; m_fieldValue = std::forward(value); } + template + GroupByValue& WithFieldValue(FieldValueT&& value) { SetFieldValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings for a specific FieldValue and + * GroupByField.

    + */ + inline int GetCount() const { return m_count; } + inline bool CountHasBeenSet() const { return m_countHasBeenSet; } + inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } + inline GroupByValue& WithCount(int value) { SetCount(value); return *this;} + ///@} + private: + + Aws::String m_fieldValue; + bool m_fieldValueHasBeenSet = false; + + int m_count{0}; + bool m_countHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h new file mode 100644 index 00000000000..b686f8e7561 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Information about the operational status and health of a + * connectorV2.

    See Also:

    AWS + * API Reference

    + */ + class HealthCheck + { + public: + AWS_SECURITYHUB_API HealthCheck() = default; + AWS_SECURITYHUB_API HealthCheck(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API HealthCheck& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The status of the connectorV2.

    + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline HealthCheck& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    The message for the reason of connectorStatus change.

    + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + HealthCheck& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    ISO 8601 UTC timestamp for the time check the health status of the + * connectorV2.

    + */ + inline const Aws::Utils::DateTime& GetLastCheckedAt() const { return m_lastCheckedAt; } + inline bool LastCheckedAtHasBeenSet() const { return m_lastCheckedAtHasBeenSet; } + template + void SetLastCheckedAt(LastCheckedAtT&& value) { m_lastCheckedAtHasBeenSet = true; m_lastCheckedAt = std::forward(value); } + template + HealthCheck& WithLastCheckedAt(LastCheckedAtT&& value) { SetLastCheckedAt(std::forward(value)); return *this;} + ///@} + private: + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::Utils::DateTime m_lastCheckedAt{}; + bool m_lastCheckedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h new file mode 100644 index 00000000000..51d629859c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class IntegrationV2Type + { + NOT_SET, + SEND_FINDINGS_TO_SECURITY_HUB, + RECEIVE_FINDINGS_FROM_SECURITY_HUB, + UPDATE_FINDINGS_IN_SECURITY_HUB + }; + +namespace IntegrationV2TypeMapper +{ +AWS_SECURITYHUB_API IntegrationV2Type GetIntegrationV2TypeForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForIntegrationV2Type(IntegrationV2Type value); +} // namespace IntegrationV2TypeMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h new file mode 100644 index 00000000000..926d33a8523 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The request has failed due to an internal failure of the service. + *

    See Also:

    AWS + * API Reference

    + */ + class InternalServerException + { + public: + AWS_SECURITYHUB_API InternalServerException() = default; + AWS_SECURITYHUB_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + InternalServerException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + InternalServerException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h new file mode 100644 index 00000000000..bb3d676c736 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Information about the configuration and status of a Jira Cloud + * integration.

    See Also:

    AWS + * API Reference

    + */ + class JiraCloudDetail + { + public: + AWS_SECURITYHUB_API JiraCloudDetail() = default; + AWS_SECURITYHUB_API JiraCloudDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API JiraCloudDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The cloud id of the Jira Cloud.

    + */ + inline const Aws::String& GetCloudId() const { return m_cloudId; } + inline bool CloudIdHasBeenSet() const { return m_cloudIdHasBeenSet; } + template + void SetCloudId(CloudIdT&& value) { m_cloudIdHasBeenSet = true; m_cloudId = std::forward(value); } + template + JiraCloudDetail& WithCloudId(CloudIdT&& value) { SetCloudId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The projectKey of Jira Cloud.

    + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudDetail& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The URL domain of your Jira Cloud instance.

    + */ + inline const Aws::String& GetDomain() const { return m_domain; } + inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } + template + void SetDomain(DomainT&& value) { m_domainHasBeenSet = true; m_domain = std::forward(value); } + template + JiraCloudDetail& WithDomain(DomainT&& value) { SetDomain(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The URL to provide to customers for OAuth auth code flow.

    + */ + inline const Aws::String& GetAuthUrl() const { return m_authUrl; } + inline bool AuthUrlHasBeenSet() const { return m_authUrlHasBeenSet; } + template + void SetAuthUrl(AuthUrlT&& value) { m_authUrlHasBeenSet = true; m_authUrl = std::forward(value); } + template + JiraCloudDetail& WithAuthUrl(AuthUrlT&& value) { SetAuthUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the authorization between Jira Cloud and the service.

    + */ + inline ConnectorAuthStatus GetAuthStatus() const { return m_authStatus; } + inline bool AuthStatusHasBeenSet() const { return m_authStatusHasBeenSet; } + inline void SetAuthStatus(ConnectorAuthStatus value) { m_authStatusHasBeenSet = true; m_authStatus = value; } + inline JiraCloudDetail& WithAuthStatus(ConnectorAuthStatus value) { SetAuthStatus(value); return *this;} + ///@} + private: + + Aws::String m_cloudId; + bool m_cloudIdHasBeenSet = false; + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + + Aws::String m_domain; + bool m_domainHasBeenSet = false; + + Aws::String m_authUrl; + bool m_authUrlHasBeenSet = false; + + ConnectorAuthStatus m_authStatus{ConnectorAuthStatus::NOT_SET}; + bool m_authStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h new file mode 100644 index 00000000000..87f53ef19ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The initial configuration settings required to establish an integration + * between Security Hub and Jira Cloud.

    See Also:

    AWS + * API Reference

    + */ + class JiraCloudProviderConfiguration + { + public: + AWS_SECURITYHUB_API JiraCloudProviderConfiguration() = default; + AWS_SECURITYHUB_API JiraCloudProviderConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API JiraCloudProviderConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The project key for a JiraCloud instance.

    + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudProviderConfiguration& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h new file mode 100644 index 00000000000..18d4c0220e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The parameters used to modify an existing Jira Cloud + * integration.

    See Also:

    AWS + * API Reference

    + */ + class JiraCloudUpdateConfiguration + { + public: + AWS_SECURITYHUB_API JiraCloudUpdateConfiguration() = default; + AWS_SECURITYHUB_API JiraCloudUpdateConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API JiraCloudUpdateConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The project key for a JiraCloud instance.

    + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudUpdateConfiguration& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h new file mode 100644 index 00000000000..7ba954d84aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListAggregatorsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListAggregatorsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAggregatorsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAggregatorsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAggregatorsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h new file mode 100644 index 00000000000..ca883f0d883 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListAggregatorsV2Result + { + public: + AWS_SECURITYHUB_API ListAggregatorsV2Result() = default; + AWS_SECURITYHUB_API ListAggregatorsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListAggregatorsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    An array of aggregators.

    + */ + inline const Aws::Vector& GetAggregatorsV2() const { return m_aggregatorsV2; } + template> + void SetAggregatorsV2(AggregatorsV2T&& value) { m_aggregatorsV2HasBeenSet = true; m_aggregatorsV2 = std::forward(value); } + template> + ListAggregatorsV2Result& WithAggregatorsV2(AggregatorsV2T&& value) { SetAggregatorsV2(std::forward(value)); return *this;} + template + ListAggregatorsV2Result& AddAggregatorsV2(AggregatorsV2T&& value) { m_aggregatorsV2HasBeenSet = true; m_aggregatorsV2.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAggregatorsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListAggregatorsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_aggregatorsV2; + bool m_aggregatorsV2HasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h new file mode 100644 index 00000000000..45c1cd3f907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListAutomationRulesV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListAutomationRulesV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAutomationRulesV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAutomationRulesV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAutomationRulesV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h new file mode 100644 index 00000000000..24b7289ee1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListAutomationRulesV2Result + { + public: + AWS_SECURITYHUB_API ListAutomationRulesV2Result() = default; + AWS_SECURITYHUB_API ListAutomationRulesV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListAutomationRulesV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    An array of automation rules.

    + */ + inline const Aws::Vector& GetRules() const { return m_rules; } + template> + void SetRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules = std::forward(value); } + template> + ListAutomationRulesV2Result& WithRules(RulesT&& value) { SetRules(std::forward(value)); return *this;} + template + ListAutomationRulesV2Result& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAutomationRulesV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListAutomationRulesV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_rules; + bool m_rulesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h new file mode 100644 index 00000000000..d5f2f379b22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListConnectorsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListConnectorsV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListConnectorsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The pagination token per the Amazon Web Services Pagination standard

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListConnectorsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to be returned.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListConnectorsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the third-party provider.

    + */ + inline ConnectorProviderName GetProviderName() const { return m_providerName; } + inline bool ProviderNameHasBeenSet() const { return m_providerNameHasBeenSet; } + inline void SetProviderName(ConnectorProviderName value) { m_providerNameHasBeenSet = true; m_providerName = value; } + inline ListConnectorsV2Request& WithProviderName(ConnectorProviderName value) { SetProviderName(value); return *this;} + ///@} + + ///@{ + /** + *

    The status for the connectorV2.

    + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline ListConnectorsV2Request& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + ConnectorProviderName m_providerName{ConnectorProviderName::NOT_SET}; + bool m_providerNameHasBeenSet = false; + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h new file mode 100644 index 00000000000..3ab478a2d6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListConnectorsV2Result + { + public: + AWS_SECURITYHUB_API ListConnectorsV2Result() = default; + AWS_SECURITYHUB_API ListConnectorsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListConnectorsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListConnectorsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of connectorV2 summaries.

    + */ + inline const Aws::Vector& GetConnectors() const { return m_connectors; } + template> + void SetConnectors(ConnectorsT&& value) { m_connectorsHasBeenSet = true; m_connectors = std::forward(value); } + template> + ListConnectorsV2Result& WithConnectors(ConnectorsT&& value) { SetConnectors(std::forward(value)); return *this;} + template + ListConnectorsV2Result& AddConnectors(ConnectorsT&& value) { m_connectorsHasBeenSet = true; m_connectors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListConnectorsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_connectors; + bool m_connectorsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h index 174991b3eb0..69fb4b41460 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -63,6 +64,17 @@ namespace Model template ListOrganizationAdminAccountsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    The feature where the delegated administrator account is listed. Defaults to + * Security Hub if not specified.

    + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline ListOrganizationAdminAccountsRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: int m_maxResults{0}; @@ -70,6 +82,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h index d8e78840e29..6c5468011ab 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,16 @@ namespace Model ListOrganizationAdminAccountsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    The feature where the delegated administrator account is listed. Defaults to + * Security Hub CSPM if not specified.

    + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline ListOrganizationAdminAccountsResult& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -74,6 +85,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h new file mode 100644 index 00000000000..5c2b9787ee9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfBooleanField + { + NOT_SET, + compliance_assessments_meets_criteria, + vulnerabilities_is_exploit_available, + vulnerabilities_is_fix_available + }; + +namespace OcsfBooleanFieldMapper +{ +AWS_SECURITYHUB_API OcsfBooleanField GetOcsfBooleanFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfBooleanField(OcsfBooleanField value); +} // namespace OcsfBooleanFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h new file mode 100644 index 00000000000..0f534814d87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of security findings based on boolean field values in + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfBooleanFilter + { + public: + AWS_SECURITYHUB_API OcsfBooleanFilter() = default; + AWS_SECURITYHUB_API OcsfBooleanFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfBooleanFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline OcsfBooleanField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfBooleanField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfBooleanFilter& WithFieldName(OcsfBooleanField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const BooleanFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfBooleanFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfBooleanField m_fieldName{OcsfBooleanField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + BooleanFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h new file mode 100644 index 00000000000..1c8a33a8ecd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfDateField + { + NOT_SET, + finding_info_created_time_dt, + finding_info_first_seen_time_dt, + finding_info_last_seen_time_dt, + finding_info_modified_time_dt + }; + +namespace OcsfDateFieldMapper +{ +AWS_SECURITYHUB_API OcsfDateField GetOcsfDateFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfDateField(OcsfDateField value); +} // namespace OcsfDateFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h new file mode 100644 index 00000000000..4532fe687e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of security findings based on date and timestamp fields in + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfDateFilter + { + public: + AWS_SECURITYHUB_API OcsfDateFilter() = default; + AWS_SECURITYHUB_API OcsfDateFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfDateFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline OcsfDateField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfDateField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfDateFilter& WithFieldName(OcsfDateField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const DateFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfDateFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfDateField m_fieldName{OcsfDateField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + DateFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h new file mode 100644 index 00000000000..a320ae2bc26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Specifies the filtering criteria for security findings using + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfFindingFilters + { + public: + AWS_SECURITYHUB_API OcsfFindingFilters() = default; + AWS_SECURITYHUB_API OcsfFindingFilters(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfFindingFilters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Enables the creation of complex filtering conditions by combining filter + * criteria.

    + */ + inline const Aws::Vector& GetCompositeFilters() const { return m_compositeFilters; } + inline bool CompositeFiltersHasBeenSet() const { return m_compositeFiltersHasBeenSet; } + template> + void SetCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters = std::forward(value); } + template> + OcsfFindingFilters& WithCompositeFilters(CompositeFiltersT&& value) { SetCompositeFilters(std::forward(value)); return *this;} + template + OcsfFindingFilters& AddCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The logical operators used to combine the filtering on multiple + * CompositeFilters.

    + */ + inline AllowedOperators GetCompositeOperator() const { return m_compositeOperator; } + inline bool CompositeOperatorHasBeenSet() const { return m_compositeOperatorHasBeenSet; } + inline void SetCompositeOperator(AllowedOperators value) { m_compositeOperatorHasBeenSet = true; m_compositeOperator = value; } + inline OcsfFindingFilters& WithCompositeOperator(AllowedOperators value) { SetCompositeOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_compositeFilters; + bool m_compositeFiltersHasBeenSet = false; + + AllowedOperators m_compositeOperator{AllowedOperators::NOT_SET}; + bool m_compositeOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h new file mode 100644 index 00000000000..6a39d35ff0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Provides a standard to identify security findings using OCSF.

    See + * Also:

    AWS + * API Reference

    + */ + class OcsfFindingIdentifier + { + public: + AWS_SECURITYHUB_API OcsfFindingIdentifier() = default; + AWS_SECURITYHUB_API OcsfFindingIdentifier(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfFindingIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Finding cloud.account.uid, which is a unique identifier in the Amazon Web + * Services account..

    + */ + inline const Aws::String& GetCloudAccountUid() const { return m_cloudAccountUid; } + inline bool CloudAccountUidHasBeenSet() const { return m_cloudAccountUidHasBeenSet; } + template + void SetCloudAccountUid(CloudAccountUidT&& value) { m_cloudAccountUidHasBeenSet = true; m_cloudAccountUid = std::forward(value); } + template + OcsfFindingIdentifier& WithCloudAccountUid(CloudAccountUidT&& value) { SetCloudAccountUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Finding finding_info.uid, which is a unique identifier for the finding from + * the finding provider.

    + */ + inline const Aws::String& GetFindingInfoUid() const { return m_findingInfoUid; } + inline bool FindingInfoUidHasBeenSet() const { return m_findingInfoUidHasBeenSet; } + template + void SetFindingInfoUid(FindingInfoUidT&& value) { m_findingInfoUidHasBeenSet = true; m_findingInfoUid = std::forward(value); } + template + OcsfFindingIdentifier& WithFindingInfoUid(FindingInfoUidT&& value) { SetFindingInfoUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Finding metadata.product.uid, which is a unique identifier for the + * product.

    + */ + inline const Aws::String& GetMetadataProductUid() const { return m_metadataProductUid; } + inline bool MetadataProductUidHasBeenSet() const { return m_metadataProductUidHasBeenSet; } + template + void SetMetadataProductUid(MetadataProductUidT&& value) { m_metadataProductUidHasBeenSet = true; m_metadataProductUid = std::forward(value); } + template + OcsfFindingIdentifier& WithMetadataProductUid(MetadataProductUidT&& value) { SetMetadataProductUid(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_cloudAccountUid; + bool m_cloudAccountUidHasBeenSet = false; + + Aws::String m_findingInfoUid; + bool m_findingInfoUidHasBeenSet = false; + + Aws::String m_metadataProductUid; + bool m_metadataProductUidHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h new file mode 100644 index 00000000000..f87ef3dcffd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfMapField + { + NOT_SET, + resources_tags + }; + +namespace OcsfMapFieldMapper +{ +AWS_SECURITYHUB_API OcsfMapField GetOcsfMapFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfMapField(OcsfMapField value); +} // namespace OcsfMapFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h new file mode 100644 index 00000000000..340bb1d31d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of security findings based on map field values in + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfMapFilter + { + public: + AWS_SECURITYHUB_API OcsfMapFilter() = default; + AWS_SECURITYHUB_API OcsfMapFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfMapFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline OcsfMapField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfMapField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfMapFilter& WithFieldName(OcsfMapField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const MapFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfMapFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfMapField m_fieldName{OcsfMapField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + MapFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h new file mode 100644 index 00000000000..96116d50e97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfNumberField + { + NOT_SET, + activity_id, + compliance_status_id, + confidence_score, + severity_id, + status_id, + finding_info_related_events_count + }; + +namespace OcsfNumberFieldMapper +{ +AWS_SECURITYHUB_API OcsfNumberField GetOcsfNumberFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfNumberField(OcsfNumberField value); +} // namespace OcsfNumberFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h new file mode 100644 index 00000000000..6dad20e5bf3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of security findings based on numerical field values in + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfNumberFilter + { + public: + AWS_SECURITYHUB_API OcsfNumberFilter() = default; + AWS_SECURITYHUB_API OcsfNumberFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfNumberFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline OcsfNumberField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfNumberField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfNumberFilter& WithFieldName(OcsfNumberField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const NumberFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfNumberFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfNumberField m_fieldName{OcsfNumberField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + NumberFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h new file mode 100644 index 00000000000..767cef3df6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfStringField + { + NOT_SET, + metadata_uid, + activity_name, + cloud_account_uid, + cloud_provider, + cloud_region, + compliance_assessments_category, + compliance_assessments_name, + compliance_control, + compliance_status, + compliance_standards, + finding_info_desc, + finding_info_src_url, + finding_info_title, + finding_info_types, + finding_info_uid, + finding_info_related_events_uid, + finding_info_related_events_product_uid, + finding_info_related_events_title, + metadata_product_name, + metadata_product_uid, + metadata_product_vendor_name, + remediation_desc, + remediation_references, + resources_cloud_partition, + resources_region, + resources_type, + resources_uid, + severity, + status, + comment, + vulnerabilities_fix_coverage, + class_name + }; + +namespace OcsfStringFieldMapper +{ +AWS_SECURITYHUB_API OcsfStringField GetOcsfStringFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfStringField(OcsfStringField value); +} // namespace OcsfStringFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h new file mode 100644 index 00000000000..2cdd287e94f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of security findings based on string field values in + * OCSF.

    See Also:

    AWS + * API Reference

    + */ + class OcsfStringFilter + { + public: + AWS_SECURITYHUB_API OcsfStringFilter() = default; + AWS_SECURITYHUB_API OcsfStringFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API OcsfStringFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline OcsfStringField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfStringField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfStringFilter& WithFieldName(OcsfStringField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const StringFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfStringFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfStringField m_fieldName{OcsfStringField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + StringFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h new file mode 100644 index 00000000000..fa120d7c9e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Defines the structure for the productV2.

    See Also:

    AWS + * API Reference

    + */ + class ProductV2 + { + public: + AWS_SECURITYHUB_API ProductV2() = default; + AWS_SECURITYHUB_API ProductV2(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ProductV2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the productV2.

    + */ + inline const Aws::String& GetProductV2Name() const { return m_productV2Name; } + inline bool ProductV2NameHasBeenSet() const { return m_productV2NameHasBeenSet; } + template + void SetProductV2Name(ProductV2NameT&& value) { m_productV2NameHasBeenSet = true; m_productV2Name = std::forward(value); } + template + ProductV2& WithProductV2Name(ProductV2NameT&& value) { SetProductV2Name(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the organization or vendor that provides the productV2.

    + */ + inline const Aws::String& GetCompanyName() const { return m_companyName; } + inline bool CompanyNameHasBeenSet() const { return m_companyNameHasBeenSet; } + template + void SetCompanyName(CompanyNameT&& value) { m_companyNameHasBeenSet = true; m_companyName = std::forward(value); } + template + ProductV2& WithCompanyName(CompanyNameT&& value) { SetCompanyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Detailed information about the productV2.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ProductV2& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The domains or functional areas the productV2 addresses.

    + */ + inline const Aws::Vector& GetCategories() const { return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + template> + void SetCategories(CategoriesT&& value) { m_categoriesHasBeenSet = true; m_categories = std::forward(value); } + template> + ProductV2& WithCategories(CategoriesT&& value) { SetCategories(std::forward(value)); return *this;} + template + ProductV2& AddCategories(CategoriesT&& value) { m_categoriesHasBeenSet = true; m_categories.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The type of integration.

    + */ + inline const Aws::Vector& GetIntegrationV2Types() const { return m_integrationV2Types; } + inline bool IntegrationV2TypesHasBeenSet() const { return m_integrationV2TypesHasBeenSet; } + template> + void SetIntegrationV2Types(IntegrationV2TypesT&& value) { m_integrationV2TypesHasBeenSet = true; m_integrationV2Types = std::forward(value); } + template> + ProductV2& WithIntegrationV2Types(IntegrationV2TypesT&& value) { SetIntegrationV2Types(std::forward(value)); return *this;} + inline ProductV2& AddIntegrationV2Types(IntegrationV2Type value) { m_integrationV2TypesHasBeenSet = true; m_integrationV2Types.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The console URL where you can purchase or subscribe to products.

    + */ + inline const Aws::String& GetMarketplaceUrl() const { return m_marketplaceUrl; } + inline bool MarketplaceUrlHasBeenSet() const { return m_marketplaceUrlHasBeenSet; } + template + void SetMarketplaceUrl(MarketplaceUrlT&& value) { m_marketplaceUrlHasBeenSet = true; m_marketplaceUrl = std::forward(value); } + template + ProductV2& WithMarketplaceUrl(MarketplaceUrlT&& value) { SetMarketplaceUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The URL to the serviceV@ or productV2 documentation about the integration, + * which includes how to activate the integration.

    + */ + inline const Aws::String& GetActivationUrl() const { return m_activationUrl; } + inline bool ActivationUrlHasBeenSet() const { return m_activationUrlHasBeenSet; } + template + void SetActivationUrl(ActivationUrlT&& value) { m_activationUrlHasBeenSet = true; m_activationUrl = std::forward(value); } + template + ProductV2& WithActivationUrl(ActivationUrlT&& value) { SetActivationUrl(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_productV2Name; + bool m_productV2NameHasBeenSet = false; + + Aws::String m_companyName; + bool m_companyNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_integrationV2Types; + bool m_integrationV2TypesHasBeenSet = false; + + Aws::String m_marketplaceUrl; + bool m_marketplaceUrlHasBeenSet = false; + + Aws::String m_activationUrl; + bool m_activationUrlHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.h new file mode 100644 index 00000000000..6faf760cc53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The initial configuration settings required to establish an integration + * between Security Hub and third-party provider.

    See Also:

    AWS + * API Reference

    + */ + class ProviderConfiguration + { + public: + AWS_SECURITYHUB_API ProviderConfiguration() = default; + AWS_SECURITYHUB_API ProviderConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ProviderConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The configuration settings required to establish an integration with Jira + * Cloud.

    + */ + inline const JiraCloudProviderConfiguration& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderConfiguration& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The configuration settings required to establish an integration with + * ServiceNow ITSM.

    + */ + inline const ServiceNowProviderConfiguration& GetServiceNow() const { return m_serviceNow; } + inline bool ServiceNowHasBeenSet() const { return m_serviceNowHasBeenSet; } + template + void SetServiceNow(ServiceNowT&& value) { m_serviceNowHasBeenSet = true; m_serviceNow = std::forward(value); } + template + ProviderConfiguration& WithServiceNow(ServiceNowT&& value) { SetServiceNow(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudProviderConfiguration m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + + ServiceNowProviderConfiguration m_serviceNow; + bool m_serviceNowHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h new file mode 100644 index 00000000000..308c9c97753 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The third-party provider detail for a service configuration.

    See + * Also:

    AWS + * API Reference

    + */ + class ProviderDetail + { + public: + AWS_SECURITYHUB_API ProviderDetail() = default; + AWS_SECURITYHUB_API ProviderDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ProviderDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Details about a Jira Cloud integration.

    + */ + inline const JiraCloudDetail& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderDetail& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Details about a ServiceNow ITSM integration.

    + */ + inline const ServiceNowDetail& GetServiceNow() const { return m_serviceNow; } + inline bool ServiceNowHasBeenSet() const { return m_serviceNowHasBeenSet; } + template + void SetServiceNow(ServiceNowT&& value) { m_serviceNowHasBeenSet = true; m_serviceNow = std::forward(value); } + template + ProviderDetail& WithServiceNow(ServiceNowT&& value) { SetServiceNow(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudDetail m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + + ServiceNowDetail m_serviceNow; + bool m_serviceNowHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h new file mode 100644 index 00000000000..f7331c12ab6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The connectorV2 third-party provider configuration summary.

    See + * Also:

    AWS + * API Reference

    + */ + class ProviderSummary + { + public: + AWS_SECURITYHUB_API ProviderSummary() = default; + AWS_SECURITYHUB_API ProviderSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ProviderSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the provider.

    + */ + inline ConnectorProviderName GetProviderName() const { return m_providerName; } + inline bool ProviderNameHasBeenSet() const { return m_providerNameHasBeenSet; } + inline void SetProviderName(ConnectorProviderName value) { m_providerNameHasBeenSet = true; m_providerName = value; } + inline ProviderSummary& WithProviderName(ConnectorProviderName value) { SetProviderName(value); return *this;} + ///@} + + ///@{ + /** + *

    The status for the connectorV2.

    + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline ProviderSummary& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + private: + + ConnectorProviderName m_providerName{ConnectorProviderName::NOT_SET}; + bool m_providerNameHasBeenSet = false; + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h new file mode 100644 index 00000000000..2253c8b30ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The parameters required to update the configuration of an integration + * provider.

    See Also:

    AWS + * API Reference

    + */ + class ProviderUpdateConfiguration + { + public: + AWS_SECURITYHUB_API ProviderUpdateConfiguration() = default; + AWS_SECURITYHUB_API ProviderUpdateConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ProviderUpdateConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The parameters required to update the configuration for a Jira Cloud + * integration.

    + */ + inline const JiraCloudUpdateConfiguration& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderUpdateConfiguration& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudUpdateConfiguration m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h new file mode 100644 index 00000000000..684c1118981 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourceCategory + { + NOT_SET, + Compute, + Database, + Storage, + Code, + AI_ML, + Identity, + Network, + Other + }; + +namespace ResourceCategoryMapper +{ +AWS_SECURITYHUB_API ResourceCategory GetResourceCategoryForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourceCategory(ResourceCategory value); +} // namespace ResourceCategoryMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.h new file mode 100644 index 00000000000..e2dd0ba6fc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    A list of summaries for all finding types on a resource.

    See + * Also:

    AWS + * API Reference

    + */ + class ResourceFindingsSummary + { + public: + AWS_SECURITYHUB_API ResourceFindingsSummary() = default; + AWS_SECURITYHUB_API ResourceFindingsSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceFindingsSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The category or classification of the security finding.

    + */ + inline const Aws::String& GetFindingType() const { return m_findingType; } + inline bool FindingTypeHasBeenSet() const { return m_findingTypeHasBeenSet; } + template + void SetFindingType(FindingTypeT&& value) { m_findingTypeHasBeenSet = true; m_findingType = std::forward(value); } + template + ResourceFindingsSummary& WithFindingType(FindingTypeT&& value) { SetFindingType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the product associated with the security finding.

    + */ + inline const Aws::String& GetProductName() const { return m_productName; } + inline bool ProductNameHasBeenSet() const { return m_productNameHasBeenSet; } + template + void SetProductName(ProductNameT&& value) { m_productNameHasBeenSet = true; m_productName = std::forward(value); } + template + ResourceFindingsSummary& WithProductName(ProductNameT&& value) { SetProductName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The total count of security findings.

    + */ + inline int GetTotalFindings() const { return m_totalFindings; } + inline bool TotalFindingsHasBeenSet() const { return m_totalFindingsHasBeenSet; } + inline void SetTotalFindings(int value) { m_totalFindingsHasBeenSet = true; m_totalFindings = value; } + inline ResourceFindingsSummary& WithTotalFindings(int value) { SetTotalFindings(value); return *this;} + ///@} + + ///@{ + /** + *

    A breakdown of security findings by their severity levels.

    + */ + inline const ResourceSeverityBreakdown& GetSeverities() const { return m_severities; } + inline bool SeveritiesHasBeenSet() const { return m_severitiesHasBeenSet; } + template + void SetSeverities(SeveritiesT&& value) { m_severitiesHasBeenSet = true; m_severities = std::forward(value); } + template + ResourceFindingsSummary& WithSeverities(SeveritiesT&& value) { SetSeverities(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_findingType; + bool m_findingTypeHasBeenSet = false; + + Aws::String m_productName; + bool m_productNameHasBeenSet = false; + + int m_totalFindings{0}; + bool m_totalFindingsHasBeenSet = false; + + ResourceSeverityBreakdown m_severities; + bool m_severitiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h new file mode 100644 index 00000000000..177f11989ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourceGroupByField + { + NOT_SET, + account_id, + region, + resource_category, + resource_type, + resource_name, + findings_summary_finding_type + }; + +namespace ResourceGroupByFieldMapper +{ +AWS_SECURITYHUB_API ResourceGroupByField GetResourceGroupByFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourceGroupByField(ResourceGroupByField value); +} // namespace ResourceGroupByFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.h new file mode 100644 index 00000000000..401c47ce6bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Defines the configuration for organizing and categorizing Amazon Web Services + * resources based on associated security findings.

    See Also:

    AWS + * API Reference

    + */ + class ResourceGroupByRule + { + public: + AWS_SECURITYHUB_API ResourceGroupByRule() = default; + AWS_SECURITYHUB_API ResourceGroupByRule(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceGroupByRule& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Specifies the attribute that resources should be grouped by.

    + */ + inline ResourceGroupByField GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + inline void SetGroupByField(ResourceGroupByField value) { m_groupByFieldHasBeenSet = true; m_groupByField = value; } + inline ResourceGroupByRule& WithGroupByField(ResourceGroupByField value) { SetGroupByField(value); return *this;} + ///@} + + ///@{ + /** + *

    The criteria used to select resources and associated security findings.

    + */ + inline const ResourcesFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + ResourceGroupByRule& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + private: + + ResourceGroupByField m_groupByField{ResourceGroupByField::NOT_SET}; + bool m_groupByFieldHasBeenSet = false; + + ResourcesFilters m_filters; + bool m_filtersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h new file mode 100644 index 00000000000..cb1e42dc04a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Provides comprehensive details about an Amazon Web Services resource and its + * associated security findings.

    See Also:

    AWS + * API Reference

    + */ + class ResourceResult + { + public: + AWS_SECURITYHUB_API ResourceResult() = default; + AWS_SECURITYHUB_API ResourceResult(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Specifies the ARN that uniquely identifies a resource.

    + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ResourceResult& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier for a resource.

    + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ResourceResult& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Web Services account that owns the resource.

    + */ + inline const Aws::String& GetAccountId() const { return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + template + void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward(value); } + template + ResourceResult& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Web Services Region where the resource is located.

    + */ + inline const Aws::String& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template + ResourceResult& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The grouping where the resource belongs.

    + */ + inline ResourceCategory GetResourceCategory() const { return m_resourceCategory; } + inline bool ResourceCategoryHasBeenSet() const { return m_resourceCategoryHasBeenSet; } + inline void SetResourceCategory(ResourceCategory value) { m_resourceCategoryHasBeenSet = true; m_resourceCategory = value; } + inline ResourceResult& WithResourceCategory(ResourceCategory value) { SetResourceCategory(value); return *this;} + ///@} + + ///@{ + /** + *

    The type of resource.

    + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ResourceResult& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the resource.

    + */ + inline const Aws::String& GetResourceName() const { return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + template + void SetResourceName(ResourceNameT&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::forward(value); } + template + ResourceResult& WithResourceName(ResourceNameT&& value) { SetResourceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The time when the resource was created.

    + */ + inline const Aws::String& GetResourceCreationTimeDt() const { return m_resourceCreationTimeDt; } + inline bool ResourceCreationTimeDtHasBeenSet() const { return m_resourceCreationTimeDtHasBeenSet; } + template + void SetResourceCreationTimeDt(ResourceCreationTimeDtT&& value) { m_resourceCreationTimeDtHasBeenSet = true; m_resourceCreationTimeDt = std::forward(value); } + template + ResourceResult& WithResourceCreationTimeDt(ResourceCreationTimeDtT&& value) { SetResourceCreationTimeDt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp when information about the resource was captured.

    + */ + inline const Aws::String& GetResourceDetailCaptureTimeDt() const { return m_resourceDetailCaptureTimeDt; } + inline bool ResourceDetailCaptureTimeDtHasBeenSet() const { return m_resourceDetailCaptureTimeDtHasBeenSet; } + template + void SetResourceDetailCaptureTimeDt(ResourceDetailCaptureTimeDtT&& value) { m_resourceDetailCaptureTimeDtHasBeenSet = true; m_resourceDetailCaptureTimeDt = std::forward(value); } + template + ResourceResult& WithResourceDetailCaptureTimeDt(ResourceDetailCaptureTimeDtT&& value) { SetResourceDetailCaptureTimeDt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    An aggregated view of security findings associated with a resource.

    + */ + inline const Aws::Vector& GetFindingsSummary() const { return m_findingsSummary; } + inline bool FindingsSummaryHasBeenSet() const { return m_findingsSummaryHasBeenSet; } + template> + void SetFindingsSummary(FindingsSummaryT&& value) { m_findingsSummaryHasBeenSet = true; m_findingsSummary = std::forward(value); } + template> + ResourceResult& WithFindingsSummary(FindingsSummaryT&& value) { SetFindingsSummary(std::forward(value)); return *this;} + template + ResourceResult& AddFindingsSummary(FindingsSummaryT&& value) { m_findingsSummaryHasBeenSet = true; m_findingsSummary.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The key-value pairs associated with a resource.

    + */ + inline const Aws::Vector& GetResourceTags() const { return m_resourceTags; } + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + template> + void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::forward(value); } + template> + ResourceResult& WithResourceTags(ResourceTagsT&& value) { SetResourceTags(std::forward(value)); return *this;} + template + ResourceResult& AddResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The configuration details of a resource.

    + */ + inline Aws::Utils::DocumentView GetResourceConfig() const { return m_resourceConfig; } + inline bool ResourceConfigHasBeenSet() const { return m_resourceConfigHasBeenSet; } + template + void SetResourceConfig(ResourceConfigT&& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = std::forward(value); } + template + ResourceResult& WithResourceConfig(ResourceConfigT&& value) { SetResourceConfig(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + ResourceCategory m_resourceCategory{ResourceCategory::NOT_SET}; + bool m_resourceCategoryHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_resourceCreationTimeDt; + bool m_resourceCreationTimeDtHasBeenSet = false; + + Aws::String m_resourceDetailCaptureTimeDt; + bool m_resourceDetailCaptureTimeDtHasBeenSet = false; + + Aws::Vector m_findingsSummary; + bool m_findingsSummaryHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + + Aws::Utils::Document m_resourceConfig; + bool m_resourceConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h new file mode 100644 index 00000000000..dcfd460483a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    A comprehensive distribution of security findings by severity level for + * Amazon Web Services resources.

    See Also:

    AWS + * API Reference

    + */ + class ResourceSeverityBreakdown + { + public: + AWS_SECURITYHUB_API ResourceSeverityBreakdown() = default; + AWS_SECURITYHUB_API ResourceSeverityBreakdown(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceSeverityBreakdown& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The number of findings not in any of the severity categories.

    + */ + inline int GetOther() const { return m_other; } + inline bool OtherHasBeenSet() const { return m_otherHasBeenSet; } + inline void SetOther(int value) { m_otherHasBeenSet = true; m_other = value; } + inline ResourceSeverityBreakdown& WithOther(int value) { SetOther(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level of fatal.

    + */ + inline int GetFatal() const { return m_fatal; } + inline bool FatalHasBeenSet() const { return m_fatalHasBeenSet; } + inline void SetFatal(int value) { m_fatalHasBeenSet = true; m_fatal = value; } + inline ResourceSeverityBreakdown& WithFatal(int value) { SetFatal(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level of critical.

    + */ + inline int GetCritical() const { return m_critical; } + inline bool CriticalHasBeenSet() const { return m_criticalHasBeenSet; } + inline void SetCritical(int value) { m_criticalHasBeenSet = true; m_critical = value; } + inline ResourceSeverityBreakdown& WithCritical(int value) { SetCritical(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level of high.

    + */ + inline int GetHigh() const { return m_high; } + inline bool HighHasBeenSet() const { return m_highHasBeenSet; } + inline void SetHigh(int value) { m_highHasBeenSet = true; m_high = value; } + inline ResourceSeverityBreakdown& WithHigh(int value) { SetHigh(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level of medium.

    + */ + inline int GetMedium() const { return m_medium; } + inline bool MediumHasBeenSet() const { return m_mediumHasBeenSet; } + inline void SetMedium(int value) { m_mediumHasBeenSet = true; m_medium = value; } + inline ResourceSeverityBreakdown& WithMedium(int value) { SetMedium(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level of low.

    + */ + inline int GetLow() const { return m_low; } + inline bool LowHasBeenSet() const { return m_lowHasBeenSet; } + inline void SetLow(int value) { m_lowHasBeenSet = true; m_low = value; } + inline ResourceSeverityBreakdown& WithLow(int value) { SetLow(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings that provide security-related information.

    + */ + inline int GetInformational() const { return m_informational; } + inline bool InformationalHasBeenSet() const { return m_informationalHasBeenSet; } + inline void SetInformational(int value) { m_informationalHasBeenSet = true; m_informational = value; } + inline ResourceSeverityBreakdown& WithInformational(int value) { SetInformational(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of findings with a severity level cannot be determined.

    + */ + inline int GetUnknown() const { return m_unknown; } + inline bool UnknownHasBeenSet() const { return m_unknownHasBeenSet; } + inline void SetUnknown(int value) { m_unknownHasBeenSet = true; m_unknown = value; } + inline ResourceSeverityBreakdown& WithUnknown(int value) { SetUnknown(value); return *this;} + ///@} + private: + + int m_other{0}; + bool m_otherHasBeenSet = false; + + int m_fatal{0}; + bool m_fatalHasBeenSet = false; + + int m_critical{0}; + bool m_criticalHasBeenSet = false; + + int m_high{0}; + bool m_highHasBeenSet = false; + + int m_medium{0}; + bool m_mediumHasBeenSet = false; + + int m_low{0}; + bool m_lowHasBeenSet = false; + + int m_informational{0}; + bool m_informationalHasBeenSet = false; + + int m_unknown{0}; + bool m_unknownHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h new file mode 100644 index 00000000000..d4f3846cc11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Represents tag information associated with Amazon Web Services + * resources.

    See Also:

    AWS + * API Reference

    + */ + class ResourceTag + { + public: + AWS_SECURITYHUB_API ResourceTag() = default; + AWS_SECURITYHUB_API ResourceTag(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceTag& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The identifier or name of the tag.

    + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + ResourceTag& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The data associated with the tag key.

    + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + ResourceTag& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesCompositeFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesCompositeFilter.h new file mode 100644 index 00000000000..dab59c5ddd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesCompositeFilter.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables the creation of criteria for Amazon Web Services resources in + * Security Hub.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesCompositeFilter + { + public: + AWS_SECURITYHUB_API ResourcesCompositeFilter() = default; + AWS_SECURITYHUB_API ResourcesCompositeFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesCompositeFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Enables filtering based on string field values.

    + */ + inline const Aws::Vector& GetStringFilters() const { return m_stringFilters; } + inline bool StringFiltersHasBeenSet() const { return m_stringFiltersHasBeenSet; } + template> + void SetStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithStringFilters(StringFiltersT&& value) { SetStringFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on date and timestamp field values.

    + */ + inline const Aws::Vector& GetDateFilters() const { return m_dateFilters; } + inline bool DateFiltersHasBeenSet() const { return m_dateFiltersHasBeenSet; } + template> + void SetDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithDateFilters(DateFiltersT&& value) { SetDateFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on numerical field values.

    + */ + inline const Aws::Vector& GetNumberFilters() const { return m_numberFilters; } + inline bool NumberFiltersHasBeenSet() const { return m_numberFiltersHasBeenSet; } + template> + void SetNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithNumberFilters(NumberFiltersT&& value) { SetNumberFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Enables filtering based on map-based field values.

    + */ + inline const Aws::Vector& GetMapFilters() const { return m_mapFilters; } + inline bool MapFiltersHasBeenSet() const { return m_mapFiltersHasBeenSet; } + template> + void SetMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithMapFilters(MapFiltersT&& value) { SetMapFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The logical operator used to combine multiple filter conditions.

    + */ + inline AllowedOperators GetOperator() const { return m_operator; } + inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } + inline void SetOperator(AllowedOperators value) { m_operatorHasBeenSet = true; m_operator = value; } + inline ResourcesCompositeFilter& WithOperator(AllowedOperators value) { SetOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_stringFilters; + bool m_stringFiltersHasBeenSet = false; + + Aws::Vector m_dateFilters; + bool m_dateFiltersHasBeenSet = false; + + Aws::Vector m_numberFilters; + bool m_numberFiltersHasBeenSet = false; + + Aws::Vector m_mapFilters; + bool m_mapFiltersHasBeenSet = false; + + AllowedOperators m_operator{AllowedOperators::NOT_SET}; + bool m_operatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h new file mode 100644 index 00000000000..b49c057ecb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesDateField + { + NOT_SET, + resource_detail_capture_time_dt, + resource_creation_time_dt + }; + +namespace ResourcesDateFieldMapper +{ +AWS_SECURITYHUB_API ResourcesDateField GetResourcesDateFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesDateField(ResourcesDateField value); +} // namespace ResourcesDateFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h new file mode 100644 index 00000000000..6955f0c695c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables the filtering of Amazon Web Services resources based on date and + * timestamp attributes.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesDateFilter + { + public: + AWS_SECURITYHUB_API ResourcesDateFilter() = default; + AWS_SECURITYHUB_API ResourcesDateFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesDateFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline ResourcesDateField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesDateField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesDateFilter& WithFieldName(ResourcesDateField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const DateFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesDateFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesDateField m_fieldName{ResourcesDateField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + DateFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h new file mode 100644 index 00000000000..7e90f005246 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of Amazon Web Services resources based on + * data.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesFilters + { + public: + AWS_SECURITYHUB_API ResourcesFilters() = default; + AWS_SECURITYHUB_API ResourcesFilters(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesFilters& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    A collection of complex filtering conditions that can be applied to Amazon + * Web Services resources.

    + */ + inline const Aws::Vector& GetCompositeFilters() const { return m_compositeFilters; } + inline bool CompositeFiltersHasBeenSet() const { return m_compositeFiltersHasBeenSet; } + template> + void SetCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters = std::forward(value); } + template> + ResourcesFilters& WithCompositeFilters(CompositeFiltersT&& value) { SetCompositeFilters(std::forward(value)); return *this;} + template + ResourcesFilters& AddCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    The logical operator used to combine multiple filter conditions in the + * structure.

    + */ + inline AllowedOperators GetCompositeOperator() const { return m_compositeOperator; } + inline bool CompositeOperatorHasBeenSet() const { return m_compositeOperatorHasBeenSet; } + inline void SetCompositeOperator(AllowedOperators value) { m_compositeOperatorHasBeenSet = true; m_compositeOperator = value; } + inline ResourcesFilters& WithCompositeOperator(AllowedOperators value) { SetCompositeOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_compositeFilters; + bool m_compositeFiltersHasBeenSet = false; + + AllowedOperators m_compositeOperator{AllowedOperators::NOT_SET}; + bool m_compositeOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h new file mode 100644 index 00000000000..de9b7981ffe --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesMapField + { + NOT_SET, + tags + }; + +namespace ResourcesMapFieldMapper +{ +AWS_SECURITYHUB_API ResourcesMapField GetResourcesMapFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesMapField(ResourcesMapField value); +} // namespace ResourcesMapFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h new file mode 100644 index 00000000000..5d383e22c2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of Amazon Web Services resources based on key-value map + * attributes.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesMapFilter + { + public: + AWS_SECURITYHUB_API ResourcesMapFilter() = default; + AWS_SECURITYHUB_API ResourcesMapFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesMapFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline ResourcesMapField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesMapField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesMapFilter& WithFieldName(ResourcesMapField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const MapFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesMapFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesMapField m_fieldName{ResourcesMapField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + MapFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h new file mode 100644 index 00000000000..74600a9a18b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesNumberField + { + NOT_SET, + findings_summary_total_findings, + findings_summary_severities_other, + findings_summary_severities_fatal, + findings_summary_severities_critical, + findings_summary_severities_high, + findings_summary_severities_medium, + findings_summary_severities_low, + findings_summary_severities_informational, + findings_summary_severities_unknown + }; + +namespace ResourcesNumberFieldMapper +{ +AWS_SECURITYHUB_API ResourcesNumberField GetResourcesNumberFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesNumberField(ResourcesNumberField value); +} // namespace ResourcesNumberFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h new file mode 100644 index 00000000000..d94cf40951a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of Amazon Web Services resources based on numerical + * values.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesNumberFilter + { + public: + AWS_SECURITYHUB_API ResourcesNumberFilter() = default; + AWS_SECURITYHUB_API ResourcesNumberFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesNumberFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline ResourcesNumberField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesNumberField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesNumberFilter& WithFieldName(ResourcesNumberField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const NumberFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesNumberFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesNumberField m_fieldName{ResourcesNumberField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + NumberFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h new file mode 100644 index 00000000000..41c09b84888 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesStringField + { + NOT_SET, + resource_arn, + resource_id, + account_id, + region, + resource_category, + resource_type, + resource_name, + findings_summary_finding_type, + findings_summary_product_name + }; + +namespace ResourcesStringFieldMapper +{ +AWS_SECURITYHUB_API ResourcesStringField GetResourcesStringFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesStringField(ResourcesStringField value); +} // namespace ResourcesStringFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h new file mode 100644 index 00000000000..23f2156e099 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Enables filtering of Amazon Web Services resources based on string field + * values.

    See Also:

    AWS + * API Reference

    + */ + class ResourcesStringFilter + { + public: + AWS_SECURITYHUB_API ResourcesStringFilter() = default; + AWS_SECURITYHUB_API ResourcesStringFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourcesStringFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline ResourcesStringField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesStringField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesStringFilter& WithFieldName(ResourcesStringField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const StringFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesStringFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesStringField m_fieldName{ResourcesStringField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + StringFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h new file mode 100644 index 00000000000..82cd3f0d7da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class RuleStatusV2 + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace RuleStatusV2Mapper +{ +AWS_SECURITYHUB_API RuleStatusV2 GetRuleStatusV2ForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForRuleStatusV2(RuleStatusV2 value); +} // namespace RuleStatusV2Mapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h new file mode 100644 index 00000000000..d8eb3612a80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class SecurityHubFeature + { + NOT_SET, + SecurityHub, + SecurityHubV2 + }; + +namespace SecurityHubFeatureMapper +{ +AWS_SECURITYHUB_API SecurityHubFeature GetSecurityHubFeatureForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForSecurityHubFeature(SecurityHubFeature value); +} // namespace SecurityHubFeatureMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h new file mode 100644 index 00000000000..10a3dbe4b01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    Information about a ServiceNow ITSM integration.

    See Also:

    + * AWS + * API Reference

    + */ + class ServiceNowDetail + { + public: + AWS_SECURITYHUB_API ServiceNowDetail() = default; + AWS_SECURITYHUB_API ServiceNowDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ServiceNowDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The instanceName of ServiceNow ITSM.

    + */ + inline const Aws::String& GetInstanceName() const { return m_instanceName; } + inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; } + template + void SetInstanceName(InstanceNameT&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::forward(value); } + template + ServiceNowDetail& WithInstanceName(InstanceNameT&& value) { SetInstanceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The clientId of ServiceNow ITSM.

    + */ + inline const Aws::String& GetClientId() const { return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + template + void SetClientId(ClientIdT&& value) { m_clientIdHasBeenSet = true; m_clientId = std::forward(value); } + template + ServiceNowDetail& WithClientId(ClientIdT&& value) { SetClientId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the authorization between Jira Cloud and the service.

    + */ + inline ConnectorAuthStatus GetAuthStatus() const { return m_authStatus; } + inline bool AuthStatusHasBeenSet() const { return m_authStatusHasBeenSet; } + inline void SetAuthStatus(ConnectorAuthStatus value) { m_authStatusHasBeenSet = true; m_authStatus = value; } + inline ServiceNowDetail& WithAuthStatus(ConnectorAuthStatus value) { SetAuthStatus(value); return *this;} + ///@} + private: + + Aws::String m_instanceName; + bool m_instanceNameHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + ConnectorAuthStatus m_authStatus{ConnectorAuthStatus::NOT_SET}; + bool m_authStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h new file mode 100644 index 00000000000..3593d60984b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The initial configuration settings required to establish an integration + * between Security Hub and ServiceNow ITSM.

    See Also:

    AWS + * API Reference

    + */ + class ServiceNowProviderConfiguration + { + public: + AWS_SECURITYHUB_API ServiceNowProviderConfiguration() = default; + AWS_SECURITYHUB_API ServiceNowProviderConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ServiceNowProviderConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The instance name of ServiceNow ITSM.

    + */ + inline const Aws::String& GetInstanceName() const { return m_instanceName; } + inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; } + template + void SetInstanceName(InstanceNameT&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::forward(value); } + template + ServiceNowProviderConfiguration& WithInstanceName(InstanceNameT&& value) { SetInstanceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The client ID of ServiceNow ITSM.

    + */ + inline const Aws::String& GetClientId() const { return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + template + void SetClientId(ClientIdT&& value) { m_clientIdHasBeenSet = true; m_clientId = std::forward(value); } + template + ServiceNowProviderConfiguration& WithClientId(ClientIdT&& value) { SetClientId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The client secret of ServiceNow ITSM.

    + */ + inline const Aws::String& GetClientSecret() const { return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + template + void SetClientSecret(ClientSecretT&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::forward(value); } + template + ServiceNowProviderConfiguration& WithClientSecret(ClientSecretT&& value) { SetClientSecret(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceName; + bool m_instanceNameHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h index 02d5635cbf5..1dd2e4d81a1 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h @@ -111,7 +111,10 @@ namespace Model * ResourceType PREFIX AwsEc2

  • ResourceType * NOT_EQUALS AwsIamPolicy

  • ResourceType NOT_EQUALS * AwsEc2NetworkInterface

  • CONTAINS and - * NOT_CONTAINS operators can be used only with automation rules. For + * NOT_CONTAINS operators can be used only with automation rules V1. + * CONTAINS_WORD operator is only supported in + * GetFindingsV2, GetFindingStatisticsV2, + * GetResourcesV2, and GetResourceStatisticsV2 APIs. For * more information, see Automation * rules in the Security Hub User Guide.

    diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h index a461adbe0f1..ae2ebc724d9 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h @@ -21,7 +21,8 @@ namespace Model NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, - NOT_CONTAINS + NOT_CONTAINS, + CONTAINS_WORD }; namespace StringFilterComparisonMapper diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h new file mode 100644 index 00000000000..ac267ef05c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The limit on the number of requests per second was exceeded.

    See + * Also:

    AWS + * API Reference

    + */ + class ThrottlingException + { + public: + AWS_SECURITYHUB_API ThrottlingException() = default; + AWS_SECURITYHUB_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ThrottlingException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ThrottlingException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h new file mode 100644 index 00000000000..8013e585572 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateAggregatorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the Aggregator V2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + UpdateAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Determines how Amazon Web Services Regions should be linked to the Aggregator + * V2.

    + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + UpdateAggregatorV2Request& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of Amazon Web Services Regions linked to the aggegation Region.

    + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + inline bool LinkedRegionsHasBeenSet() const { return m_linkedRegionsHasBeenSet; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + UpdateAggregatorV2Request& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + UpdateAggregatorV2Request& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.h new file mode 100644 index 00000000000..9e593a2c4dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateAggregatorV2Result + { + public: + AWS_SECURITYHUB_API UpdateAggregatorV2Result() = default; + AWS_SECURITYHUB_API UpdateAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the Aggregator V2.

    + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + UpdateAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Web Services Region where data is aggregated.

    + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + UpdateAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Determines how Amazon Web Services Regions should be linked to the Aggregator + * V2.

    + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + UpdateAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of Amazon Web Services Regions linked to the aggegation Region.

    + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + UpdateAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + UpdateAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h new file mode 100644 index 00000000000..1617354cf6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateAutomationRuleV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the automation rule.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the automation rule.

    + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline UpdateAutomationRuleV2Request& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    Represents a value for the rule priority.

    + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline UpdateAutomationRuleV2Request& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

    A description of the automation rule.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the automation rule.

    + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The filtering type and configuration of the automation rule.

    + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + inline bool CriteriaHasBeenSet() const { return m_criteriaHasBeenSet; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of actions to be performed when the rule criteria is met.

    + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + UpdateAutomationRuleV2Request& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + UpdateAutomationRuleV2Request& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h new file mode 100644 index 00000000000..1837b59201e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h new file mode 100644 index 00000000000..c27eae1a2b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateConnectorV2Request() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The UUID of the connectorV2 to identify connectorV2 resource.

    + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + UpdateConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The clientSecret of ServiceNow.

    + */ + inline const Aws::String& GetClientSecret() const { return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + template + void SetClientSecret(ClientSecretT&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::forward(value); } + template + UpdateConnectorV2Request& WithClientSecret(ClientSecretT&& value) { SetClientSecret(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The description of the connectorV2.

    + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateConnectorV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The third-party provider’s service configuration.

    + */ + inline const ProviderUpdateConfiguration& GetProvider() const { return m_provider; } + inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; } + template + void SetProvider(ProviderT&& value) { m_providerHasBeenSet = true; m_provider = std::forward(value); } + template + UpdateConnectorV2Request& WithProvider(ProviderT&& value) { SetProvider(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderUpdateConfiguration m_provider; + bool m_providerHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h new file mode 100644 index 00000000000..56442eb460a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateConnectorV2Result + { + public: + AWS_SECURITYHUB_API UpdateConnectorV2Result() = default; + AWS_SECURITYHUB_API UpdateConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h new file mode 100644 index 00000000000..f39a41aaea0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The request has failed validation because it's missing required fields or has + * invalid inputs.

    See Also:

    AWS + * API Reference

    + */ + class ValidationException + { + public: + AWS_SECURITYHUB_API ValidationException() = default; + AWS_SECURITYHUB_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ValidationException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp index 31a390f0557..d86ce07653c 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp @@ -32,16 +32,25 @@ #include #include #include +#include #include +#include #include +#include #include +#include #include +#include #include #include #include +#include #include #include +#include +#include #include +#include #include #include #include @@ -50,32 +59,46 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include #include #include +#include #include #include #include +#include #include +#include #include #include #include #include +#include +#include #include #include +#include #include +#include #include #include +#include #include #include #include @@ -89,7 +112,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -537,6 +563,33 @@ BatchUpdateFindingsOutcome SecurityHubClient::BatchUpdateFindings(const BatchUpd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +BatchUpdateFindingsV2Outcome SecurityHubClient::BatchUpdateFindingsV2(const BatchUpdateFindingsV2Request& request) const +{ + AWS_OPERATION_GUARD(BatchUpdateFindingsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchUpdateFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchUpdateFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchUpdateFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchUpdateFindingsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> BatchUpdateFindingsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, BatchUpdateFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2/batchupdatev2"); + return BatchUpdateFindingsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + BatchUpdateStandardsControlAssociationsOutcome SecurityHubClient::BatchUpdateStandardsControlAssociations(const BatchUpdateStandardsControlAssociationsRequest& request) const { AWS_OPERATION_GUARD(BatchUpdateStandardsControlAssociations); @@ -564,6 +617,33 @@ BatchUpdateStandardsControlAssociationsOutcome SecurityHubClient::BatchUpdateSta {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ConnectorRegistrationsV2Outcome SecurityHubClient::ConnectorRegistrationsV2(const ConnectorRegistrationsV2Request& request) const +{ + AWS_OPERATION_GUARD(ConnectorRegistrationsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConnectorRegistrationsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ConnectorRegistrationsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConnectorRegistrationsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ConnectorRegistrationsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ConnectorRegistrationsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ConnectorRegistrationsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/registrations"); + return ConnectorRegistrationsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateActionTargetOutcome SecurityHubClient::CreateActionTarget(const CreateActionTargetRequest& request) const { AWS_OPERATION_GUARD(CreateActionTarget); @@ -591,6 +671,33 @@ CreateActionTargetOutcome SecurityHubClient::CreateActionTarget(const CreateActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAggregatorV2Outcome SecurityHubClient::CreateAggregatorV2(const CreateAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAggregatorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAggregatorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/create"); + return CreateAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateAutomationRuleOutcome SecurityHubClient::CreateAutomationRule(const CreateAutomationRuleRequest& request) const { AWS_OPERATION_GUARD(CreateAutomationRule); @@ -618,6 +725,33 @@ CreateAutomationRuleOutcome SecurityHubClient::CreateAutomationRule(const Create {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAutomationRuleV2Outcome SecurityHubClient::CreateAutomationRuleV2(const CreateAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAutomationRuleV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAutomationRuleV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/create"); + return CreateAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateConfigurationPolicyOutcome SecurityHubClient::CreateConfigurationPolicy(const CreateConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(CreateConfigurationPolicy); @@ -645,6 +779,33 @@ CreateConfigurationPolicyOutcome SecurityHubClient::CreateConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateConnectorV2Outcome SecurityHubClient::CreateConnectorV2(const CreateConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateConnectorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateConnectorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2"); + return CreateConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateFindingAggregatorOutcome SecurityHubClient::CreateFindingAggregator(const CreateFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(CreateFindingAggregator); @@ -726,6 +887,33 @@ CreateMembersOutcome SecurityHubClient::CreateMembers(const CreateMembersRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateTicketV2Outcome SecurityHubClient::CreateTicketV2(const CreateTicketV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateTicketV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateTicketV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateTicketV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateTicketV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateTicketV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateTicketV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateTicketV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/ticketsv2"); + return CreateTicketV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeclineInvitationsOutcome SecurityHubClient::DeclineInvitations(const DeclineInvitationsRequest& request) const { AWS_OPERATION_GUARD(DeclineInvitations); @@ -786,6 +974,72 @@ DeleteActionTargetOutcome SecurityHubClient::DeleteActionTarget(const DeleteActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteAggregatorV2Outcome SecurityHubClient::DeleteAggregatorV2(const DeleteAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return DeleteAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAggregatorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteAggregatorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/delete/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return DeleteAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAutomationRuleV2Outcome SecurityHubClient::DeleteAutomationRuleV2(const DeleteAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAutomationRuleV2", "Required field: Identifier, is not set"); + return DeleteAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAutomationRuleV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteAutomationRuleV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return DeleteAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteConfigurationPolicyOutcome SecurityHubClient::DeleteConfigurationPolicy(const DeleteConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteConfigurationPolicy); @@ -819,6 +1073,39 @@ DeleteConfigurationPolicyOutcome SecurityHubClient::DeleteConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteConnectorV2Outcome SecurityHubClient::DeleteConnectorV2(const DeleteConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteConnectorV2", "Required field: ConnectorId, is not set"); + return DeleteConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteConnectorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteConnectorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return DeleteConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteFindingAggregatorOutcome SecurityHubClient::DeleteFindingAggregator(const DeleteFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(DeleteFindingAggregator); @@ -1047,6 +1334,60 @@ DescribeProductsOutcome SecurityHubClient::DescribeProducts(const DescribeProduc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeProductsV2Outcome SecurityHubClient::DescribeProductsV2(const DescribeProductsV2Request& request) const +{ + AWS_OPERATION_GUARD(DescribeProductsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeProductsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeProductsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeProductsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeProductsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeProductsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeProductsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/productsV2"); + return DescribeProductsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DescribeSecurityHubV2Outcome SecurityHubClient::DescribeSecurityHubV2(const DescribeSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(DescribeSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeSecurityHubV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeSecurityHubV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return DescribeSecurityHubV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeStandardsOutcome SecurityHubClient::DescribeStandards(const DescribeStandardsRequest& request) const { AWS_OPERATION_GUARD(DescribeStandards); @@ -1194,6 +1535,33 @@ DisableSecurityHubOutcome SecurityHubClient::DisableSecurityHub(const DisableSec {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisableSecurityHubV2Outcome SecurityHubClient::DisableSecurityHubV2(const DisableSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(DisableSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisableSecurityHubV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableSecurityHubV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return DisableSecurityHubV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisassociateFromAdministratorAccountOutcome SecurityHubClient::DisassociateFromAdministratorAccount(const DisassociateFromAdministratorAccountRequest& request) const { AWS_OPERATION_GUARD(DisassociateFromAdministratorAccount); @@ -1329,6 +1697,33 @@ EnableSecurityHubOutcome SecurityHubClient::EnableSecurityHub(const EnableSecuri {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +EnableSecurityHubV2Outcome SecurityHubClient::EnableSecurityHubV2(const EnableSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(EnableSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EnableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EnableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EnableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EnableSecurityHubV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EnableSecurityHubV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EnableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return EnableSecurityHubV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetAdministratorAccountOutcome SecurityHubClient::GetAdministratorAccount(const GetAdministratorAccountRequest& request) const { AWS_OPERATION_GUARD(GetAdministratorAccount); @@ -1356,6 +1751,72 @@ GetAdministratorAccountOutcome SecurityHubClient::GetAdministratorAccount(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetAggregatorV2Outcome SecurityHubClient::GetAggregatorV2(const GetAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(GetAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return GetAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAggregatorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAggregatorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/get/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return GetAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetAutomationRuleV2Outcome SecurityHubClient::GetAutomationRuleV2(const GetAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(GetAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAutomationRuleV2", "Required field: Identifier, is not set"); + return GetAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAutomationRuleV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAutomationRuleV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return GetAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetConfigurationPolicyOutcome SecurityHubClient::GetConfigurationPolicy(const GetConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(GetConfigurationPolicy); @@ -1416,6 +1877,39 @@ GetConfigurationPolicyAssociationOutcome SecurityHubClient::GetConfigurationPoli {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetConnectorV2Outcome SecurityHubClient::GetConnectorV2(const GetConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(GetConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetConnectorV2", "Required field: ConnectorId, is not set"); + return GetConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetConnectorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetConnectorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return GetConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetEnabledStandardsOutcome SecurityHubClient::GetEnabledStandards(const GetEnabledStandardsRequest& request) const { AWS_OPERATION_GUARD(GetEnabledStandards); @@ -1503,6 +1997,33 @@ GetFindingHistoryOutcome SecurityHubClient::GetFindingHistory(const GetFindingHi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetFindingStatisticsV2Outcome SecurityHubClient::GetFindingStatisticsV2(const GetFindingStatisticsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetFindingStatisticsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFindingStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFindingStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFindingStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFindingStatisticsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetFindingStatisticsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetFindingStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2/statistics"); + return GetFindingStatisticsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetFindingsOutcome SecurityHubClient::GetFindings(const GetFindingsRequest& request) const { AWS_OPERATION_GUARD(GetFindings); @@ -1530,6 +2051,33 @@ GetFindingsOutcome SecurityHubClient::GetFindings(const GetFindingsRequest& requ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetFindingsV2Outcome SecurityHubClient::GetFindingsV2(const GetFindingsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetFindingsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFindingsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetFindingsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2"); + return GetFindingsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetInsightResultsOutcome SecurityHubClient::GetInsightResults(const GetInsightResultsRequest& request) const { AWS_OPERATION_GUARD(GetInsightResults); @@ -1644,6 +2192,60 @@ GetMembersOutcome SecurityHubClient::GetMembers(const GetMembersRequest& request {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetResourcesStatisticsV2Outcome SecurityHubClient::GetResourcesStatisticsV2(const GetResourcesStatisticsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetResourcesStatisticsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourcesStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourcesStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourcesStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourcesStatisticsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetResourcesStatisticsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetResourcesStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcesv2/statistics"); + return GetResourcesStatisticsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetResourcesV2Outcome SecurityHubClient::GetResourcesV2(const GetResourcesV2Request& request) const +{ + AWS_OPERATION_GUARD(GetResourcesV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourcesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourcesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourcesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourcesV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetResourcesV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetResourcesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcesv2"); + return GetResourcesV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetSecurityControlDefinitionOutcome SecurityHubClient::GetSecurityControlDefinition(const GetSecurityControlDefinitionRequest& request) const { AWS_OPERATION_GUARD(GetSecurityControlDefinition); @@ -1703,6 +2305,33 @@ InviteMembersOutcome SecurityHubClient::InviteMembers(const InviteMembersRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAggregatorsV2Outcome SecurityHubClient::ListAggregatorsV2(const ListAggregatorsV2Request& request) const +{ + AWS_OPERATION_GUARD(ListAggregatorsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAggregatorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAggregatorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAggregatorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAggregatorsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAggregatorsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAggregatorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/list"); + return ListAggregatorsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListAutomationRulesOutcome SecurityHubClient::ListAutomationRules(const ListAutomationRulesRequest& request) const { AWS_OPERATION_GUARD(ListAutomationRules); @@ -1730,6 +2359,33 @@ ListAutomationRulesOutcome SecurityHubClient::ListAutomationRules(const ListAuto {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAutomationRulesV2Outcome SecurityHubClient::ListAutomationRulesV2(const ListAutomationRulesV2Request& request) const +{ + AWS_OPERATION_GUARD(ListAutomationRulesV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAutomationRulesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAutomationRulesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAutomationRulesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAutomationRulesV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAutomationRulesV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListAutomationRulesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/list"); + return ListAutomationRulesV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListConfigurationPoliciesOutcome SecurityHubClient::ListConfigurationPolicies(const ListConfigurationPoliciesRequest& request) const { AWS_OPERATION_GUARD(ListConfigurationPolicies); @@ -1784,6 +2440,33 @@ ListConfigurationPolicyAssociationsOutcome SecurityHubClient::ListConfigurationP {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListConnectorsV2Outcome SecurityHubClient::ListConnectorsV2(const ListConnectorsV2Request& request) const +{ + AWS_OPERATION_GUARD(ListConnectorsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListConnectorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListConnectorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListConnectorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListConnectorsV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListConnectorsV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListConnectorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2"); + return ListConnectorsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListEnabledProductsForImportOutcome SecurityHubClient::ListEnabledProductsForImport(const ListEnabledProductsForImportRequest& request) const { AWS_OPERATION_GUARD(ListEnabledProductsForImport); @@ -2169,6 +2852,72 @@ UpdateActionTargetOutcome SecurityHubClient::UpdateActionTarget(const UpdateActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAggregatorV2Outcome SecurityHubClient::UpdateAggregatorV2(const UpdateAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return UpdateAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAggregatorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateAggregatorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/update/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return UpdateAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateAutomationRuleV2Outcome SecurityHubClient::UpdateAutomationRuleV2(const UpdateAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAutomationRuleV2", "Required field: Identifier, is not set"); + return UpdateAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAutomationRuleV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateAutomationRuleV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return UpdateAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateConfigurationPolicyOutcome SecurityHubClient::UpdateConfigurationPolicy(const UpdateConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(UpdateConfigurationPolicy); @@ -2202,6 +2951,39 @@ UpdateConfigurationPolicyOutcome SecurityHubClient::UpdateConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateConnectorV2Outcome SecurityHubClient::UpdateConnectorV2(const UpdateConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateConnectorV2", "Required field: ConnectorId, is not set"); + return UpdateConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateConnectorV2", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateConnectorV2Outcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return UpdateConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateFindingAggregatorOutcome SecurityHubClient::UpdateFindingAggregator(const UpdateFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(UpdateFindingAggregator); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp index 0f4eb7f0148..9e7c76bfaf3 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp @@ -7,8 +7,12 @@ #include #include #include +#include #include +#include #include +#include +#include #include #include #include @@ -30,18 +34,42 @@ template<> AWS_SECURITYHUB_API InternalException SecurityHubError::GetModeledErr return InternalException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API ConflictException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API InvalidAccessException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::INVALID_ACCESS); return InvalidAccessException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API ThrottlingException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API ResourceNotFoundException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::RESOURCE_NOT_FOUND); return ResourceNotFoundException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API InternalServerException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYHUB_API ValidationException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API LimitExceededException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::LIMIT_EXCEEDED); @@ -76,7 +104,9 @@ namespace SecurityHubErrorMapper { static const int INTERNAL_HASH = HashingUtils::HashString("InternalException"); +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); static const int INVALID_ACCESS_HASH = HashingUtils::HashString("InvalidAccessException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException"); static const int RESOURCE_CONFLICT_HASH = HashingUtils::HashString("ResourceConflictException"); static const int INVALID_INPUT_HASH = HashingUtils::HashString("InvalidInputException"); @@ -91,10 +121,18 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SecurityHubErrors::INTERNAL), RetryableType::RETRYABLE); } + else if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(SecurityHubErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == INVALID_ACCESS_HASH) { return AWSError(static_cast(SecurityHubErrors::INVALID_ACCESS), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(SecurityHubErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } else if (hashCode == LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(SecurityHubErrors::LIMIT_EXCEEDED), RetryableType::RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp new file mode 100644 index 00000000000..5c157297536 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AggregatorV2::AggregatorV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AggregatorV2& AggregatorV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + return *this; +} + +JsonValue AggregatorV2::Jsonize() const +{ + JsonValue payload; + + if(m_aggregatorV2ArnHasBeenSet) + { + payload.WithString("AggregatorV2Arn", m_aggregatorV2Arn); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp new file mode 100644 index 00000000000..bca056a2d3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace AllowedOperatorsMapper + { + + static const int AND_HASH = HashingUtils::HashString("AND"); + static const int OR_HASH = HashingUtils::HashString("OR"); + + + AllowedOperators GetAllowedOperatorsForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AND_HASH) + { + return AllowedOperators::AND; + } + else if (hashCode == OR_HASH) + { + return AllowedOperators::OR; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AllowedOperators::NOT_SET; + } + + Aws::String GetNameForAllowedOperators(AllowedOperators enumValue) + { + switch(enumValue) + { + case AllowedOperators::NOT_SET: + return {}; + case AllowedOperators::AND: + return "AND"; + case AllowedOperators::OR: + return "OR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AllowedOperatorsMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp new file mode 100644 index 00000000000..5848fde00e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesActionTypeObjectV2::AutomationRulesActionTypeObjectV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesActionTypeObjectV2& AutomationRulesActionTypeObjectV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = AutomationRulesActionTypeV2Mapper::GetAutomationRulesActionTypeV2ForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesActionTypeObjectV2::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", AutomationRulesActionTypeV2Mapper::GetNameForAutomationRulesActionTypeV2(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp new file mode 100644 index 00000000000..0d4a6178405 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace AutomationRulesActionTypeV2Mapper + { + + static const int FINDING_FIELDS_UPDATE_HASH = HashingUtils::HashString("FINDING_FIELDS_UPDATE"); + static const int EXTERNAL_INTEGRATION_HASH = HashingUtils::HashString("EXTERNAL_INTEGRATION"); + + + AutomationRulesActionTypeV2 GetAutomationRulesActionTypeV2ForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FINDING_FIELDS_UPDATE_HASH) + { + return AutomationRulesActionTypeV2::FINDING_FIELDS_UPDATE; + } + else if (hashCode == EXTERNAL_INTEGRATION_HASH) + { + return AutomationRulesActionTypeV2::EXTERNAL_INTEGRATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutomationRulesActionTypeV2::NOT_SET; + } + + Aws::String GetNameForAutomationRulesActionTypeV2(AutomationRulesActionTypeV2 enumValue) + { + switch(enumValue) + { + case AutomationRulesActionTypeV2::NOT_SET: + return {}; + case AutomationRulesActionTypeV2::FINDING_FIELDS_UPDATE: + return "FINDING_FIELDS_UPDATE"; + case AutomationRulesActionTypeV2::EXTERNAL_INTEGRATION: + return "EXTERNAL_INTEGRATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutomationRulesActionTypeV2Mapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp new file mode 100644 index 00000000000..c7c20bb5ccb --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesActionV2::AutomationRulesActionV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesActionV2& AutomationRulesActionV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = AutomationRulesActionTypeV2Mapper::GetAutomationRulesActionTypeV2ForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingFieldsUpdate")) + { + m_findingFieldsUpdate = jsonValue.GetObject("FindingFieldsUpdate"); + m_findingFieldsUpdateHasBeenSet = true; + } + if(jsonValue.ValueExists("ExternalIntegrationConfiguration")) + { + m_externalIntegrationConfiguration = jsonValue.GetObject("ExternalIntegrationConfiguration"); + m_externalIntegrationConfigurationHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesActionV2::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", AutomationRulesActionTypeV2Mapper::GetNameForAutomationRulesActionTypeV2(m_type)); + } + + if(m_findingFieldsUpdateHasBeenSet) + { + payload.WithObject("FindingFieldsUpdate", m_findingFieldsUpdate.Jsonize()); + + } + + if(m_externalIntegrationConfigurationHasBeenSet) + { + payload.WithObject("ExternalIntegrationConfiguration", m_externalIntegrationConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp new file mode 100644 index 00000000000..d0570415e01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesFindingFieldsUpdateV2::AutomationRulesFindingFieldsUpdateV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesFindingFieldsUpdateV2& AutomationRulesFindingFieldsUpdateV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SeverityId")) + { + m_severityId = jsonValue.GetInteger("SeverityId"); + m_severityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Comment")) + { + m_comment = jsonValue.GetString("Comment"); + m_commentHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusId")) + { + m_statusId = jsonValue.GetInteger("StatusId"); + m_statusIdHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesFindingFieldsUpdateV2::Jsonize() const +{ + JsonValue payload; + + if(m_severityIdHasBeenSet) + { + payload.WithInteger("SeverityId", m_severityId); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("Comment", m_comment); + + } + + if(m_statusIdHasBeenSet) + { + payload.WithInteger("StatusId", m_statusId); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp new file mode 100644 index 00000000000..42de1598e28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesMetadataV2::AutomationRulesMetadataV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesMetadataV2& AutomationRulesMetadataV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleOrder")) + { + m_ruleOrder = jsonValue.GetDouble("RuleOrder"); + m_ruleOrderHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleName")) + { + m_ruleName = jsonValue.GetString("RuleName"); + m_ruleNameHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleStatus")) + { + m_ruleStatus = RuleStatusV2Mapper::GetRuleStatusV2ForName(jsonValue.GetString("RuleStatus")); + m_ruleStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("Actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsObject()); + } + m_actionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdatedAt")) + { + m_updatedAt = jsonValue.GetString("UpdatedAt"); + m_updatedAtHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesMetadataV2::Jsonize() const +{ + JsonValue payload; + + if(m_ruleArnHasBeenSet) + { + payload.WithString("RuleArn", m_ruleArn); + + } + + if(m_ruleIdHasBeenSet) + { + payload.WithString("RuleId", m_ruleId); + + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("UpdatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp new file mode 100644 index 00000000000..9c647aad2eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +BatchUpdateFindingsV2ProcessedFinding::BatchUpdateFindingsV2ProcessedFinding(JsonView jsonValue) +{ + *this = jsonValue; +} + +BatchUpdateFindingsV2ProcessedFinding& BatchUpdateFindingsV2ProcessedFinding::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingIdentifier")) + { + m_findingIdentifier = jsonValue.GetObject("FindingIdentifier"); + m_findingIdentifierHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataUid")) + { + m_metadataUid = jsonValue.GetString("MetadataUid"); + m_metadataUidHasBeenSet = true; + } + return *this; +} + +JsonValue BatchUpdateFindingsV2ProcessedFinding::Jsonize() const +{ + JsonValue payload; + + if(m_findingIdentifierHasBeenSet) + { + payload.WithObject("FindingIdentifier", m_findingIdentifier.Jsonize()); + + } + + if(m_metadataUidHasBeenSet) + { + payload.WithString("MetadataUid", m_metadataUid); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp new file mode 100644 index 00000000000..ce96573e305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String BatchUpdateFindingsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_metadataUidsHasBeenSet) + { + Aws::Utils::Array metadataUidsJsonList(m_metadataUids.size()); + for(unsigned metadataUidsIndex = 0; metadataUidsIndex < metadataUidsJsonList.GetLength(); ++metadataUidsIndex) + { + metadataUidsJsonList[metadataUidsIndex].AsString(m_metadataUids[metadataUidsIndex]); + } + payload.WithArray("MetadataUids", std::move(metadataUidsJsonList)); + + } + + if(m_findingIdentifiersHasBeenSet) + { + Aws::Utils::Array findingIdentifiersJsonList(m_findingIdentifiers.size()); + for(unsigned findingIdentifiersIndex = 0; findingIdentifiersIndex < findingIdentifiersJsonList.GetLength(); ++findingIdentifiersIndex) + { + findingIdentifiersJsonList[findingIdentifiersIndex].AsObject(m_findingIdentifiers[findingIdentifiersIndex].Jsonize()); + } + payload.WithArray("FindingIdentifiers", std::move(findingIdentifiersJsonList)); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("Comment", m_comment); + + } + + if(m_severityIdHasBeenSet) + { + payload.WithInteger("SeverityId", m_severityId); + + } + + if(m_statusIdHasBeenSet) + { + payload.WithInteger("StatusId", m_statusId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp new file mode 100644 index 00000000000..09d7285a271 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchUpdateFindingsV2Result::BatchUpdateFindingsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchUpdateFindingsV2Result& BatchUpdateFindingsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ProcessedFindings")) + { + Aws::Utils::Array processedFindingsJsonList = jsonValue.GetArray("ProcessedFindings"); + for(unsigned processedFindingsIndex = 0; processedFindingsIndex < processedFindingsJsonList.GetLength(); ++processedFindingsIndex) + { + m_processedFindings.push_back(processedFindingsJsonList[processedFindingsIndex].AsObject()); + } + m_processedFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("UnprocessedFindings")) + { + Aws::Utils::Array unprocessedFindingsJsonList = jsonValue.GetArray("UnprocessedFindings"); + for(unsigned unprocessedFindingsIndex = 0; unprocessedFindingsIndex < unprocessedFindingsJsonList.GetLength(); ++unprocessedFindingsIndex) + { + m_unprocessedFindings.push_back(unprocessedFindingsJsonList[unprocessedFindingsIndex].AsObject()); + } + m_unprocessedFindingsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp new file mode 100644 index 00000000000..92fe2340d13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +BatchUpdateFindingsV2UnprocessedFinding::BatchUpdateFindingsV2UnprocessedFinding(JsonView jsonValue) +{ + *this = jsonValue; +} + +BatchUpdateFindingsV2UnprocessedFinding& BatchUpdateFindingsV2UnprocessedFinding::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingIdentifier")) + { + m_findingIdentifier = jsonValue.GetObject("FindingIdentifier"); + m_findingIdentifierHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataUid")) + { + m_metadataUid = jsonValue.GetString("MetadataUid"); + m_metadataUidHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper::GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(jsonValue.GetString("ErrorCode")); + m_errorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorMessage")) + { + m_errorMessage = jsonValue.GetString("ErrorMessage"); + m_errorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue BatchUpdateFindingsV2UnprocessedFinding::Jsonize() const +{ + JsonValue payload; + + if(m_findingIdentifierHasBeenSet) + { + payload.WithObject("FindingIdentifier", m_findingIdentifier.Jsonize()); + + } + + if(m_metadataUidHasBeenSet) + { + payload.WithString("MetadataUid", m_metadataUid); + + } + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper::GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(m_errorCode)); + } + + if(m_errorMessageHasBeenSet) + { + payload.WithString("ErrorMessage", m_errorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp new file mode 100644 index 00000000000..95e3653f7ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper + { + + static const int ResourceNotFoundException_HASH = HashingUtils::HashString("ResourceNotFoundException"); + static const int ValidationException_HASH = HashingUtils::HashString("ValidationException"); + static const int InternalServerException_HASH = HashingUtils::HashString("InternalServerException"); + static const int ConflictException_HASH = HashingUtils::HashString("ConflictException"); + + + BatchUpdateFindingsV2UnprocessedFindingErrorCode GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ResourceNotFoundException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ResourceNotFoundException; + } + else if (hashCode == ValidationException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ValidationException; + } + else if (hashCode == InternalServerException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::InternalServerException; + } + else if (hashCode == ConflictException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ConflictException; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET; + } + + Aws::String GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode enumValue) + { + switch(enumValue) + { + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET: + return {}; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ResourceNotFoundException: + return "ResourceNotFoundException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ValidationException: + return "ValidationException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::InternalServerException: + return "InternalServerException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ConflictException: + return "ConflictException"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp new file mode 100644 index 00000000000..d595ef9b751 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +CompositeFilter::CompositeFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CompositeFilter& CompositeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StringFilters")) + { + Aws::Utils::Array stringFiltersJsonList = jsonValue.GetArray("StringFilters"); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + m_stringFilters.push_back(stringFiltersJsonList[stringFiltersIndex].AsObject()); + } + m_stringFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("DateFilters")) + { + Aws::Utils::Array dateFiltersJsonList = jsonValue.GetArray("DateFilters"); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + m_dateFilters.push_back(dateFiltersJsonList[dateFiltersIndex].AsObject()); + } + m_dateFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("BooleanFilters")) + { + Aws::Utils::Array booleanFiltersJsonList = jsonValue.GetArray("BooleanFilters"); + for(unsigned booleanFiltersIndex = 0; booleanFiltersIndex < booleanFiltersJsonList.GetLength(); ++booleanFiltersIndex) + { + m_booleanFilters.push_back(booleanFiltersJsonList[booleanFiltersIndex].AsObject()); + } + m_booleanFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberFilters")) + { + Aws::Utils::Array numberFiltersJsonList = jsonValue.GetArray("NumberFilters"); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + m_numberFilters.push_back(numberFiltersJsonList[numberFiltersIndex].AsObject()); + } + m_numberFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("MapFilters")) + { + Aws::Utils::Array mapFiltersJsonList = jsonValue.GetArray("MapFilters"); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + m_mapFilters.push_back(mapFiltersJsonList[mapFiltersIndex].AsObject()); + } + m_mapFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("Operator")) + { + m_operator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("Operator")); + m_operatorHasBeenSet = true; + } + return *this; +} + +JsonValue CompositeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_stringFiltersHasBeenSet) + { + Aws::Utils::Array stringFiltersJsonList(m_stringFilters.size()); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + stringFiltersJsonList[stringFiltersIndex].AsObject(m_stringFilters[stringFiltersIndex].Jsonize()); + } + payload.WithArray("StringFilters", std::move(stringFiltersJsonList)); + + } + + if(m_dateFiltersHasBeenSet) + { + Aws::Utils::Array dateFiltersJsonList(m_dateFilters.size()); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + dateFiltersJsonList[dateFiltersIndex].AsObject(m_dateFilters[dateFiltersIndex].Jsonize()); + } + payload.WithArray("DateFilters", std::move(dateFiltersJsonList)); + + } + + if(m_booleanFiltersHasBeenSet) + { + Aws::Utils::Array booleanFiltersJsonList(m_booleanFilters.size()); + for(unsigned booleanFiltersIndex = 0; booleanFiltersIndex < booleanFiltersJsonList.GetLength(); ++booleanFiltersIndex) + { + booleanFiltersJsonList[booleanFiltersIndex].AsObject(m_booleanFilters[booleanFiltersIndex].Jsonize()); + } + payload.WithArray("BooleanFilters", std::move(booleanFiltersJsonList)); + + } + + if(m_numberFiltersHasBeenSet) + { + Aws::Utils::Array numberFiltersJsonList(m_numberFilters.size()); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + numberFiltersJsonList[numberFiltersIndex].AsObject(m_numberFilters[numberFiltersIndex].Jsonize()); + } + payload.WithArray("NumberFilters", std::move(numberFiltersJsonList)); + + } + + if(m_mapFiltersHasBeenSet) + { + Aws::Utils::Array mapFiltersJsonList(m_mapFilters.size()); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + mapFiltersJsonList[mapFiltersIndex].AsObject(m_mapFilters[mapFiltersIndex].Jsonize()); + } + payload.WithArray("MapFilters", std::move(mapFiltersJsonList)); + + } + + if(m_operatorHasBeenSet) + { + payload.WithString("Operator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_operator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp new file mode 100644 index 00000000000..fbea16e2f8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ConflictException::ConflictException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp new file mode 100644 index 00000000000..39bd13a78f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorAuthStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + ConnectorAuthStatus GetConnectorAuthStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return ConnectorAuthStatus::ACTIVE; + } + else if (hashCode == FAILED_HASH) + { + return ConnectorAuthStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorAuthStatus::NOT_SET; + } + + Aws::String GetNameForConnectorAuthStatus(ConnectorAuthStatus enumValue) + { + switch(enumValue) + { + case ConnectorAuthStatus::NOT_SET: + return {}; + case ConnectorAuthStatus::ACTIVE: + return "ACTIVE"; + case ConnectorAuthStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorAuthStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp new file mode 100644 index 00000000000..49ac717de5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorProviderNameMapper + { + + static const int JIRA_CLOUD_HASH = HashingUtils::HashString("JIRA_CLOUD"); + static const int SERVICENOW_HASH = HashingUtils::HashString("SERVICENOW"); + + + ConnectorProviderName GetConnectorProviderNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == JIRA_CLOUD_HASH) + { + return ConnectorProviderName::JIRA_CLOUD; + } + else if (hashCode == SERVICENOW_HASH) + { + return ConnectorProviderName::SERVICENOW; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorProviderName::NOT_SET; + } + + Aws::String GetNameForConnectorProviderName(ConnectorProviderName enumValue) + { + switch(enumValue) + { + case ConnectorProviderName::NOT_SET: + return {}; + case ConnectorProviderName::JIRA_CLOUD: + return "JIRA_CLOUD"; + case ConnectorProviderName::SERVICENOW: + return "SERVICENOW"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorProviderNameMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp new file mode 100644 index 00000000000..1ed7a7c0a83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ConnectorRegistrationsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_authCodeHasBeenSet) + { + payload.WithString("AuthCode", m_authCode); + + } + + if(m_authStateHasBeenSet) + { + payload.WithString("AuthState", m_authState); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.cpp new file mode 100644 index 00000000000..8fbe9ab1c52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ConnectorRegistrationsV2Result::ConnectorRegistrationsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ConnectorRegistrationsV2Result& ConnectorRegistrationsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp new file mode 100644 index 00000000000..e811b7b93c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorStatusMapper + { + + static const int CONNECTED_HASH = HashingUtils::HashString("CONNECTED"); + static const int FAILED_TO_CONNECT_HASH = HashingUtils::HashString("FAILED_TO_CONNECT"); + static const int PENDING_CONFIGURATION_HASH = HashingUtils::HashString("PENDING_CONFIGURATION"); + static const int PENDING_AUTHORIZATION_HASH = HashingUtils::HashString("PENDING_AUTHORIZATION"); + + + ConnectorStatus GetConnectorStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CONNECTED_HASH) + { + return ConnectorStatus::CONNECTED; + } + else if (hashCode == FAILED_TO_CONNECT_HASH) + { + return ConnectorStatus::FAILED_TO_CONNECT; + } + else if (hashCode == PENDING_CONFIGURATION_HASH) + { + return ConnectorStatus::PENDING_CONFIGURATION; + } + else if (hashCode == PENDING_AUTHORIZATION_HASH) + { + return ConnectorStatus::PENDING_AUTHORIZATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorStatus::NOT_SET; + } + + Aws::String GetNameForConnectorStatus(ConnectorStatus enumValue) + { + switch(enumValue) + { + case ConnectorStatus::NOT_SET: + return {}; + case ConnectorStatus::CONNECTED: + return "CONNECTED"; + case ConnectorStatus::FAILED_TO_CONNECT: + return "FAILED_TO_CONNECT"; + case ConnectorStatus::PENDING_CONFIGURATION: + return "PENDING_CONFIGURATION"; + case ConnectorStatus::PENDING_AUTHORIZATION: + return "PENDING_AUTHORIZATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp new file mode 100644 index 00000000000..28bb6455dfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ConnectorSummary::ConnectorSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConnectorSummary& ConnectorSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("ProviderSummary")) + { + m_providerSummary = jsonValue.GetObject("ProviderSummary"); + m_providerSummaryHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + return *this; +} + +JsonValue ConnectorSummary::Jsonize() const +{ + JsonValue payload; + + if(m_connectorArnHasBeenSet) + { + payload.WithString("ConnectorArn", m_connectorArn); + + } + + if(m_connectorIdHasBeenSet) + { + payload.WithString("ConnectorId", m_connectorId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerSummaryHasBeenSet) + { + payload.WithObject("ProviderSummary", m_providerSummary.Jsonize()); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp new file mode 100644 index 00000000000..e8b31785b6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateAggregatorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_regionLinkingModeHasBeenSet) + { + payload.WithString("RegionLinkingMode", m_regionLinkingMode); + + } + + if(m_linkedRegionsHasBeenSet) + { + Aws::Utils::Array linkedRegionsJsonList(m_linkedRegions.size()); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + linkedRegionsJsonList[linkedRegionsIndex].AsString(m_linkedRegions[linkedRegionsIndex]); + } + payload.WithArray("LinkedRegions", std::move(linkedRegionsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.cpp new file mode 100644 index 00000000000..dbd3be073e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAggregatorV2Result::CreateAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAggregatorV2Result& CreateAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..167d7f1bc7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateAutomationRuleV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_criteriaHasBeenSet) + { + payload.WithObject("Criteria", m_criteria.Jsonize()); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..86f512f75c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAutomationRuleV2Result::CreateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAutomationRuleV2Result& CreateAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp new file mode 100644 index 00000000000..0757d9a9f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateConnectorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerHasBeenSet) + { + payload.WithObject("Provider", m_provider.Jsonize()); + + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("KmsKeyArn", m_kmsKeyArn); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.cpp new file mode 100644 index 00000000000..c46a1373969 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateConnectorV2Result::CreateConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateConnectorV2Result& CreateConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthUrl")) + { + m_authUrl = jsonValue.GetString("AuthUrl"); + m_authUrlHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp new file mode 100644 index 00000000000..7cac08dd136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateTicketV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_connectorIdHasBeenSet) + { + payload.WithString("ConnectorId", m_connectorId); + + } + + if(m_findingMetadataUidHasBeenSet) + { + payload.WithString("FindingMetadataUid", m_findingMetadataUid); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.cpp new file mode 100644 index 00000000000..a44663593c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateTicketV2Result::CreateTicketV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateTicketV2Result& CreateTicketV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("TicketId")) + { + m_ticketId = jsonValue.GetString("TicketId"); + m_ticketIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TicketSrcUrl")) + { + m_ticketSrcUrl = jsonValue.GetString("TicketSrcUrl"); + m_ticketSrcUrlHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp new file mode 100644 index 00000000000..4ac0ae2e2ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Criteria::Criteria(JsonView jsonValue) +{ + *this = jsonValue; +} + +Criteria& Criteria::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OcsfFindingCriteria")) + { + m_ocsfFindingCriteria = jsonValue.GetObject("OcsfFindingCriteria"); + m_ocsfFindingCriteriaHasBeenSet = true; + } + return *this; +} + +JsonValue Criteria::Jsonize() const +{ + JsonValue payload; + + if(m_ocsfFindingCriteriaHasBeenSet) + { + payload.WithObject("OcsfFindingCriteria", m_ocsfFindingCriteria.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp new file mode 100644 index 00000000000..c3e0a5788d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteAggregatorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp new file mode 100644 index 00000000000..ea32f15fe0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAggregatorV2Result::DeleteAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAggregatorV2Result& DeleteAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..ed0f2cfc807 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteAutomationRuleV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..10125fe7a18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAutomationRuleV2Result::DeleteAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAutomationRuleV2Result& DeleteAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp new file mode 100644 index 00000000000..b4b7134b87e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteConnectorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp new file mode 100644 index 00000000000..0a040589a3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteConnectorV2Result::DeleteConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteConnectorV2Result& DeleteConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp new file mode 100644 index 00000000000..03e5727c330 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String DescribeProductsV2Request::SerializePayload() const +{ + return {}; +} + +void DescribeProductsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp new file mode 100644 index 00000000000..d60803eb10d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeProductsV2Result::DescribeProductsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeProductsV2Result& DescribeProductsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ProductsV2")) + { + Aws::Utils::Array productsV2JsonList = jsonValue.GetArray("ProductsV2"); + for(unsigned productsV2Index = 0; productsV2Index < productsV2JsonList.GetLength(); ++productsV2Index) + { + m_productsV2.push_back(productsV2JsonList[productsV2Index].AsObject()); + } + m_productsV2HasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp new file mode 100644 index 00000000000..068129c29d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DescribeSecurityHubV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.cpp new file mode 100644 index 00000000000..d41114e9f97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeSecurityHubV2Result::DescribeSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeSecurityHubV2Result& DescribeSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("HubV2Arn")) + { + m_hubV2Arn = jsonValue.GetString("HubV2Arn"); + m_hubV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("SubscribedAt")) + { + m_subscribedAt = jsonValue.GetString("SubscribedAt"); + m_subscribedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp index b72bbb3a013..519b6cf0b9f 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp @@ -22,6 +22,11 @@ Aws::String DisableOrganizationAdminAccountRequest::SerializePayload() const } + if(m_featureHasBeenSet) + { + payload.WithString("Feature", SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp new file mode 100644 index 00000000000..4d7559164f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisableSecurityHubV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp new file mode 100644 index 00000000000..0144c4e6d6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DisableSecurityHubV2Result::DisableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DisableSecurityHubV2Result& DisableSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp index faec23e7ae1..5d0bed1932b 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp @@ -22,6 +22,11 @@ Aws::String EnableOrganizationAdminAccountRequest::SerializePayload() const } + if(m_featureHasBeenSet) + { + payload.WithString("Feature", SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp index a829ed2cbbe..ecacd8ee27d 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp @@ -24,7 +24,17 @@ EnableOrganizationAdminAccountResult::EnableOrganizationAdminAccountResult(const EnableOrganizationAdminAccountResult& EnableOrganizationAdminAccountResult::operator =(const Aws::AmazonWebServiceResult& result) { - AWS_UNREFERENCED_PARAM(result); + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AdminAccountId")) + { + m_adminAccountId = jsonValue.GetString("AdminAccountId"); + m_adminAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Feature")) + { + m_feature = SecurityHubFeatureMapper::GetSecurityHubFeatureForName(jsonValue.GetString("Feature")); + m_featureHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.cpp new file mode 100644 index 00000000000..b9bcb42c09f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String EnableSecurityHubV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp new file mode 100644 index 00000000000..4d2cd8c3305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +EnableSecurityHubV2Result::EnableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EnableSecurityHubV2Result& EnableSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("HubV2Arn")) + { + m_hubV2Arn = jsonValue.GetString("HubV2Arn"); + m_hubV2ArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp new file mode 100644 index 00000000000..596f1ab5907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ExternalIntegrationConfiguration::ExternalIntegrationConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ExternalIntegrationConfiguration& ExternalIntegrationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + return *this; +} + +JsonValue ExternalIntegrationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_connectorArnHasBeenSet) + { + payload.WithString("ConnectorArn", m_connectorArn); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp new file mode 100644 index 00000000000..51e0186f5da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetAggregatorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.cpp new file mode 100644 index 00000000000..7439714b520 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAggregatorV2Result::GetAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAggregatorV2Result& GetAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..011244d0b4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetAutomationRuleV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..555d372ba59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAutomationRuleV2Result::GetAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAutomationRuleV2Result& GetAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleOrder")) + { + m_ruleOrder = jsonValue.GetDouble("RuleOrder"); + m_ruleOrderHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleName")) + { + m_ruleName = jsonValue.GetString("RuleName"); + m_ruleNameHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleStatus")) + { + m_ruleStatus = RuleStatusV2Mapper::GetRuleStatusV2ForName(jsonValue.GetString("RuleStatus")); + m_ruleStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Criteria")) + { + m_criteria = jsonValue.GetObject("Criteria"); + m_criteriaHasBeenSet = true; + } + if(jsonValue.ValueExists("Actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("Actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsObject()); + } + m_actionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdatedAt")) + { + m_updatedAt = jsonValue.GetString("UpdatedAt"); + m_updatedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp new file mode 100644 index 00000000000..421a8462b05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetConnectorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp new file mode 100644 index 00000000000..308f4e95d52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetConnectorV2Result::GetConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetConnectorV2Result& GetConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("KmsKeyArn")) + { + m_kmsKeyArn = jsonValue.GetString("KmsKeyArn"); + m_kmsKeyArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("Health")) + { + m_health = jsonValue.GetObject("Health"); + m_healthHasBeenSet = true; + } + if(jsonValue.ValueExists("ProviderDetail")) + { + m_providerDetail = jsonValue.GetObject("ProviderDetail"); + m_providerDetailHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp new file mode 100644 index 00000000000..040f643c4ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetFindingStatisticsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_groupByRulesHasBeenSet) + { + Aws::Utils::Array groupByRulesJsonList(m_groupByRules.size()); + for(unsigned groupByRulesIndex = 0; groupByRulesIndex < groupByRulesJsonList.GetLength(); ++groupByRulesIndex) + { + groupByRulesJsonList[groupByRulesIndex].AsObject(m_groupByRules[groupByRulesIndex].Jsonize()); + } + payload.WithArray("GroupByRules", std::move(groupByRulesJsonList)); + + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + if(m_maxStatisticResultsHasBeenSet) + { + payload.WithInteger("MaxStatisticResults", m_maxStatisticResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp new file mode 100644 index 00000000000..9afe3433b83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFindingStatisticsV2Result::GetFindingStatisticsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetFindingStatisticsV2Result& GetFindingStatisticsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GroupByResults")) + { + Aws::Utils::Array groupByResultsJsonList = jsonValue.GetArray("GroupByResults"); + for(unsigned groupByResultsIndex = 0; groupByResultsIndex < groupByResultsJsonList.GetLength(); ++groupByResultsIndex) + { + m_groupByResults.push_back(groupByResultsJsonList[groupByResultsIndex].AsObject()); + } + m_groupByResultsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp new file mode 100644 index 00000000000..876c0403c6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetFindingsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_sortCriteriaHasBeenSet) + { + Aws::Utils::Array sortCriteriaJsonList(m_sortCriteria.size()); + for(unsigned sortCriteriaIndex = 0; sortCriteriaIndex < sortCriteriaJsonList.GetLength(); ++sortCriteriaIndex) + { + sortCriteriaJsonList[sortCriteriaIndex].AsObject(m_sortCriteria[sortCriteriaIndex].Jsonize()); + } + payload.WithArray("SortCriteria", std::move(sortCriteriaJsonList)); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp new file mode 100644 index 00000000000..72ae4bfe01d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFindingsV2Result::GetFindingsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetFindingsV2Result& GetFindingsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Findings")) + { + Aws::Utils::Array findingsJsonList = jsonValue.GetArray("Findings"); + for(unsigned findingsIndex = 0; findingsIndex < findingsJsonList.GetLength(); ++findingsIndex) + { + m_findings.push_back(findingsJsonList[findingsIndex].AsObject()); + } + m_findingsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp new file mode 100644 index 00000000000..1a281c516c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetResourcesStatisticsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_groupByRulesHasBeenSet) + { + Aws::Utils::Array groupByRulesJsonList(m_groupByRules.size()); + for(unsigned groupByRulesIndex = 0; groupByRulesIndex < groupByRulesJsonList.GetLength(); ++groupByRulesIndex) + { + groupByRulesJsonList[groupByRulesIndex].AsObject(m_groupByRules[groupByRulesIndex].Jsonize()); + } + payload.WithArray("GroupByRules", std::move(groupByRulesJsonList)); + + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + if(m_maxStatisticResultsHasBeenSet) + { + payload.WithInteger("MaxStatisticResults", m_maxStatisticResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp new file mode 100644 index 00000000000..fa9d1f4bb7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcesStatisticsV2Result::GetResourcesStatisticsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcesStatisticsV2Result& GetResourcesStatisticsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GroupByResults")) + { + Aws::Utils::Array groupByResultsJsonList = jsonValue.GetArray("GroupByResults"); + for(unsigned groupByResultsIndex = 0; groupByResultsIndex < groupByResultsJsonList.GetLength(); ++groupByResultsIndex) + { + m_groupByResults.push_back(groupByResultsJsonList[groupByResultsIndex].AsObject()); + } + m_groupByResultsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp new file mode 100644 index 00000000000..0ae727d4731 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetResourcesV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_sortCriteriaHasBeenSet) + { + Aws::Utils::Array sortCriteriaJsonList(m_sortCriteria.size()); + for(unsigned sortCriteriaIndex = 0; sortCriteriaIndex < sortCriteriaJsonList.GetLength(); ++sortCriteriaIndex) + { + sortCriteriaJsonList[sortCriteriaIndex].AsObject(m_sortCriteria[sortCriteriaIndex].Jsonize()); + } + payload.WithArray("SortCriteria", std::move(sortCriteriaJsonList)); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp new file mode 100644 index 00000000000..acdc53f6537 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcesV2Result::GetResourcesV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcesV2Result& GetResourcesV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Resources")) + { + Aws::Utils::Array resourcesJsonList = jsonValue.GetArray("Resources"); + for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) + { + m_resources.push_back(resourcesJsonList[resourcesIndex].AsObject()); + } + m_resourcesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp new file mode 100644 index 00000000000..ee6e4a406dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace GroupByFieldMapper + { + + static const int activity_name_HASH = HashingUtils::HashString("activity_name"); + static const int cloud_account_uid_HASH = HashingUtils::HashString("cloud.account.uid"); + static const int cloud_provider_HASH = HashingUtils::HashString("cloud.provider"); + static const int cloud_region_HASH = HashingUtils::HashString("cloud.region"); + static const int compliance_assessments_name_HASH = HashingUtils::HashString("compliance.assessments.name"); + static const int compliance_status_HASH = HashingUtils::HashString("compliance.status"); + static const int compliance_control_HASH = HashingUtils::HashString("compliance.control"); + static const int finding_info_title_HASH = HashingUtils::HashString("finding_info.title"); + static const int finding_info_types_HASH = HashingUtils::HashString("finding_info.types"); + static const int metadata_product_name_HASH = HashingUtils::HashString("metadata.product.name"); + static const int metadata_product_uid_HASH = HashingUtils::HashString("metadata.product.uid"); + static const int resources_type_HASH = HashingUtils::HashString("resources.type"); + static const int resources_uid_HASH = HashingUtils::HashString("resources.uid"); + static const int severity_HASH = HashingUtils::HashString("severity"); + static const int status_HASH = HashingUtils::HashString("status"); + static const int vulnerabilities_fix_coverage_HASH = HashingUtils::HashString("vulnerabilities.fix_coverage"); + static const int class_name_HASH = HashingUtils::HashString("class_name"); + + + GroupByField GetGroupByFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == activity_name_HASH) + { + return GroupByField::activity_name; + } + else if (hashCode == cloud_account_uid_HASH) + { + return GroupByField::cloud_account_uid; + } + else if (hashCode == cloud_provider_HASH) + { + return GroupByField::cloud_provider; + } + else if (hashCode == cloud_region_HASH) + { + return GroupByField::cloud_region; + } + else if (hashCode == compliance_assessments_name_HASH) + { + return GroupByField::compliance_assessments_name; + } + else if (hashCode == compliance_status_HASH) + { + return GroupByField::compliance_status; + } + else if (hashCode == compliance_control_HASH) + { + return GroupByField::compliance_control; + } + else if (hashCode == finding_info_title_HASH) + { + return GroupByField::finding_info_title; + } + else if (hashCode == finding_info_types_HASH) + { + return GroupByField::finding_info_types; + } + else if (hashCode == metadata_product_name_HASH) + { + return GroupByField::metadata_product_name; + } + else if (hashCode == metadata_product_uid_HASH) + { + return GroupByField::metadata_product_uid; + } + else if (hashCode == resources_type_HASH) + { + return GroupByField::resources_type; + } + else if (hashCode == resources_uid_HASH) + { + return GroupByField::resources_uid; + } + else if (hashCode == severity_HASH) + { + return GroupByField::severity; + } + else if (hashCode == status_HASH) + { + return GroupByField::status; + } + else if (hashCode == vulnerabilities_fix_coverage_HASH) + { + return GroupByField::vulnerabilities_fix_coverage; + } + else if (hashCode == class_name_HASH) + { + return GroupByField::class_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GroupByField::NOT_SET; + } + + Aws::String GetNameForGroupByField(GroupByField enumValue) + { + switch(enumValue) + { + case GroupByField::NOT_SET: + return {}; + case GroupByField::activity_name: + return "activity_name"; + case GroupByField::cloud_account_uid: + return "cloud.account.uid"; + case GroupByField::cloud_provider: + return "cloud.provider"; + case GroupByField::cloud_region: + return "cloud.region"; + case GroupByField::compliance_assessments_name: + return "compliance.assessments.name"; + case GroupByField::compliance_status: + return "compliance.status"; + case GroupByField::compliance_control: + return "compliance.control"; + case GroupByField::finding_info_title: + return "finding_info.title"; + case GroupByField::finding_info_types: + return "finding_info.types"; + case GroupByField::metadata_product_name: + return "metadata.product.name"; + case GroupByField::metadata_product_uid: + return "metadata.product.uid"; + case GroupByField::resources_type: + return "resources.type"; + case GroupByField::resources_uid: + return "resources.uid"; + case GroupByField::severity: + return "severity"; + case GroupByField::status: + return "status"; + case GroupByField::vulnerabilities_fix_coverage: + return "vulnerabilities.fix_coverage"; + case GroupByField::class_name: + return "class_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GroupByFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp new file mode 100644 index 00000000000..7adf49ad9a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByResult::GroupByResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByResult& GroupByResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = jsonValue.GetString("GroupByField"); + m_groupByFieldHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupByValues")) + { + Aws::Utils::Array groupByValuesJsonList = jsonValue.GetArray("GroupByValues"); + for(unsigned groupByValuesIndex = 0; groupByValuesIndex < groupByValuesJsonList.GetLength(); ++groupByValuesIndex) + { + m_groupByValues.push_back(groupByValuesJsonList[groupByValuesIndex].AsObject()); + } + m_groupByValuesHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByResult::Jsonize() const +{ + JsonValue payload; + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", m_groupByField); + + } + + if(m_groupByValuesHasBeenSet) + { + Aws::Utils::Array groupByValuesJsonList(m_groupByValues.size()); + for(unsigned groupByValuesIndex = 0; groupByValuesIndex < groupByValuesJsonList.GetLength(); ++groupByValuesIndex) + { + groupByValuesJsonList[groupByValuesIndex].AsObject(m_groupByValues[groupByValuesIndex].Jsonize()); + } + payload.WithArray("GroupByValues", std::move(groupByValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp new file mode 100644 index 00000000000..047c4ef61d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByRule::GroupByRule(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByRule& GroupByRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Filters")) + { + m_filters = jsonValue.GetObject("Filters"); + m_filtersHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = GroupByFieldMapper::GetGroupByFieldForName(jsonValue.GetString("GroupByField")); + m_groupByFieldHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByRule::Jsonize() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", GroupByFieldMapper::GetNameForGroupByField(m_groupByField)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp new file mode 100644 index 00000000000..92aa72bd58a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByValue::GroupByValue(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByValue& GroupByValue::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldValue")) + { + m_fieldValue = jsonValue.GetString("FieldValue"); + m_fieldValueHasBeenSet = true; + } + if(jsonValue.ValueExists("Count")) + { + m_count = jsonValue.GetInteger("Count"); + m_countHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByValue::Jsonize() const +{ + JsonValue payload; + + if(m_fieldValueHasBeenSet) + { + payload.WithString("FieldValue", m_fieldValue); + + } + + if(m_countHasBeenSet) + { + payload.WithInteger("Count", m_count); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp new file mode 100644 index 00000000000..868fdb21a79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +HealthCheck::HealthCheck(JsonView jsonValue) +{ + *this = jsonValue; +} + +HealthCheck& HealthCheck::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorStatus")) + { + m_connectorStatus = ConnectorStatusMapper::GetConnectorStatusForName(jsonValue.GetString("ConnectorStatus")); + m_connectorStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("LastCheckedAt")) + { + m_lastCheckedAt = jsonValue.GetString("LastCheckedAt"); + m_lastCheckedAtHasBeenSet = true; + } + return *this; +} + +JsonValue HealthCheck::Jsonize() const +{ + JsonValue payload; + + if(m_connectorStatusHasBeenSet) + { + payload.WithString("ConnectorStatus", ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus)); + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_lastCheckedAtHasBeenSet) + { + payload.WithString("LastCheckedAt", m_lastCheckedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp new file mode 100644 index 00000000000..c7d7ca50bd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace IntegrationV2TypeMapper + { + + static const int SEND_FINDINGS_TO_SECURITY_HUB_HASH = HashingUtils::HashString("SEND_FINDINGS_TO_SECURITY_HUB"); + static const int RECEIVE_FINDINGS_FROM_SECURITY_HUB_HASH = HashingUtils::HashString("RECEIVE_FINDINGS_FROM_SECURITY_HUB"); + static const int UPDATE_FINDINGS_IN_SECURITY_HUB_HASH = HashingUtils::HashString("UPDATE_FINDINGS_IN_SECURITY_HUB"); + + + IntegrationV2Type GetIntegrationV2TypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SEND_FINDINGS_TO_SECURITY_HUB_HASH) + { + return IntegrationV2Type::SEND_FINDINGS_TO_SECURITY_HUB; + } + else if (hashCode == RECEIVE_FINDINGS_FROM_SECURITY_HUB_HASH) + { + return IntegrationV2Type::RECEIVE_FINDINGS_FROM_SECURITY_HUB; + } + else if (hashCode == UPDATE_FINDINGS_IN_SECURITY_HUB_HASH) + { + return IntegrationV2Type::UPDATE_FINDINGS_IN_SECURITY_HUB; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationV2Type::NOT_SET; + } + + Aws::String GetNameForIntegrationV2Type(IntegrationV2Type enumValue) + { + switch(enumValue) + { + case IntegrationV2Type::NOT_SET: + return {}; + case IntegrationV2Type::SEND_FINDINGS_TO_SECURITY_HUB: + return "SEND_FINDINGS_TO_SECURITY_HUB"; + case IntegrationV2Type::RECEIVE_FINDINGS_FROM_SECURITY_HUB: + return "RECEIVE_FINDINGS_FROM_SECURITY_HUB"; + case IntegrationV2Type::UPDATE_FINDINGS_IN_SECURITY_HUB: + return "UPDATE_FINDINGS_IN_SECURITY_HUB"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationV2TypeMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..667eeeed67e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +InternalServerException::InternalServerException(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp new file mode 100644 index 00000000000..592b2220516 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudDetail::JiraCloudDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudDetail& JiraCloudDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CloudId")) + { + m_cloudId = jsonValue.GetString("CloudId"); + m_cloudIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + if(jsonValue.ValueExists("Domain")) + { + m_domain = jsonValue.GetString("Domain"); + m_domainHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthUrl")) + { + m_authUrl = jsonValue.GetString("AuthUrl"); + m_authUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthStatus")) + { + m_authStatus = ConnectorAuthStatusMapper::GetConnectorAuthStatusForName(jsonValue.GetString("AuthStatus")); + m_authStatusHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudDetail::Jsonize() const +{ + JsonValue payload; + + if(m_cloudIdHasBeenSet) + { + payload.WithString("CloudId", m_cloudId); + + } + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + if(m_domainHasBeenSet) + { + payload.WithString("Domain", m_domain); + + } + + if(m_authUrlHasBeenSet) + { + payload.WithString("AuthUrl", m_authUrl); + + } + + if(m_authStatusHasBeenSet) + { + payload.WithString("AuthStatus", ConnectorAuthStatusMapper::GetNameForConnectorAuthStatus(m_authStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp new file mode 100644 index 00000000000..e961951aec4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudProviderConfiguration::JiraCloudProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudProviderConfiguration& JiraCloudProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp new file mode 100644 index 00000000000..b84395230a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudUpdateConfiguration::JiraCloudUpdateConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudUpdateConfiguration& JiraCloudUpdateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudUpdateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp new file mode 100644 index 00000000000..82f6358dbd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListAggregatorsV2Request::SerializePayload() const +{ + return {}; +} + +void ListAggregatorsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp new file mode 100644 index 00000000000..28df93a6cdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAggregatorsV2Result::ListAggregatorsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAggregatorsV2Result& ListAggregatorsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorsV2")) + { + Aws::Utils::Array aggregatorsV2JsonList = jsonValue.GetArray("AggregatorsV2"); + for(unsigned aggregatorsV2Index = 0; aggregatorsV2Index < aggregatorsV2JsonList.GetLength(); ++aggregatorsV2Index) + { + m_aggregatorsV2.push_back(aggregatorsV2JsonList[aggregatorsV2Index].AsObject()); + } + m_aggregatorsV2HasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp new file mode 100644 index 00000000000..53da621e6c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListAutomationRulesV2Request::SerializePayload() const +{ + return {}; +} + +void ListAutomationRulesV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp new file mode 100644 index 00000000000..55bf03f6a5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAutomationRulesV2Result::ListAutomationRulesV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAutomationRulesV2Result& ListAutomationRulesV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Rules")) + { + Aws::Utils::Array rulesJsonList = jsonValue.GetArray("Rules"); + for(unsigned rulesIndex = 0; rulesIndex < rulesJsonList.GetLength(); ++rulesIndex) + { + m_rules.push_back(rulesJsonList[rulesIndex].AsObject()); + } + m_rulesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp new file mode 100644 index 00000000000..036bcdf69c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListConnectorsV2Request::SerializePayload() const +{ + return {}; +} + +void ListConnectorsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_providerNameHasBeenSet) + { + ss << ConnectorProviderNameMapper::GetNameForConnectorProviderName(m_providerName); + uri.AddQueryStringParameter("ProviderName", ss.str()); + ss.str(""); + } + + if(m_connectorStatusHasBeenSet) + { + ss << ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus); + uri.AddQueryStringParameter("ConnectorStatus", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp new file mode 100644 index 00000000000..e21f13930d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListConnectorsV2Result::ListConnectorsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListConnectorsV2Result& ListConnectorsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("Connectors")) + { + Aws::Utils::Array connectorsJsonList = jsonValue.GetArray("Connectors"); + for(unsigned connectorsIndex = 0; connectorsIndex < connectorsJsonList.GetLength(); ++connectorsIndex) + { + m_connectors.push_back(connectorsJsonList[connectorsIndex].AsObject()); + } + m_connectorsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp index b6cf5fae341..8eccea07949 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp @@ -37,6 +37,13 @@ void ListOrganizationAdminAccountsRequest::AddQueryStringParameters(URI& uri) co ss.str(""); } + if(m_featureHasBeenSet) + { + ss << SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature); + uri.AddQueryStringParameter("Feature", ss.str()); + ss.str(""); + } + } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp index 255b2f45b14..ca5c1e44aa6 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp @@ -39,6 +39,11 @@ ListOrganizationAdminAccountsResult& ListOrganizationAdminAccountsResult::operat m_nextToken = jsonValue.GetString("NextToken"); m_nextTokenHasBeenSet = true; } + if(jsonValue.ValueExists("Feature")) + { + m_feature = SecurityHubFeatureMapper::GetSecurityHubFeatureForName(jsonValue.GetString("Feature")); + m_featureHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp new file mode 100644 index 00000000000..d2f084649be --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfBooleanFieldMapper + { + + static const int compliance_assessments_meets_criteria_HASH = HashingUtils::HashString("compliance.assessments.meets_criteria"); + static const int vulnerabilities_is_exploit_available_HASH = HashingUtils::HashString("vulnerabilities.is_exploit_available"); + static const int vulnerabilities_is_fix_available_HASH = HashingUtils::HashString("vulnerabilities.is_fix_available"); + + + OcsfBooleanField GetOcsfBooleanFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == compliance_assessments_meets_criteria_HASH) + { + return OcsfBooleanField::compliance_assessments_meets_criteria; + } + else if (hashCode == vulnerabilities_is_exploit_available_HASH) + { + return OcsfBooleanField::vulnerabilities_is_exploit_available; + } + else if (hashCode == vulnerabilities_is_fix_available_HASH) + { + return OcsfBooleanField::vulnerabilities_is_fix_available; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfBooleanField::NOT_SET; + } + + Aws::String GetNameForOcsfBooleanField(OcsfBooleanField enumValue) + { + switch(enumValue) + { + case OcsfBooleanField::NOT_SET: + return {}; + case OcsfBooleanField::compliance_assessments_meets_criteria: + return "compliance.assessments.meets_criteria"; + case OcsfBooleanField::vulnerabilities_is_exploit_available: + return "vulnerabilities.is_exploit_available"; + case OcsfBooleanField::vulnerabilities_is_fix_available: + return "vulnerabilities.is_fix_available"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfBooleanFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp new file mode 100644 index 00000000000..4f65b893213 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfBooleanFilter::OcsfBooleanFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfBooleanFilter& OcsfBooleanFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfBooleanFieldMapper::GetOcsfBooleanFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfBooleanFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfBooleanFieldMapper::GetNameForOcsfBooleanField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp new file mode 100644 index 00000000000..c4c6843d7ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfDateFieldMapper + { + + static const int finding_info_created_time_dt_HASH = HashingUtils::HashString("finding_info.created_time_dt"); + static const int finding_info_first_seen_time_dt_HASH = HashingUtils::HashString("finding_info.first_seen_time_dt"); + static const int finding_info_last_seen_time_dt_HASH = HashingUtils::HashString("finding_info.last_seen_time_dt"); + static const int finding_info_modified_time_dt_HASH = HashingUtils::HashString("finding_info.modified_time_dt"); + + + OcsfDateField GetOcsfDateFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == finding_info_created_time_dt_HASH) + { + return OcsfDateField::finding_info_created_time_dt; + } + else if (hashCode == finding_info_first_seen_time_dt_HASH) + { + return OcsfDateField::finding_info_first_seen_time_dt; + } + else if (hashCode == finding_info_last_seen_time_dt_HASH) + { + return OcsfDateField::finding_info_last_seen_time_dt; + } + else if (hashCode == finding_info_modified_time_dt_HASH) + { + return OcsfDateField::finding_info_modified_time_dt; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfDateField::NOT_SET; + } + + Aws::String GetNameForOcsfDateField(OcsfDateField enumValue) + { + switch(enumValue) + { + case OcsfDateField::NOT_SET: + return {}; + case OcsfDateField::finding_info_created_time_dt: + return "finding_info.created_time_dt"; + case OcsfDateField::finding_info_first_seen_time_dt: + return "finding_info.first_seen_time_dt"; + case OcsfDateField::finding_info_last_seen_time_dt: + return "finding_info.last_seen_time_dt"; + case OcsfDateField::finding_info_modified_time_dt: + return "finding_info.modified_time_dt"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfDateFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp new file mode 100644 index 00000000000..1a605f471d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfDateFilter::OcsfDateFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfDateFilter& OcsfDateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfDateFieldMapper::GetOcsfDateFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfDateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfDateFieldMapper::GetNameForOcsfDateField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp new file mode 100644 index 00000000000..a9ebe4ab777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfFindingFilters::OcsfFindingFilters(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfFindingFilters& OcsfFindingFilters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CompositeFilters")) + { + Aws::Utils::Array compositeFiltersJsonList = jsonValue.GetArray("CompositeFilters"); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + m_compositeFilters.push_back(compositeFiltersJsonList[compositeFiltersIndex].AsObject()); + } + m_compositeFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("CompositeOperator")) + { + m_compositeOperator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("CompositeOperator")); + m_compositeOperatorHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfFindingFilters::Jsonize() const +{ + JsonValue payload; + + if(m_compositeFiltersHasBeenSet) + { + Aws::Utils::Array compositeFiltersJsonList(m_compositeFilters.size()); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + compositeFiltersJsonList[compositeFiltersIndex].AsObject(m_compositeFilters[compositeFiltersIndex].Jsonize()); + } + payload.WithArray("CompositeFilters", std::move(compositeFiltersJsonList)); + + } + + if(m_compositeOperatorHasBeenSet) + { + payload.WithString("CompositeOperator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_compositeOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp new file mode 100644 index 00000000000..72a41e56c19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfFindingIdentifier::OcsfFindingIdentifier(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfFindingIdentifier& OcsfFindingIdentifier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CloudAccountUid")) + { + m_cloudAccountUid = jsonValue.GetString("CloudAccountUid"); + m_cloudAccountUidHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingInfoUid")) + { + m_findingInfoUid = jsonValue.GetString("FindingInfoUid"); + m_findingInfoUidHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataProductUid")) + { + m_metadataProductUid = jsonValue.GetString("MetadataProductUid"); + m_metadataProductUidHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfFindingIdentifier::Jsonize() const +{ + JsonValue payload; + + if(m_cloudAccountUidHasBeenSet) + { + payload.WithString("CloudAccountUid", m_cloudAccountUid); + + } + + if(m_findingInfoUidHasBeenSet) + { + payload.WithString("FindingInfoUid", m_findingInfoUid); + + } + + if(m_metadataProductUidHasBeenSet) + { + payload.WithString("MetadataProductUid", m_metadataProductUid); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp new file mode 100644 index 00000000000..bd4ab23f790 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfMapFieldMapper + { + + static const int resources_tags_HASH = HashingUtils::HashString("resources.tags"); + + + OcsfMapField GetOcsfMapFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resources_tags_HASH) + { + return OcsfMapField::resources_tags; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfMapField::NOT_SET; + } + + Aws::String GetNameForOcsfMapField(OcsfMapField enumValue) + { + switch(enumValue) + { + case OcsfMapField::NOT_SET: + return {}; + case OcsfMapField::resources_tags: + return "resources.tags"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfMapFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp new file mode 100644 index 00000000000..7da1d708ff1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfMapFilter::OcsfMapFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfMapFilter& OcsfMapFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfMapFieldMapper::GetOcsfMapFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfMapFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfMapFieldMapper::GetNameForOcsfMapField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp new file mode 100644 index 00000000000..845686e42e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfNumberFieldMapper + { + + static const int activity_id_HASH = HashingUtils::HashString("activity_id"); + static const int compliance_status_id_HASH = HashingUtils::HashString("compliance.status_id"); + static const int confidence_score_HASH = HashingUtils::HashString("confidence_score"); + static const int severity_id_HASH = HashingUtils::HashString("severity_id"); + static const int status_id_HASH = HashingUtils::HashString("status_id"); + static const int finding_info_related_events_count_HASH = HashingUtils::HashString("finding_info.related_events_count"); + + + OcsfNumberField GetOcsfNumberFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == activity_id_HASH) + { + return OcsfNumberField::activity_id; + } + else if (hashCode == compliance_status_id_HASH) + { + return OcsfNumberField::compliance_status_id; + } + else if (hashCode == confidence_score_HASH) + { + return OcsfNumberField::confidence_score; + } + else if (hashCode == severity_id_HASH) + { + return OcsfNumberField::severity_id; + } + else if (hashCode == status_id_HASH) + { + return OcsfNumberField::status_id; + } + else if (hashCode == finding_info_related_events_count_HASH) + { + return OcsfNumberField::finding_info_related_events_count; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfNumberField::NOT_SET; + } + + Aws::String GetNameForOcsfNumberField(OcsfNumberField enumValue) + { + switch(enumValue) + { + case OcsfNumberField::NOT_SET: + return {}; + case OcsfNumberField::activity_id: + return "activity_id"; + case OcsfNumberField::compliance_status_id: + return "compliance.status_id"; + case OcsfNumberField::confidence_score: + return "confidence_score"; + case OcsfNumberField::severity_id: + return "severity_id"; + case OcsfNumberField::status_id: + return "status_id"; + case OcsfNumberField::finding_info_related_events_count: + return "finding_info.related_events_count"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfNumberFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp new file mode 100644 index 00000000000..9cfb4f5f0b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfNumberFilter::OcsfNumberFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfNumberFilter& OcsfNumberFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfNumberFieldMapper::GetOcsfNumberFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfNumberFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfNumberFieldMapper::GetNameForOcsfNumberField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp new file mode 100644 index 00000000000..7a3b023865d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp @@ -0,0 +1,282 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfStringFieldMapper + { + + static const int metadata_uid_HASH = HashingUtils::HashString("metadata.uid"); + static const int activity_name_HASH = HashingUtils::HashString("activity_name"); + static const int cloud_account_uid_HASH = HashingUtils::HashString("cloud.account.uid"); + static const int cloud_provider_HASH = HashingUtils::HashString("cloud.provider"); + static const int cloud_region_HASH = HashingUtils::HashString("cloud.region"); + static const int compliance_assessments_category_HASH = HashingUtils::HashString("compliance.assessments.category"); + static const int compliance_assessments_name_HASH = HashingUtils::HashString("compliance.assessments.name"); + static const int compliance_control_HASH = HashingUtils::HashString("compliance.control"); + static const int compliance_status_HASH = HashingUtils::HashString("compliance.status"); + static const int compliance_standards_HASH = HashingUtils::HashString("compliance.standards"); + static const int finding_info_desc_HASH = HashingUtils::HashString("finding_info.desc"); + static const int finding_info_src_url_HASH = HashingUtils::HashString("finding_info.src_url"); + static const int finding_info_title_HASH = HashingUtils::HashString("finding_info.title"); + static const int finding_info_types_HASH = HashingUtils::HashString("finding_info.types"); + static const int finding_info_uid_HASH = HashingUtils::HashString("finding_info.uid"); + static const int finding_info_related_events_uid_HASH = HashingUtils::HashString("finding_info.related_events.uid"); + static const int finding_info_related_events_product_uid_HASH = HashingUtils::HashString("finding_info.related_events.product.uid"); + static const int finding_info_related_events_title_HASH = HashingUtils::HashString("finding_info.related_events.title"); + static const int metadata_product_name_HASH = HashingUtils::HashString("metadata.product.name"); + static const int metadata_product_uid_HASH = HashingUtils::HashString("metadata.product.uid"); + static const int metadata_product_vendor_name_HASH = HashingUtils::HashString("metadata.product.vendor_name"); + static const int remediation_desc_HASH = HashingUtils::HashString("remediation.desc"); + static const int remediation_references_HASH = HashingUtils::HashString("remediation.references"); + static const int resources_cloud_partition_HASH = HashingUtils::HashString("resources.cloud_partition"); + static const int resources_region_HASH = HashingUtils::HashString("resources.region"); + static const int resources_type_HASH = HashingUtils::HashString("resources.type"); + static const int resources_uid_HASH = HashingUtils::HashString("resources.uid"); + static const int severity_HASH = HashingUtils::HashString("severity"); + static const int status_HASH = HashingUtils::HashString("status"); + static const int comment_HASH = HashingUtils::HashString("comment"); + static const int vulnerabilities_fix_coverage_HASH = HashingUtils::HashString("vulnerabilities.fix_coverage"); + static const int class_name_HASH = HashingUtils::HashString("class_name"); + + + OcsfStringField GetOcsfStringFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == metadata_uid_HASH) + { + return OcsfStringField::metadata_uid; + } + else if (hashCode == activity_name_HASH) + { + return OcsfStringField::activity_name; + } + else if (hashCode == cloud_account_uid_HASH) + { + return OcsfStringField::cloud_account_uid; + } + else if (hashCode == cloud_provider_HASH) + { + return OcsfStringField::cloud_provider; + } + else if (hashCode == cloud_region_HASH) + { + return OcsfStringField::cloud_region; + } + else if (hashCode == compliance_assessments_category_HASH) + { + return OcsfStringField::compliance_assessments_category; + } + else if (hashCode == compliance_assessments_name_HASH) + { + return OcsfStringField::compliance_assessments_name; + } + else if (hashCode == compliance_control_HASH) + { + return OcsfStringField::compliance_control; + } + else if (hashCode == compliance_status_HASH) + { + return OcsfStringField::compliance_status; + } + else if (hashCode == compliance_standards_HASH) + { + return OcsfStringField::compliance_standards; + } + else if (hashCode == finding_info_desc_HASH) + { + return OcsfStringField::finding_info_desc; + } + else if (hashCode == finding_info_src_url_HASH) + { + return OcsfStringField::finding_info_src_url; + } + else if (hashCode == finding_info_title_HASH) + { + return OcsfStringField::finding_info_title; + } + else if (hashCode == finding_info_types_HASH) + { + return OcsfStringField::finding_info_types; + } + else if (hashCode == finding_info_uid_HASH) + { + return OcsfStringField::finding_info_uid; + } + else if (hashCode == finding_info_related_events_uid_HASH) + { + return OcsfStringField::finding_info_related_events_uid; + } + else if (hashCode == finding_info_related_events_product_uid_HASH) + { + return OcsfStringField::finding_info_related_events_product_uid; + } + else if (hashCode == finding_info_related_events_title_HASH) + { + return OcsfStringField::finding_info_related_events_title; + } + else if (hashCode == metadata_product_name_HASH) + { + return OcsfStringField::metadata_product_name; + } + else if (hashCode == metadata_product_uid_HASH) + { + return OcsfStringField::metadata_product_uid; + } + else if (hashCode == metadata_product_vendor_name_HASH) + { + return OcsfStringField::metadata_product_vendor_name; + } + else if (hashCode == remediation_desc_HASH) + { + return OcsfStringField::remediation_desc; + } + else if (hashCode == remediation_references_HASH) + { + return OcsfStringField::remediation_references; + } + else if (hashCode == resources_cloud_partition_HASH) + { + return OcsfStringField::resources_cloud_partition; + } + else if (hashCode == resources_region_HASH) + { + return OcsfStringField::resources_region; + } + else if (hashCode == resources_type_HASH) + { + return OcsfStringField::resources_type; + } + else if (hashCode == resources_uid_HASH) + { + return OcsfStringField::resources_uid; + } + else if (hashCode == severity_HASH) + { + return OcsfStringField::severity; + } + else if (hashCode == status_HASH) + { + return OcsfStringField::status; + } + else if (hashCode == comment_HASH) + { + return OcsfStringField::comment; + } + else if (hashCode == vulnerabilities_fix_coverage_HASH) + { + return OcsfStringField::vulnerabilities_fix_coverage; + } + else if (hashCode == class_name_HASH) + { + return OcsfStringField::class_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfStringField::NOT_SET; + } + + Aws::String GetNameForOcsfStringField(OcsfStringField enumValue) + { + switch(enumValue) + { + case OcsfStringField::NOT_SET: + return {}; + case OcsfStringField::metadata_uid: + return "metadata.uid"; + case OcsfStringField::activity_name: + return "activity_name"; + case OcsfStringField::cloud_account_uid: + return "cloud.account.uid"; + case OcsfStringField::cloud_provider: + return "cloud.provider"; + case OcsfStringField::cloud_region: + return "cloud.region"; + case OcsfStringField::compliance_assessments_category: + return "compliance.assessments.category"; + case OcsfStringField::compliance_assessments_name: + return "compliance.assessments.name"; + case OcsfStringField::compliance_control: + return "compliance.control"; + case OcsfStringField::compliance_status: + return "compliance.status"; + case OcsfStringField::compliance_standards: + return "compliance.standards"; + case OcsfStringField::finding_info_desc: + return "finding_info.desc"; + case OcsfStringField::finding_info_src_url: + return "finding_info.src_url"; + case OcsfStringField::finding_info_title: + return "finding_info.title"; + case OcsfStringField::finding_info_types: + return "finding_info.types"; + case OcsfStringField::finding_info_uid: + return "finding_info.uid"; + case OcsfStringField::finding_info_related_events_uid: + return "finding_info.related_events.uid"; + case OcsfStringField::finding_info_related_events_product_uid: + return "finding_info.related_events.product.uid"; + case OcsfStringField::finding_info_related_events_title: + return "finding_info.related_events.title"; + case OcsfStringField::metadata_product_name: + return "metadata.product.name"; + case OcsfStringField::metadata_product_uid: + return "metadata.product.uid"; + case OcsfStringField::metadata_product_vendor_name: + return "metadata.product.vendor_name"; + case OcsfStringField::remediation_desc: + return "remediation.desc"; + case OcsfStringField::remediation_references: + return "remediation.references"; + case OcsfStringField::resources_cloud_partition: + return "resources.cloud_partition"; + case OcsfStringField::resources_region: + return "resources.region"; + case OcsfStringField::resources_type: + return "resources.type"; + case OcsfStringField::resources_uid: + return "resources.uid"; + case OcsfStringField::severity: + return "severity"; + case OcsfStringField::status: + return "status"; + case OcsfStringField::comment: + return "comment"; + case OcsfStringField::vulnerabilities_fix_coverage: + return "vulnerabilities.fix_coverage"; + case OcsfStringField::class_name: + return "class_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfStringFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp new file mode 100644 index 00000000000..fd9b8b941ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfStringFilter::OcsfStringFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfStringFilter& OcsfStringFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfStringFieldMapper::GetOcsfStringFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfStringFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfStringFieldMapper::GetNameForOcsfStringField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp new file mode 100644 index 00000000000..4126ad70843 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProductV2::ProductV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProductV2& ProductV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProductV2Name")) + { + m_productV2Name = jsonValue.GetString("ProductV2Name"); + m_productV2NameHasBeenSet = true; + } + if(jsonValue.ValueExists("CompanyName")) + { + m_companyName = jsonValue.GetString("CompanyName"); + m_companyNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsString()); + } + m_categoriesHasBeenSet = true; + } + if(jsonValue.ValueExists("IntegrationV2Types")) + { + Aws::Utils::Array integrationV2TypesJsonList = jsonValue.GetArray("IntegrationV2Types"); + for(unsigned integrationV2TypesIndex = 0; integrationV2TypesIndex < integrationV2TypesJsonList.GetLength(); ++integrationV2TypesIndex) + { + m_integrationV2Types.push_back(IntegrationV2TypeMapper::GetIntegrationV2TypeForName(integrationV2TypesJsonList[integrationV2TypesIndex].AsString())); + } + m_integrationV2TypesHasBeenSet = true; + } + if(jsonValue.ValueExists("MarketplaceUrl")) + { + m_marketplaceUrl = jsonValue.GetString("MarketplaceUrl"); + m_marketplaceUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("ActivationUrl")) + { + m_activationUrl = jsonValue.GetString("ActivationUrl"); + m_activationUrlHasBeenSet = true; + } + return *this; +} + +JsonValue ProductV2::Jsonize() const +{ + JsonValue payload; + + if(m_productV2NameHasBeenSet) + { + payload.WithString("ProductV2Name", m_productV2Name); + + } + + if(m_companyNameHasBeenSet) + { + payload.WithString("CompanyName", m_companyName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsString(m_categories[categoriesIndex]); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_integrationV2TypesHasBeenSet) + { + Aws::Utils::Array integrationV2TypesJsonList(m_integrationV2Types.size()); + for(unsigned integrationV2TypesIndex = 0; integrationV2TypesIndex < integrationV2TypesJsonList.GetLength(); ++integrationV2TypesIndex) + { + integrationV2TypesJsonList[integrationV2TypesIndex].AsString(IntegrationV2TypeMapper::GetNameForIntegrationV2Type(m_integrationV2Types[integrationV2TypesIndex])); + } + payload.WithArray("IntegrationV2Types", std::move(integrationV2TypesJsonList)); + + } + + if(m_marketplaceUrlHasBeenSet) + { + payload.WithString("MarketplaceUrl", m_marketplaceUrl); + + } + + if(m_activationUrlHasBeenSet) + { + payload.WithString("ActivationUrl", m_activationUrl); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp new file mode 100644 index 00000000000..2044c08976a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderConfiguration::ProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderConfiguration& ProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceNow")) + { + m_serviceNow = jsonValue.GetObject("ServiceNow"); + m_serviceNowHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + if(m_serviceNowHasBeenSet) + { + payload.WithObject("ServiceNow", m_serviceNow.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp new file mode 100644 index 00000000000..2a88d3005a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderDetail::ProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderDetail& ProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceNow")) + { + m_serviceNow = jsonValue.GetObject("ServiceNow"); + m_serviceNowHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + if(m_serviceNowHasBeenSet) + { + payload.WithObject("ServiceNow", m_serviceNow.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp new file mode 100644 index 00000000000..6f1ea420c2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderSummary::ProviderSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderSummary& ProviderSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProviderName")) + { + m_providerName = ConnectorProviderNameMapper::GetConnectorProviderNameForName(jsonValue.GetString("ProviderName")); + m_providerNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorStatus")) + { + m_connectorStatus = ConnectorStatusMapper::GetConnectorStatusForName(jsonValue.GetString("ConnectorStatus")); + m_connectorStatusHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderSummary::Jsonize() const +{ + JsonValue payload; + + if(m_providerNameHasBeenSet) + { + payload.WithString("ProviderName", ConnectorProviderNameMapper::GetNameForConnectorProviderName(m_providerName)); + } + + if(m_connectorStatusHasBeenSet) + { + payload.WithString("ConnectorStatus", ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp new file mode 100644 index 00000000000..ba36c61f619 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderUpdateConfiguration::ProviderUpdateConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderUpdateConfiguration& ProviderUpdateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderUpdateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp new file mode 100644 index 00000000000..43258e24678 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourceCategoryMapper + { + + static const int Compute_HASH = HashingUtils::HashString("Compute"); + static const int Database_HASH = HashingUtils::HashString("Database"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + static const int Code_HASH = HashingUtils::HashString("Code"); + static const int AI_ML_HASH = HashingUtils::HashString("AI/ML"); + static const int Identity_HASH = HashingUtils::HashString("Identity"); + static const int Network_HASH = HashingUtils::HashString("Network"); + static const int Other_HASH = HashingUtils::HashString("Other"); + + + ResourceCategory GetResourceCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Compute_HASH) + { + return ResourceCategory::Compute; + } + else if (hashCode == Database_HASH) + { + return ResourceCategory::Database; + } + else if (hashCode == Storage_HASH) + { + return ResourceCategory::Storage; + } + else if (hashCode == Code_HASH) + { + return ResourceCategory::Code; + } + else if (hashCode == AI_ML_HASH) + { + return ResourceCategory::AI_ML; + } + else if (hashCode == Identity_HASH) + { + return ResourceCategory::Identity; + } + else if (hashCode == Network_HASH) + { + return ResourceCategory::Network; + } + else if (hashCode == Other_HASH) + { + return ResourceCategory::Other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceCategory::NOT_SET; + } + + Aws::String GetNameForResourceCategory(ResourceCategory enumValue) + { + switch(enumValue) + { + case ResourceCategory::NOT_SET: + return {}; + case ResourceCategory::Compute: + return "Compute"; + case ResourceCategory::Database: + return "Database"; + case ResourceCategory::Storage: + return "Storage"; + case ResourceCategory::Code: + return "Code"; + case ResourceCategory::AI_ML: + return "AI/ML"; + case ResourceCategory::Identity: + return "Identity"; + case ResourceCategory::Network: + return "Network"; + case ResourceCategory::Other: + return "Other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceCategoryMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp new file mode 100644 index 00000000000..3e3cf3ec48f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceFindingsSummary::ResourceFindingsSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceFindingsSummary& ResourceFindingsSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingType")) + { + m_findingType = jsonValue.GetString("FindingType"); + m_findingTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ProductName")) + { + m_productName = jsonValue.GetString("ProductName"); + m_productNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalFindings")) + { + m_totalFindings = jsonValue.GetInteger("TotalFindings"); + m_totalFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("Severities")) + { + m_severities = jsonValue.GetObject("Severities"); + m_severitiesHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceFindingsSummary::Jsonize() const +{ + JsonValue payload; + + if(m_findingTypeHasBeenSet) + { + payload.WithString("FindingType", m_findingType); + + } + + if(m_productNameHasBeenSet) + { + payload.WithString("ProductName", m_productName); + + } + + if(m_totalFindingsHasBeenSet) + { + payload.WithInteger("TotalFindings", m_totalFindings); + + } + + if(m_severitiesHasBeenSet) + { + payload.WithObject("Severities", m_severities.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp new file mode 100644 index 00000000000..cafb2ccedd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourceGroupByFieldMapper + { + + static const int account_id_HASH = HashingUtils::HashString("account_id"); + static const int region_HASH = HashingUtils::HashString("region"); + static const int resource_category_HASH = HashingUtils::HashString("resource_category"); + static const int resource_type_HASH = HashingUtils::HashString("resource_type"); + static const int resource_name_HASH = HashingUtils::HashString("resource_name"); + static const int findings_summary_finding_type_HASH = HashingUtils::HashString("findings_summary.finding_type"); + + + ResourceGroupByField GetResourceGroupByFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == account_id_HASH) + { + return ResourceGroupByField::account_id; + } + else if (hashCode == region_HASH) + { + return ResourceGroupByField::region; + } + else if (hashCode == resource_category_HASH) + { + return ResourceGroupByField::resource_category; + } + else if (hashCode == resource_type_HASH) + { + return ResourceGroupByField::resource_type; + } + else if (hashCode == resource_name_HASH) + { + return ResourceGroupByField::resource_name; + } + else if (hashCode == findings_summary_finding_type_HASH) + { + return ResourceGroupByField::findings_summary_finding_type; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceGroupByField::NOT_SET; + } + + Aws::String GetNameForResourceGroupByField(ResourceGroupByField enumValue) + { + switch(enumValue) + { + case ResourceGroupByField::NOT_SET: + return {}; + case ResourceGroupByField::account_id: + return "account_id"; + case ResourceGroupByField::region: + return "region"; + case ResourceGroupByField::resource_category: + return "resource_category"; + case ResourceGroupByField::resource_type: + return "resource_type"; + case ResourceGroupByField::resource_name: + return "resource_name"; + case ResourceGroupByField::findings_summary_finding_type: + return "findings_summary.finding_type"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceGroupByFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp new file mode 100644 index 00000000000..a77e5bc598f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceGroupByRule::ResourceGroupByRule(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceGroupByRule& ResourceGroupByRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = ResourceGroupByFieldMapper::GetResourceGroupByFieldForName(jsonValue.GetString("GroupByField")); + m_groupByFieldHasBeenSet = true; + } + if(jsonValue.ValueExists("Filters")) + { + m_filters = jsonValue.GetObject("Filters"); + m_filtersHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceGroupByRule::Jsonize() const +{ + JsonValue payload; + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", ResourceGroupByFieldMapper::GetNameForResourceGroupByField(m_groupByField)); + } + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp new file mode 100644 index 00000000000..9c460d202e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp @@ -0,0 +1,191 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceResult::ResourceResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceResult& ResourceResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceArn")) + { + m_resourceArn = jsonValue.GetString("ResourceArn"); + m_resourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AccountId")) + { + m_accountId = jsonValue.GetString("AccountId"); + m_accountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + m_regionHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceCategory")) + { + m_resourceCategory = ResourceCategoryMapper::GetResourceCategoryForName(jsonValue.GetString("ResourceCategory")); + m_resourceCategoryHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + m_resourceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceCreationTimeDt")) + { + m_resourceCreationTimeDt = jsonValue.GetString("ResourceCreationTimeDt"); + m_resourceCreationTimeDtHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceDetailCaptureTimeDt")) + { + m_resourceDetailCaptureTimeDt = jsonValue.GetString("ResourceDetailCaptureTimeDt"); + m_resourceDetailCaptureTimeDtHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingsSummary")) + { + Aws::Utils::Array findingsSummaryJsonList = jsonValue.GetArray("FindingsSummary"); + for(unsigned findingsSummaryIndex = 0; findingsSummaryIndex < findingsSummaryJsonList.GetLength(); ++findingsSummaryIndex) + { + m_findingsSummary.push_back(findingsSummaryJsonList[findingsSummaryIndex].AsObject()); + } + m_findingsSummaryHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceTags")) + { + Aws::Utils::Array resourceTagsJsonList = jsonValue.GetArray("ResourceTags"); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + m_resourceTags.push_back(resourceTagsJsonList[resourceTagsIndex].AsObject()); + } + m_resourceTagsHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceConfig")) + { + m_resourceConfig = jsonValue.GetObject("ResourceConfig"); + m_resourceConfigHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceResult::Jsonize() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_accountIdHasBeenSet) + { + payload.WithString("AccountId", m_accountId); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_resourceCategoryHasBeenSet) + { + payload.WithString("ResourceCategory", ResourceCategoryMapper::GetNameForResourceCategory(m_resourceCategory)); + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_resourceCreationTimeDtHasBeenSet) + { + payload.WithString("ResourceCreationTimeDt", m_resourceCreationTimeDt); + + } + + if(m_resourceDetailCaptureTimeDtHasBeenSet) + { + payload.WithString("ResourceDetailCaptureTimeDt", m_resourceDetailCaptureTimeDt); + + } + + if(m_findingsSummaryHasBeenSet) + { + Aws::Utils::Array findingsSummaryJsonList(m_findingsSummary.size()); + for(unsigned findingsSummaryIndex = 0; findingsSummaryIndex < findingsSummaryJsonList.GetLength(); ++findingsSummaryIndex) + { + findingsSummaryJsonList[findingsSummaryIndex].AsObject(m_findingsSummary[findingsSummaryIndex].Jsonize()); + } + payload.WithArray("FindingsSummary", std::move(findingsSummaryJsonList)); + + } + + if(m_resourceTagsHasBeenSet) + { + Aws::Utils::Array resourceTagsJsonList(m_resourceTags.size()); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + resourceTagsJsonList[resourceTagsIndex].AsObject(m_resourceTags[resourceTagsIndex].Jsonize()); + } + payload.WithArray("ResourceTags", std::move(resourceTagsJsonList)); + + } + + if(m_resourceConfigHasBeenSet) + { + if(!m_resourceConfig.View().IsNull()) + { + payload.WithObject("ResourceConfig", JsonValue(m_resourceConfig.View())); + } + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp new file mode 100644 index 00000000000..9d7134ff33e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceSeverityBreakdown::ResourceSeverityBreakdown(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceSeverityBreakdown& ResourceSeverityBreakdown::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Other")) + { + m_other = jsonValue.GetInteger("Other"); + m_otherHasBeenSet = true; + } + if(jsonValue.ValueExists("Fatal")) + { + m_fatal = jsonValue.GetInteger("Fatal"); + m_fatalHasBeenSet = true; + } + if(jsonValue.ValueExists("Critical")) + { + m_critical = jsonValue.GetInteger("Critical"); + m_criticalHasBeenSet = true; + } + if(jsonValue.ValueExists("High")) + { + m_high = jsonValue.GetInteger("High"); + m_highHasBeenSet = true; + } + if(jsonValue.ValueExists("Medium")) + { + m_medium = jsonValue.GetInteger("Medium"); + m_mediumHasBeenSet = true; + } + if(jsonValue.ValueExists("Low")) + { + m_low = jsonValue.GetInteger("Low"); + m_lowHasBeenSet = true; + } + if(jsonValue.ValueExists("Informational")) + { + m_informational = jsonValue.GetInteger("Informational"); + m_informationalHasBeenSet = true; + } + if(jsonValue.ValueExists("Unknown")) + { + m_unknown = jsonValue.GetInteger("Unknown"); + m_unknownHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceSeverityBreakdown::Jsonize() const +{ + JsonValue payload; + + if(m_otherHasBeenSet) + { + payload.WithInteger("Other", m_other); + + } + + if(m_fatalHasBeenSet) + { + payload.WithInteger("Fatal", m_fatal); + + } + + if(m_criticalHasBeenSet) + { + payload.WithInteger("Critical", m_critical); + + } + + if(m_highHasBeenSet) + { + payload.WithInteger("High", m_high); + + } + + if(m_mediumHasBeenSet) + { + payload.WithInteger("Medium", m_medium); + + } + + if(m_lowHasBeenSet) + { + payload.WithInteger("Low", m_low); + + } + + if(m_informationalHasBeenSet) + { + payload.WithInteger("Informational", m_informational); + + } + + if(m_unknownHasBeenSet) + { + payload.WithInteger("Unknown", m_unknown); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp new file mode 100644 index 00000000000..93301f466d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceTag::ResourceTag(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceTag& ResourceTag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceTag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp new file mode 100644 index 00000000000..9a3e7de0d3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesCompositeFilter::ResourcesCompositeFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesCompositeFilter& ResourcesCompositeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StringFilters")) + { + Aws::Utils::Array stringFiltersJsonList = jsonValue.GetArray("StringFilters"); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + m_stringFilters.push_back(stringFiltersJsonList[stringFiltersIndex].AsObject()); + } + m_stringFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("DateFilters")) + { + Aws::Utils::Array dateFiltersJsonList = jsonValue.GetArray("DateFilters"); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + m_dateFilters.push_back(dateFiltersJsonList[dateFiltersIndex].AsObject()); + } + m_dateFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberFilters")) + { + Aws::Utils::Array numberFiltersJsonList = jsonValue.GetArray("NumberFilters"); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + m_numberFilters.push_back(numberFiltersJsonList[numberFiltersIndex].AsObject()); + } + m_numberFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("MapFilters")) + { + Aws::Utils::Array mapFiltersJsonList = jsonValue.GetArray("MapFilters"); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + m_mapFilters.push_back(mapFiltersJsonList[mapFiltersIndex].AsObject()); + } + m_mapFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("Operator")) + { + m_operator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("Operator")); + m_operatorHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesCompositeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_stringFiltersHasBeenSet) + { + Aws::Utils::Array stringFiltersJsonList(m_stringFilters.size()); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + stringFiltersJsonList[stringFiltersIndex].AsObject(m_stringFilters[stringFiltersIndex].Jsonize()); + } + payload.WithArray("StringFilters", std::move(stringFiltersJsonList)); + + } + + if(m_dateFiltersHasBeenSet) + { + Aws::Utils::Array dateFiltersJsonList(m_dateFilters.size()); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + dateFiltersJsonList[dateFiltersIndex].AsObject(m_dateFilters[dateFiltersIndex].Jsonize()); + } + payload.WithArray("DateFilters", std::move(dateFiltersJsonList)); + + } + + if(m_numberFiltersHasBeenSet) + { + Aws::Utils::Array numberFiltersJsonList(m_numberFilters.size()); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + numberFiltersJsonList[numberFiltersIndex].AsObject(m_numberFilters[numberFiltersIndex].Jsonize()); + } + payload.WithArray("NumberFilters", std::move(numberFiltersJsonList)); + + } + + if(m_mapFiltersHasBeenSet) + { + Aws::Utils::Array mapFiltersJsonList(m_mapFilters.size()); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + mapFiltersJsonList[mapFiltersIndex].AsObject(m_mapFilters[mapFiltersIndex].Jsonize()); + } + payload.WithArray("MapFilters", std::move(mapFiltersJsonList)); + + } + + if(m_operatorHasBeenSet) + { + payload.WithString("Operator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_operator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp new file mode 100644 index 00000000000..ca0c020f74c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesDateFieldMapper + { + + static const int resource_detail_capture_time_dt_HASH = HashingUtils::HashString("resource_detail_capture_time_dt"); + static const int resource_creation_time_dt_HASH = HashingUtils::HashString("resource_creation_time_dt"); + + + ResourcesDateField GetResourcesDateFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resource_detail_capture_time_dt_HASH) + { + return ResourcesDateField::resource_detail_capture_time_dt; + } + else if (hashCode == resource_creation_time_dt_HASH) + { + return ResourcesDateField::resource_creation_time_dt; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesDateField::NOT_SET; + } + + Aws::String GetNameForResourcesDateField(ResourcesDateField enumValue) + { + switch(enumValue) + { + case ResourcesDateField::NOT_SET: + return {}; + case ResourcesDateField::resource_detail_capture_time_dt: + return "resource_detail_capture_time_dt"; + case ResourcesDateField::resource_creation_time_dt: + return "resource_creation_time_dt"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesDateFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp new file mode 100644 index 00000000000..a18b14a4d3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesDateFilter::ResourcesDateFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesDateFilter& ResourcesDateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesDateFieldMapper::GetResourcesDateFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesDateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesDateFieldMapper::GetNameForResourcesDateField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp new file mode 100644 index 00000000000..8a1e583563b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesFilters::ResourcesFilters(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesFilters& ResourcesFilters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CompositeFilters")) + { + Aws::Utils::Array compositeFiltersJsonList = jsonValue.GetArray("CompositeFilters"); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + m_compositeFilters.push_back(compositeFiltersJsonList[compositeFiltersIndex].AsObject()); + } + m_compositeFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("CompositeOperator")) + { + m_compositeOperator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("CompositeOperator")); + m_compositeOperatorHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesFilters::Jsonize() const +{ + JsonValue payload; + + if(m_compositeFiltersHasBeenSet) + { + Aws::Utils::Array compositeFiltersJsonList(m_compositeFilters.size()); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + compositeFiltersJsonList[compositeFiltersIndex].AsObject(m_compositeFilters[compositeFiltersIndex].Jsonize()); + } + payload.WithArray("CompositeFilters", std::move(compositeFiltersJsonList)); + + } + + if(m_compositeOperatorHasBeenSet) + { + payload.WithString("CompositeOperator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_compositeOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp new file mode 100644 index 00000000000..8129fa10f38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesMapFieldMapper + { + + static const int tags_HASH = HashingUtils::HashString("tags"); + + + ResourcesMapField GetResourcesMapFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == tags_HASH) + { + return ResourcesMapField::tags; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesMapField::NOT_SET; + } + + Aws::String GetNameForResourcesMapField(ResourcesMapField enumValue) + { + switch(enumValue) + { + case ResourcesMapField::NOT_SET: + return {}; + case ResourcesMapField::tags: + return "tags"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesMapFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp new file mode 100644 index 00000000000..4511fde2161 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesMapFilter::ResourcesMapFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesMapFilter& ResourcesMapFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesMapFieldMapper::GetResourcesMapFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesMapFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesMapFieldMapper::GetNameForResourcesMapField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp new file mode 100644 index 00000000000..36bd73430aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesNumberFieldMapper + { + + static const int findings_summary_total_findings_HASH = HashingUtils::HashString("findings_summary.total_findings"); + static const int findings_summary_severities_other_HASH = HashingUtils::HashString("findings_summary.severities.other"); + static const int findings_summary_severities_fatal_HASH = HashingUtils::HashString("findings_summary.severities.fatal"); + static const int findings_summary_severities_critical_HASH = HashingUtils::HashString("findings_summary.severities.critical"); + static const int findings_summary_severities_high_HASH = HashingUtils::HashString("findings_summary.severities.high"); + static const int findings_summary_severities_medium_HASH = HashingUtils::HashString("findings_summary.severities.medium"); + static const int findings_summary_severities_low_HASH = HashingUtils::HashString("findings_summary.severities.low"); + static const int findings_summary_severities_informational_HASH = HashingUtils::HashString("findings_summary.severities.informational"); + static const int findings_summary_severities_unknown_HASH = HashingUtils::HashString("findings_summary.severities.unknown"); + + + ResourcesNumberField GetResourcesNumberFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == findings_summary_total_findings_HASH) + { + return ResourcesNumberField::findings_summary_total_findings; + } + else if (hashCode == findings_summary_severities_other_HASH) + { + return ResourcesNumberField::findings_summary_severities_other; + } + else if (hashCode == findings_summary_severities_fatal_HASH) + { + return ResourcesNumberField::findings_summary_severities_fatal; + } + else if (hashCode == findings_summary_severities_critical_HASH) + { + return ResourcesNumberField::findings_summary_severities_critical; + } + else if (hashCode == findings_summary_severities_high_HASH) + { + return ResourcesNumberField::findings_summary_severities_high; + } + else if (hashCode == findings_summary_severities_medium_HASH) + { + return ResourcesNumberField::findings_summary_severities_medium; + } + else if (hashCode == findings_summary_severities_low_HASH) + { + return ResourcesNumberField::findings_summary_severities_low; + } + else if (hashCode == findings_summary_severities_informational_HASH) + { + return ResourcesNumberField::findings_summary_severities_informational; + } + else if (hashCode == findings_summary_severities_unknown_HASH) + { + return ResourcesNumberField::findings_summary_severities_unknown; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesNumberField::NOT_SET; + } + + Aws::String GetNameForResourcesNumberField(ResourcesNumberField enumValue) + { + switch(enumValue) + { + case ResourcesNumberField::NOT_SET: + return {}; + case ResourcesNumberField::findings_summary_total_findings: + return "findings_summary.total_findings"; + case ResourcesNumberField::findings_summary_severities_other: + return "findings_summary.severities.other"; + case ResourcesNumberField::findings_summary_severities_fatal: + return "findings_summary.severities.fatal"; + case ResourcesNumberField::findings_summary_severities_critical: + return "findings_summary.severities.critical"; + case ResourcesNumberField::findings_summary_severities_high: + return "findings_summary.severities.high"; + case ResourcesNumberField::findings_summary_severities_medium: + return "findings_summary.severities.medium"; + case ResourcesNumberField::findings_summary_severities_low: + return "findings_summary.severities.low"; + case ResourcesNumberField::findings_summary_severities_informational: + return "findings_summary.severities.informational"; + case ResourcesNumberField::findings_summary_severities_unknown: + return "findings_summary.severities.unknown"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesNumberFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp new file mode 100644 index 00000000000..500a459a9ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesNumberFilter::ResourcesNumberFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesNumberFilter& ResourcesNumberFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesNumberFieldMapper::GetResourcesNumberFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesNumberFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesNumberFieldMapper::GetNameForResourcesNumberField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp new file mode 100644 index 00000000000..ca5bd9554fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesStringFieldMapper + { + + static const int resource_arn_HASH = HashingUtils::HashString("resource_arn"); + static const int resource_id_HASH = HashingUtils::HashString("resource_id"); + static const int account_id_HASH = HashingUtils::HashString("account_id"); + static const int region_HASH = HashingUtils::HashString("region"); + static const int resource_category_HASH = HashingUtils::HashString("resource_category"); + static const int resource_type_HASH = HashingUtils::HashString("resource_type"); + static const int resource_name_HASH = HashingUtils::HashString("resource_name"); + static const int findings_summary_finding_type_HASH = HashingUtils::HashString("findings_summary.finding_type"); + static const int findings_summary_product_name_HASH = HashingUtils::HashString("findings_summary.product_name"); + + + ResourcesStringField GetResourcesStringFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resource_arn_HASH) + { + return ResourcesStringField::resource_arn; + } + else if (hashCode == resource_id_HASH) + { + return ResourcesStringField::resource_id; + } + else if (hashCode == account_id_HASH) + { + return ResourcesStringField::account_id; + } + else if (hashCode == region_HASH) + { + return ResourcesStringField::region; + } + else if (hashCode == resource_category_HASH) + { + return ResourcesStringField::resource_category; + } + else if (hashCode == resource_type_HASH) + { + return ResourcesStringField::resource_type; + } + else if (hashCode == resource_name_HASH) + { + return ResourcesStringField::resource_name; + } + else if (hashCode == findings_summary_finding_type_HASH) + { + return ResourcesStringField::findings_summary_finding_type; + } + else if (hashCode == findings_summary_product_name_HASH) + { + return ResourcesStringField::findings_summary_product_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesStringField::NOT_SET; + } + + Aws::String GetNameForResourcesStringField(ResourcesStringField enumValue) + { + switch(enumValue) + { + case ResourcesStringField::NOT_SET: + return {}; + case ResourcesStringField::resource_arn: + return "resource_arn"; + case ResourcesStringField::resource_id: + return "resource_id"; + case ResourcesStringField::account_id: + return "account_id"; + case ResourcesStringField::region: + return "region"; + case ResourcesStringField::resource_category: + return "resource_category"; + case ResourcesStringField::resource_type: + return "resource_type"; + case ResourcesStringField::resource_name: + return "resource_name"; + case ResourcesStringField::findings_summary_finding_type: + return "findings_summary.finding_type"; + case ResourcesStringField::findings_summary_product_name: + return "findings_summary.product_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesStringFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp new file mode 100644 index 00000000000..93828a2b77d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesStringFilter::ResourcesStringFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesStringFilter& ResourcesStringFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesStringFieldMapper::GetResourcesStringFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesStringFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesStringFieldMapper::GetNameForResourcesStringField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp new file mode 100644 index 00000000000..3c694bfbf94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace RuleStatusV2Mapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + RuleStatusV2 GetRuleStatusV2ForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return RuleStatusV2::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return RuleStatusV2::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RuleStatusV2::NOT_SET; + } + + Aws::String GetNameForRuleStatusV2(RuleStatusV2 enumValue) + { + switch(enumValue) + { + case RuleStatusV2::NOT_SET: + return {}; + case RuleStatusV2::ENABLED: + return "ENABLED"; + case RuleStatusV2::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RuleStatusV2Mapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp new file mode 100644 index 00000000000..c33bdf06d5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace SecurityHubFeatureMapper + { + + static const int SecurityHub_HASH = HashingUtils::HashString("SecurityHub"); + static const int SecurityHubV2_HASH = HashingUtils::HashString("SecurityHubV2"); + + + SecurityHubFeature GetSecurityHubFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SecurityHub_HASH) + { + return SecurityHubFeature::SecurityHub; + } + else if (hashCode == SecurityHubV2_HASH) + { + return SecurityHubFeature::SecurityHubV2; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SecurityHubFeature::NOT_SET; + } + + Aws::String GetNameForSecurityHubFeature(SecurityHubFeature enumValue) + { + switch(enumValue) + { + case SecurityHubFeature::NOT_SET: + return {}; + case SecurityHubFeature::SecurityHub: + return "SecurityHub"; + case SecurityHubFeature::SecurityHubV2: + return "SecurityHubV2"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SecurityHubFeatureMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp new file mode 100644 index 00000000000..6341b7d1aa4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ServiceNowDetail::ServiceNowDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceNowDetail& ServiceNowDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceName")) + { + m_instanceName = jsonValue.GetString("InstanceName"); + m_instanceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientId")) + { + m_clientId = jsonValue.GetString("ClientId"); + m_clientIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthStatus")) + { + m_authStatus = ConnectorAuthStatusMapper::GetConnectorAuthStatusForName(jsonValue.GetString("AuthStatus")); + m_authStatusHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceNowDetail::Jsonize() const +{ + JsonValue payload; + + if(m_instanceNameHasBeenSet) + { + payload.WithString("InstanceName", m_instanceName); + + } + + if(m_clientIdHasBeenSet) + { + payload.WithString("ClientId", m_clientId); + + } + + if(m_authStatusHasBeenSet) + { + payload.WithString("AuthStatus", ConnectorAuthStatusMapper::GetNameForConnectorAuthStatus(m_authStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp new file mode 100644 index 00000000000..a15f25c00da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ServiceNowProviderConfiguration::ServiceNowProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceNowProviderConfiguration& ServiceNowProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceName")) + { + m_instanceName = jsonValue.GetString("InstanceName"); + m_instanceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientId")) + { + m_clientId = jsonValue.GetString("ClientId"); + m_clientIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientSecret")) + { + m_clientSecret = jsonValue.GetString("ClientSecret"); + m_clientSecretHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceNowProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_instanceNameHasBeenSet) + { + payload.WithString("InstanceName", m_instanceName); + + } + + if(m_clientIdHasBeenSet) + { + payload.WithString("ClientId", m_clientId); + + } + + if(m_clientSecretHasBeenSet) + { + payload.WithString("ClientSecret", m_clientSecret); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp index c47d360798b..e0a867162f9 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp @@ -26,6 +26,7 @@ namespace Aws static const int PREFIX_NOT_EQUALS_HASH = HashingUtils::HashString("PREFIX_NOT_EQUALS"); static const int CONTAINS_HASH = HashingUtils::HashString("CONTAINS"); static const int NOT_CONTAINS_HASH = HashingUtils::HashString("NOT_CONTAINS"); + static const int CONTAINS_WORD_HASH = HashingUtils::HashString("CONTAINS_WORD"); StringFilterComparison GetStringFilterComparisonForName(const Aws::String& name) @@ -55,6 +56,10 @@ namespace Aws { return StringFilterComparison::NOT_CONTAINS; } + else if (hashCode == CONTAINS_WORD_HASH) + { + return StringFilterComparison::CONTAINS_WORD; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +88,8 @@ namespace Aws return "CONTAINS"; case StringFilterComparison::NOT_CONTAINS: return "NOT_CONTAINS"; + case StringFilterComparison::CONTAINS_WORD: + return "CONTAINS_WORD"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..f8ba0c67b63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ThrottlingException::ThrottlingException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.cpp new file mode 100644 index 00000000000..395fb38c326 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateAggregatorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_regionLinkingModeHasBeenSet) + { + payload.WithString("RegionLinkingMode", m_regionLinkingMode); + + } + + if(m_linkedRegionsHasBeenSet) + { + Aws::Utils::Array linkedRegionsJsonList(m_linkedRegions.size()); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + linkedRegionsJsonList[linkedRegionsIndex].AsString(m_linkedRegions[linkedRegionsIndex]); + } + payload.WithArray("LinkedRegions", std::move(linkedRegionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.cpp new file mode 100644 index 00000000000..8c54790b63f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAggregatorV2Result::UpdateAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAggregatorV2Result& UpdateAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..a868148ac21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateAutomationRuleV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_criteriaHasBeenSet) + { + payload.WithObject("Criteria", m_criteria.Jsonize()); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..d51b1f6f5c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAutomationRuleV2Result::UpdateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAutomationRuleV2Result& UpdateAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp new file mode 100644 index 00000000000..97ce903ae71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateConnectorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_clientSecretHasBeenSet) + { + payload.WithString("ClientSecret", m_clientSecret); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerHasBeenSet) + { + payload.WithObject("Provider", m_provider.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp new file mode 100644 index 00000000000..f4e737c8f71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateConnectorV2Result::UpdateConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateConnectorV2Result& UpdateConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp new file mode 100644 index 00000000000..e8c508a16e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ValidationException::ValidationException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationAttribute.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationAttribute.h new file mode 100644 index 00000000000..00b8c2cfac6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationAttribute.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WAFV2 +{ +namespace Model +{ + + /** + *

    Application details defined during the web ACL creation process. Application + * attributes help WAF give recommendations for protection packs.

    See + * Also:

    AWS + * API Reference

    + */ + class ApplicationAttribute + { + public: + AWS_WAFV2_API ApplicationAttribute() = default; + AWS_WAFV2_API ApplicationAttribute(Aws::Utils::Json::JsonView jsonValue); + AWS_WAFV2_API ApplicationAttribute& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Specifies the attribute name.

    + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ApplicationAttribute& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the attribute value.

    + */ + inline const Aws::Vector& GetValues() const { return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + template> + void SetValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values = std::forward(value); } + template> + ApplicationAttribute& WithValues(ValuesT&& value) { SetValues(std::forward(value)); return *this;} + template + ApplicationAttribute& AddValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h new file mode 100644 index 00000000000..1a54c04f05a --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WAFV2 +{ +namespace Model +{ + + /** + *

    A list of ApplicationAttributes that contains information about + * the application.

    See Also:

    AWS + * API Reference

    + */ + class ApplicationConfig + { + public: + AWS_WAFV2_API ApplicationConfig() = default; + AWS_WAFV2_API ApplicationConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_WAFV2_API ApplicationConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Contains the attribute name and a list of values for that attribute.

    + */ + inline const Aws::Vector& GetAttributes() const { return m_attributes; } + inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } + template> + void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward(value); } + template> + ApplicationConfig& WithAttributes(AttributesT&& value) { SetAttributes(std::forward(value)); return *this;} + template + ApplicationConfig& AddAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_attributes; + bool m_attributesHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h index 9cd42ad71bf..b585fc8aead 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -275,6 +276,20 @@ namespace Model template CreateWebACLRequest& WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { SetOnSourceDDoSProtectionConfig(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    Configures the ability for the WAF console to store and retrieve application + * attributes during the web ACL creation process. Application attributes help WAF + * give recommendations for protection packs.

    + */ + inline const ApplicationConfig& GetApplicationConfig() const { return m_applicationConfig; } + inline bool ApplicationConfigHasBeenSet() const { return m_applicationConfigHasBeenSet; } + template + void SetApplicationConfig(ApplicationConfigT&& value) { m_applicationConfigHasBeenSet = true; m_applicationConfig = std::forward(value); } + template + CreateWebACLRequest& WithApplicationConfig(ApplicationConfigT&& value) { SetApplicationConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -318,6 +333,9 @@ namespace Model OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig; bool m_onSourceDDoSProtectionConfigHasBeenSet = false; + + ApplicationConfig m_applicationConfig; + bool m_applicationConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h index ff102a494ea..75fd15997b3 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -390,6 +391,18 @@ namespace Model template WebACL& WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { SetOnSourceDDoSProtectionConfig(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    Returns a list of ApplicationAttributes.

    + */ + inline const ApplicationConfig& GetApplicationConfig() const { return m_applicationConfig; } + inline bool ApplicationConfigHasBeenSet() const { return m_applicationConfigHasBeenSet; } + template + void SetApplicationConfig(ApplicationConfigT&& value) { m_applicationConfigHasBeenSet = true; m_applicationConfig = std::forward(value); } + template + WebACL& WithApplicationConfig(ApplicationConfigT&& value) { SetApplicationConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -451,6 +464,9 @@ namespace Model OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig; bool m_onSourceDDoSProtectionConfigHasBeenSet = false; + + ApplicationConfig m_applicationConfig; + bool m_applicationConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp new file mode 100644 index 00000000000..c6ce581aaab --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +ApplicationAttribute::ApplicationAttribute(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApplicationAttribute& ApplicationAttribute::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("Values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + return *this; +} + +JsonValue ApplicationAttribute::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("Values", std::move(valuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp new file mode 100644 index 00000000000..4ba0e977ebd --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +ApplicationConfig::ApplicationConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApplicationConfig& ApplicationConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Attributes")) + { + Aws::Utils::Array attributesJsonList = jsonValue.GetArray("Attributes"); + for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex) + { + m_attributes.push_back(attributesJsonList[attributesIndex].AsObject()); + } + m_attributesHasBeenSet = true; + } + return *this; +} + +JsonValue ApplicationConfig::Jsonize() const +{ + JsonValue payload; + + if(m_attributesHasBeenSet) + { + Aws::Utils::Array attributesJsonList(m_attributes.size()); + for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex) + { + attributesJsonList[attributesIndex].AsObject(m_attributes[attributesIndex].Jsonize()); + } + payload.WithArray("Attributes", std::move(attributesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp index 7a7bc353c51..c41187d4067 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp @@ -119,6 +119,12 @@ Aws::String CreateWebACLRequest::SerializePayload() const } + if(m_applicationConfigHasBeenSet) + { + payload.WithObject("ApplicationConfig", m_applicationConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp index 0f2dbc003d8..a47c319e272 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp @@ -145,6 +145,11 @@ WebACL& WebACL::operator =(JsonView jsonValue) m_onSourceDDoSProtectionConfig = jsonValue.GetObject("OnSourceDDoSProtectionConfig"); m_onSourceDDoSProtectionConfigHasBeenSet = true; } + if(jsonValue.ValueExists("ApplicationConfig")) + { + m_applicationConfig = jsonValue.GetObject("ApplicationConfig"); + m_applicationConfigHasBeenSet = true; + } return *this; } @@ -297,6 +302,12 @@ JsonValue WebACL::Jsonize() const } + if(m_applicationConfigHasBeenSet) + { + payload.WithObject("ApplicationConfig", m_applicationConfig.Jsonize()); + + } + return payload; } diff --git a/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp b/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp index f17b5258bdd..5c7dc5c55ec 100644 --- a/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp +++ b/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp @@ -101,6 +101,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -138,6 +145,7 @@ #include #include #include +#include #include #include #include @@ -159,6 +167,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/acm-gen-tests/ACMIncludeTests.cpp b/generated/tests/acm-gen-tests/ACMIncludeTests.cpp index adc7a8c957c..d176ef1019c 100644 --- a/generated/tests/acm-gen-tests/ACMIncludeTests.cpp +++ b/generated/tests/acm-gen-tests/ACMIncludeTests.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -61,6 +62,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/backup-gen-tests/BackupIncludeTests.cpp b/generated/tests/backup-gen-tests/BackupIncludeTests.cpp index 47f5889c710..ad7c3fbaacb 100644 --- a/generated/tests/backup-gen-tests/BackupIncludeTests.cpp +++ b/generated/tests/backup-gen-tests/BackupIncludeTests.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,8 @@ #include #include #include +#include +#include #include #include #include @@ -100,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -142,6 +146,8 @@ #include #include #include +#include +#include #include #include #include @@ -184,6 +190,8 @@ #include #include #include +#include +#include #include #include #include @@ -197,6 +205,8 @@ #include #include #include +#include +#include #include #include #include @@ -215,6 +225,7 @@ #include #include #include +#include #include #include #include @@ -233,6 +244,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp b/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp index 3a09a046d18..85c79fd0171 100644 --- a/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp +++ b/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -46,9 +47,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -140,6 +143,7 @@ #include #include #include +#include #include #include #include @@ -218,9 +222,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include diff --git a/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp b/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp index fc4d60fc843..87bd00cbe25 100644 --- a/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp +++ b/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp @@ -28,8 +28,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -41,6 +43,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -103,12 +109,28 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include #include +#include +#include #include #include #include @@ -122,10 +144,16 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -142,6 +170,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -151,6 +183,7 @@ #include #include #include +#include #include #include #include @@ -187,6 +220,7 @@ #include #include #include +#include #include #include #include @@ -213,6 +247,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -232,6 +272,8 @@ #include #include #include +#include +#include #include #include #include @@ -255,6 +297,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -292,9 +340,15 @@ #include #include #include +#include +#include #include #include #include +#include +#include +#include +#include #include #include #include @@ -317,6 +371,7 @@ #include #include #include +#include #include #include #include @@ -325,6 +380,7 @@ #include #include #include +#include #include #include #include @@ -342,6 +398,8 @@ #include #include #include +#include +#include #include #include #include @@ -353,6 +411,7 @@ #include #include #include +#include #include #include #include @@ -368,6 +427,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -376,6 +439,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/generated/tests/mpa-gen-tests/CMakeLists.txt b/generated/tests/mpa-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..631a7368cb9 --- /dev/null +++ b/generated/tests/mpa-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(mpa-gen-tests + "Tests for the AWS MPA C++ SDK" + testing-resources + aws-cpp-sdk-mpa + aws-cpp-sdk-core) + +file(GLOB AWS_MPA_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_MPA_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_MPA_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp b/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp new file mode 100644 index 00000000000..b1aa6281794 --- /dev/null +++ b/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSMPAEndpointProviderTests"; +using MPAEndpointProvider = Aws::MPA::Endpoint::MPAEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct MPAEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class MPAEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> MPAEndpointProviderTests::TEST_CASES; +const size_t MPAEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector MPAEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const MPAEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(MPAEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const MPAEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/MPAEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize MPAEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + MPAEndpointProviderTests, + ::testing::Range((size_t) 0u, MPAEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp b/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp new file mode 100644 index 00000000000..ed21e7f6e09 --- /dev/null +++ b/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using MPAIncludeTest = ::testing::Test; + +TEST_F(MPAIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("MPAIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/generated/tests/mpa-gen-tests/RunTests.cpp b/generated/tests/mpa-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/mpa-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp b/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp index 123bd89494f..4cdd31c1859 100644 --- a/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp +++ b/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp @@ -77,6 +77,8 @@ #include #include #include +#include +#include #include #include #include @@ -159,6 +161,7 @@ #include #include #include +#include #include #include #include @@ -185,6 +188,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp b/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp index ab4eeba16e5..86d00697eee 100644 --- a/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp +++ b/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #include #include @@ -40,10 +42,15 @@ #include #include #include +#include +#include +#include #include #include +#include #include #include +#include #include #include #include @@ -564,6 +571,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -577,28 +589,45 @@ #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include +#include +#include +#include +#include #include #include #include #include #include #include +#include +#include #include #include +#include +#include #include #include +#include +#include #include #include #include #include #include #include +#include +#include +#include #include #include #include @@ -610,8 +639,14 @@ #include #include #include +#include +#include +#include +#include #include #include +#include +#include #include #include #include @@ -628,6 +663,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -639,6 +678,8 @@ #include #include #include +#include +#include #include #include #include @@ -651,8 +692,11 @@ #include #include #include +#include +#include #include #include +#include #include #include #include @@ -669,18 +713,28 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include #include #include #include #include #include #include +#include +#include #include #include +#include +#include #include #include #include @@ -689,8 +743,17 @@ #include #include #include +#include +#include +#include +#include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -700,7 +763,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -709,14 +774,23 @@ #include #include #include +#include +#include +#include #include #include +#include +#include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -754,6 +828,18 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -771,7 +857,12 @@ #include #include #include +#include #include +#include +#include +#include +#include #include #include #include @@ -780,10 +871,27 @@ #include #include #include +#include #include #include +#include +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -806,16 +914,20 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -857,6 +969,7 @@ #include #include #include +#include #include #include #include @@ -867,9 +980,15 @@ #include #include #include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include @@ -886,6 +1005,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp b/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp index 903cca760fe..4b6b4daf715 100644 --- a/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp +++ b/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index c0f822a48a6..01ef735e2fa 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.589" +#define AWS_SDK_VERSION_STRING "1.11.590" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 589 +#define AWS_SDK_VERSION_PATCH 590 diff --git a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json index 76176dbd1f5..c188f8b7c1d 100644 --- a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json +++ b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json @@ -1125,6 +1125,10 @@ "unusedAccess":{ "shape":"UnusedAccessConfiguration", "documentation":"

    Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account.

    " + }, + "internalAccess":{ + "shape":"InternalAccessConfiguration", + "documentation":"

    Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates access within your Amazon Web Services environment.

    " } }, "documentation":"

    Contains information about the configuration of an analyzer for an Amazon Web Services organization or account.

    ", @@ -1187,7 +1191,7 @@ }, "configuration":{ "shape":"AnalyzerConfiguration", - "documentation":"

    Specifies whether the analyzer is an external access or unused access analyzer.

    " + "documentation":"

    Specifies if the analyzer is an external access, unused access, or internal access analyzer.

    " } }, "documentation":"

    Contains information about the analyzer.

    " @@ -1609,7 +1613,7 @@ }, "type":{ "shape":"Type", - "documentation":"

    The type of analyzer to create. Only ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and ORGANIZATION_UNUSED_ACCESS analyzers are supported. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

    " + "documentation":"

    The type of analyzer to create. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

    " }, "archiveRules":{ "shape":"InlineArchiveRulesList", @@ -1626,7 +1630,7 @@ }, "configuration":{ "shape":"AnalyzerConfiguration", - "documentation":"

    Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration.

    " + "documentation":"

    Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration. If the analyzer is an internal access analyzer, the specified internal access analysis rules are used for the configuration.

    " } }, "documentation":"

    Creates an analyzer.

    " @@ -1841,7 +1845,7 @@ }, "resourceControlPolicyRestriction":{ "shape":"ResourceControlPolicyRestriction", - "documentation":"

    The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

    " + "documentation":"

    The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

    • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding.

    • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

    • NOT_APPLICABLE: There was no RCP present in the organization, or there was no RCP applicable to the resource. For example, the resource being analyzed is an Amazon RDS snapshot and there is an RCP in the organization, but the RCP only impacts Amazon S3 buckets.

    • APPLIED: This restriction is not currently available for external access findings.

    " } }, "documentation":"

    Contains information about an external access finding.

    " @@ -1983,6 +1987,10 @@ "FindingDetails":{ "type":"structure", "members":{ + "internalAccessDetails":{ + "shape":"InternalAccessDetails", + "documentation":"

    The details for an internal access analyzer finding. This contains information about access patterns identified within your Amazon Web Services organization or account.

    " + }, "externalAccessDetails":{ "shape":"ExternalAccessDetails", "documentation":"

    The details for an external access analyzer finding.

    " @@ -2199,7 +2207,7 @@ }, "findingType":{ "shape":"FindingType", - "documentation":"

    The type of the external access or unused access finding.

    " + "documentation":"

    The type of the access finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

    " } }, "documentation":"

    Contains information about a finding.

    " @@ -2211,7 +2219,8 @@ "UnusedIAMRole", "UnusedIAMUserAccessKey", "UnusedIAMUserPassword", - "UnusedPermission" + "UnusedPermission", + "InternalAccess" ] }, "FindingsList":{ @@ -2229,6 +2238,10 @@ "shape":"ExternalAccessFindingsStatistics", "documentation":"

    The aggregate statistics for an external access analyzer.

    " }, + "internalAccessFindingsStatistics":{ + "shape":"InternalAccessFindingsStatistics", + "documentation":"

    The aggregate statistics for an internal access analyzer. This includes information about active, archived, and resolved findings related to internal access within your Amazon Web Services organization or account.

    " + }, "unusedAccessFindingsStatistics":{ "shape":"UnusedAccessFindingsStatistics", "documentation":"

    The aggregate statistics for an unused access analyzer.

    " @@ -2644,7 +2657,7 @@ }, "findingType":{ "shape":"FindingType", - "documentation":"

    The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission.

    " + "documentation":"

    The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

    " } } }, @@ -2750,6 +2763,142 @@ "type":"integer", "box":true }, + "InternalAccessAnalysisRule":{ + "type":"structure", + "members":{ + "inclusions":{ + "shape":"InternalAccessAnalysisRuleCriteriaList", + "documentation":"

    A list of rules for the internal access analyzer containing criteria to include in analysis. Only resources that meet the rule criteria will generate findings.

    " + } + }, + "documentation":"

    Contains information about analysis rules for the internal access analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.

    " + }, + "InternalAccessAnalysisRuleCriteria":{ + "type":"structure", + "members":{ + "accountIds":{ + "shape":"AccountIdsList", + "documentation":"

    A list of Amazon Web Services account IDs to apply to the internal access analysis rule criteria. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.

    " + }, + "resourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

    A list of resource types to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources of these types. These resource types are currently supported for internal access analyzers:

    • AWS::S3::Bucket

    • AWS::RDS::DBSnapshot

    • AWS::RDS::DBClusterSnapshot

    • AWS::S3Express::DirectoryBucket

    • AWS::DynamoDB::Table

    • AWS::DynamoDB::Stream

    " + }, + "resourceArns":{ + "shape":"ResourceArnsList", + "documentation":"

    A list of resource ARNs to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources that match these ARNs.

    " + } + }, + "documentation":"

    The criteria for an analysis rule for an internal access analyzer.

    " + }, + "InternalAccessAnalysisRuleCriteriaList":{ + "type":"list", + "member":{"shape":"InternalAccessAnalysisRuleCriteria"} + }, + "InternalAccessConfiguration":{ + "type":"structure", + "members":{ + "analysisRule":{ + "shape":"InternalAccessAnalysisRule", + "documentation":"

    Contains information about analysis rules for the internal access analyzer. These rules determine which resources and access patterns will be analyzed.

    " + } + }, + "documentation":"

    Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates internal access within your Amazon Web Services environment.

    " + }, + "InternalAccessDetails":{ + "type":"structure", + "members":{ + "action":{ + "shape":"ActionList", + "documentation":"

    The action in the analyzed policy statement that has internal access permission to use.

    " + }, + "condition":{ + "shape":"ConditionKeyMap", + "documentation":"

    The condition in the analyzed policy statement that resulted in an internal access finding.

    " + }, + "principal":{ + "shape":"PrincipalMap", + "documentation":"

    The principal that has access to a resource within the internal environment.

    " + }, + "principalOwnerAccount":{ + "shape":"String", + "documentation":"

    The Amazon Web Services account ID that owns the principal identified in the internal access finding.

    " + }, + "accessType":{ + "shape":"InternalAccessType", + "documentation":"

    The type of internal access identified in the finding. This indicates how the access is granted within your Amazon Web Services environment.

    " + }, + "principalType":{ + "shape":"PrincipalType", + "documentation":"

    The type of principal identified in the internal access finding, such as IAM role or IAM user.

    " + }, + "sources":{ + "shape":"FindingSourceList", + "documentation":"

    The sources of the internal access finding. This indicates how the access that generated the finding is granted within your Amazon Web Services environment.

    " + }, + "resourceControlPolicyRestriction":{ + "shape":"ResourceControlPolicyRestriction", + "documentation":"

    The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

    • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding. Only applicable to internal access findings with the account as the zone of trust.

    • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

    • NOT_APPLICABLE: There was no RCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no RCP applicable to the resource.

    • APPLIED: An RCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLIED, then s3:DeleteObject would not be included in the list of actions for the finding. Only applicable to internal access findings with the organization as the zone of trust.

    " + }, + "serviceControlPolicyRestriction":{ + "shape":"ServiceControlPolicyRestriction", + "documentation":"

    The type of restriction applied to the finding by an Organizations service control policy (SCP).

    • APPLICABLE: There is an SCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. Only applicable to internal access findings with the account as the zone of trust.

    • FAILED_TO_EVALUATE_SCP: There was an error evaluating the SCP.

    • NOT_APPLICABLE: There was no SCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no SCP applicable to the principal.

    • APPLIED: An SCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. Only applicable to internal access findings with the organization as the zone of trust.

    " + } + }, + "documentation":"

    Contains information about an internal access finding. This includes details about the access that was identified within your Amazon Web Services organization or account.

    " + }, + "InternalAccessFindingsStatistics":{ + "type":"structure", + "members":{ + "resourceTypeStatistics":{ + "shape":"InternalAccessResourceTypeStatisticsMap", + "documentation":"

    The total number of active findings for each resource type of the specified internal access analyzer.

    " + }, + "totalActiveFindings":{ + "shape":"Integer", + "documentation":"

    The number of active findings for the specified internal access analyzer.

    " + }, + "totalArchivedFindings":{ + "shape":"Integer", + "documentation":"

    The number of archived findings for the specified internal access analyzer.

    " + }, + "totalResolvedFindings":{ + "shape":"Integer", + "documentation":"

    The number of resolved findings for the specified internal access analyzer.

    " + } + }, + "documentation":"

    Provides aggregate statistics about the findings for the specified internal access analyzer. This includes counts of active, archived, and resolved findings.

    " + }, + "InternalAccessResourceTypeDetails":{ + "type":"structure", + "members":{ + "totalActiveFindings":{ + "shape":"Integer", + "documentation":"

    The total number of active findings for the resource type in the internal access analyzer.

    " + }, + "totalResolvedFindings":{ + "shape":"Integer", + "documentation":"

    The total number of resolved findings for the resource type in the internal access analyzer.

    " + }, + "totalArchivedFindings":{ + "shape":"Integer", + "documentation":"

    The total number of archived findings for the resource type in the internal access analyzer.

    " + } + }, + "documentation":"

    Contains information about the total number of active, archived, and resolved findings for a resource type of an internal access analyzer.

    " + }, + "InternalAccessResourceTypeStatisticsMap":{ + "type":"map", + "key":{"shape":"ResourceType"}, + "value":{"shape":"InternalAccessResourceTypeDetails"} + }, + "InternalAccessType":{ + "type":"string", + "enum":[ + "INTRA_ACCOUNT", + "INTRA_ORG" + ] + }, "InternalServerException":{ "type":"structure", "required":["message"], @@ -3480,6 +3629,13 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "PrincipalType":{ + "type":"string", + "enum":[ + "IAM_ROLE", + "IAM_USER" + ] + }, "RdsDbClusterSnapshotAccountId":{"type":"string"}, "RdsDbClusterSnapshotAccountIdsList":{ "type":"list", @@ -3642,12 +3798,17 @@ "type":"string", "pattern":"arn:[^:]*:[^:]*:[^:]*:[^:]*:.*" }, + "ResourceArnsList":{ + "type":"list", + "member":{"shape":"String"} + }, "ResourceControlPolicyRestriction":{ "type":"string", "enum":[ "APPLICABLE", "FAILED_TO_EVALUATE_RCP", - "NOT_APPLICABLE" + "NOT_APPLICABLE", + "APPLIED" ] }, "ResourceNotFoundException":{ @@ -3711,6 +3872,10 @@ }, "documentation":"

    Contains information about the total number of active cross-account and public findings for a resource type of an external access analyzer.

    " }, + "ResourceTypeList":{ + "type":"list", + "member":{"shape":"ResourceType"} + }, "ResourceTypeStatisticsMap":{ "type":"map", "key":{"shape":"ResourceType"}, @@ -3858,6 +4023,15 @@ }, "SecretsManagerSecretKmsId":{"type":"string"}, "SecretsManagerSecretPolicy":{"type":"string"}, + "ServiceControlPolicyRestriction":{ + "type":"string", + "enum":[ + "APPLICABLE", + "FAILED_TO_EVALUATE_SCP", + "NOT_APPLICABLE", + "APPLIED" + ] + }, "ServiceQuotaExceededException":{ "type":"structure", "required":[ @@ -4150,7 +4324,9 @@ "ACCOUNT", "ORGANIZATION", "ACCOUNT_UNUSED_ACCESS", - "ORGANIZATION_UNUSED_ACCESS" + "ORGANIZATION_UNUSED_ACCESS", + "ACCOUNT_INTERNAL_ACCESS", + "ORGANIZATION_INTERNAL_ACCESS" ] }, "UnprocessableEntityException":{ diff --git a/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json b/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json index fdcdf5eb1d5..955882e0f00 100644 --- a/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json +++ b/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json @@ -24,11 +24,11 @@ }, "input":{"shape":"AddTagsToCertificateRequest"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, - {"shape":"ThrottlingException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"InvalidTagException"}, {"shape":"ResourceNotFoundException"} ], @@ -43,8 +43,8 @@ "input":{"shape":"DeleteCertificateRequest"}, "errors":[ {"shape":"ResourceInUseException"}, - {"shape":"ThrottlingException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"ConflictException"}, {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} @@ -78,7 +78,7 @@ {"shape":"RequestInProgressException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

    Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

    For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate.

    " + "documentation":"

    Exports a private certificate issued by a private certificate authority (CA) or public certificate for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

    For information about exporting and formatting a certificate using the ACM console or CLI, see Export a private certificate and Export a public certificate.

    " }, "GetAccountConfiguration":{ "name":"GetAccountConfiguration", @@ -117,8 +117,8 @@ "input":{"shape":"ImportCertificateRequest"}, "output":{"shape":"ImportCertificateResponse"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidTagException"}, @@ -178,10 +178,10 @@ }, "input":{"shape":"RemoveTagsFromCertificateRequest"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, - {"shape":"ThrottlingException"}, + {"shape":"TagPolicyException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"InvalidTagException"}, {"shape":"ResourceNotFoundException"} ], @@ -199,7 +199,7 @@ {"shape":"RequestInProgressException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

    Renews an eligible ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

    " + "documentation":"

    Renews an eligible ACM certificate. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

    " }, "RequestCertificate":{ "name":"RequestCertificate", @@ -210,15 +210,15 @@ "input":{"shape":"RequestCertificateRequest"}, "output":{"shape":"RequestCertificateResponse"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidTagException"}, {"shape":"InvalidDomainValidationOptionsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

    If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

    ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

    After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

    " + "documentation":"

    Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

    If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation.

    ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

    After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

    " }, "ResendValidationEmail":{ "name":"ResendValidationEmail", @@ -235,6 +235,24 @@ ], "documentation":"

    Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

    " }, + "RevokeCertificate":{ + "name":"RevokeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeCertificateRequest"}, + "output":{"shape":"RevokeCertificateResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Revokes a public ACM certificate. You can only revoke certificates that have been previously exported.

    " + }, "UpdateCertificateOptions":{ "name":"UpdateCertificateOptions", "http":{ @@ -248,7 +266,7 @@ {"shape":"InvalidStateException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

    Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

    " + "documentation":"

    Updates a certificate. You can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log and exporting. For more information, see Opting Out of Certificate Transparency Logging and Certificate Manager Exportable Managed Certificates.

    " } }, "shapes":{ @@ -420,6 +438,13 @@ }, "documentation":"

    Contains metadata about an ACM certificate. This structure is returned in the response to a DescribeCertificate request.

    " }, + "CertificateExport":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "CertificateManagedBy":{ "type":"string", "enum":["CLOUDFRONT"] @@ -430,9 +455,13 @@ "CertificateTransparencyLoggingPreference":{ "shape":"CertificateTransparencyLoggingPreference", "documentation":"

    You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

    " + }, + "Export":{ + "shape":"CertificateExport", + "documentation":"

    You can opt in to allow the export of your certificates by specifying ENABLED.

    " } }, - "documentation":"

    Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

    " + "documentation":"

    Structure that contains options for your certificate. You can use this structure to specify whether to opt in to or out of certificate transparency logging and export your certificate.

    Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

    You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

    " }, "CertificateStatus":{ "type":"string", @@ -489,6 +518,10 @@ "shape":"ExtendedKeyUsageNames", "documentation":"

    Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

    " }, + "ExportOption":{ + "shape":"CertificateExport", + "documentation":"

    Indicates if export is enabled for the certificate.

    " + }, "InUse":{ "shape":"NullableBoolean", "documentation":"

    Indicates whether the certificate is currently in use by any Amazon Web Services resources.

    " @@ -630,11 +663,11 @@ }, "ResourceRecord":{ "shape":"ResourceRecord", - "documentation":"

    Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

    Note: The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is \"_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com\", only \"_a79865eb4cd1a6ab990a45779b4e0b96\" must be used.

    " + "documentation":"

    Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

    The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is _a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com, only _a79865eb4cd1a6ab990a45779b4e0b96 must be used.

    " }, "HttpRedirect":{ "shape":"HttpRedirect", - "documentation":"

    Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

    " + "documentation":"

    Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

    " }, "ValidationMethod":{ "shape":"ValidationMethod", @@ -797,6 +830,10 @@ "shape":"KeyAlgorithmList", "documentation":"

    Specify one or more algorithms that can be used to generate key pairs.

    Default filtering returns only RSA_1024 and RSA_2048 certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048\",\"RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

    " }, + "exportOption":{ + "shape":"CertificateExport", + "documentation":"

    Specify ENABLED or DISABLED to identify certificates that can be exported.

    " + }, "managedBy":{ "shape":"CertificateManagedBy", "documentation":"

    Identifies the Amazon Web Services service that manages the certificate issued by ACM.

    " @@ -848,7 +885,7 @@ "documentation":"

    The URL hosting the validation token. RedirectFrom must return this content or redirect here.

    " } }, - "documentation":"

    Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

    " + "documentation":"

    Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

    " }, "IdempotencyToken":{ "type":"string", @@ -903,7 +940,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

    One or more of of request parameters specified is not valid.

    ", + "documentation":"

    One or more of request parameters specified is not valid.

    ", "exception":true }, "InvalidArnException":{ @@ -1229,7 +1266,7 @@ }, "Options":{ "shape":"CertificateOptions", - "documentation":"

    Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

    " + "documentation":"

    You can use this parameter to specify whether to add the certificate to a certificate transparency log and export your certificate.

    Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

    You can export public ACM certificates to use with Amazon Web Services services as well as outside the Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

    " }, "CertificateAuthorityArn":{ "shape":"PcaArn", @@ -1343,6 +1380,32 @@ "A_A_COMPROMISE" ] }, + "RevokeCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "RevocationReason" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the public or private certificate that will be revoked. The ARN must have the following form:

    arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

    " + }, + "RevocationReason":{ + "shape":"RevocationReason", + "documentation":"

    Specifies why you revoked the certificate.

    " + } + } + }, + "RevokeCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the public or private certificate that was revoked.

    " + } + } + }, "ServiceErrorMessage":{"type":"string"}, "SortBy":{ "type":"string", @@ -1427,7 +1490,7 @@ }, "Options":{ "shape":"CertificateOptions", - "documentation":"

    Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

    " + "documentation":"

    Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log or export your certificate. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

    " } } }, diff --git a/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json b/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json index b438f254900..ec29dc91cfb 100644 --- a/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json +++ b/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json @@ -13,6 +13,23 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "AssociateBackupVaultMpaApprovalTeam":{ + "name":"AssociateBackupVaultMpaApprovalTeam", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/mpaApprovalTeam", + "responseCode":204 + }, + "input":{"shape":"AssociateBackupVaultMpaApprovalTeamInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Associates an MPA approval team with a backup vault.

    " + }, "CancelLegalHold":{ "name":"CancelLegalHold", "http":{ @@ -158,6 +175,26 @@ "documentation":"

    Creates a report plan. A report plan is a document that contains information about the contents of the report and where Backup will deliver it.

    If you call CreateReportPlan with a plan that already exists, you receive an AlreadyExistsException exception.

    ", "idempotent":true }, + "CreateRestoreAccessBackupVault":{ + "name":"CreateRestoreAccessBackupVault", + "http":{ + "method":"PUT", + "requestUri":"/restore-access-backup-vaults" + }, + "input":{"shape":"CreateRestoreAccessBackupVaultInput"}, + "output":{"shape":"CreateRestoreAccessBackupVaultOutput"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a restore access backup vault that provides temporary access to recovery points in a logically air-gapped backup vault, subject to MPA approval.

    ", + "idempotent":true + }, "CreateRestoreTestingPlan":{ "name":"CreateRestoreTestingPlan", "http":{ @@ -244,7 +281,8 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

    Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

    " + "documentation":"

    Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

    ", + "idempotent":true }, "DeleteBackupVaultAccessPolicy":{ "name":"DeleteBackupVaultAccessPolicy", @@ -554,6 +592,23 @@ "documentation":"

    Returns metadata associated with a restore job that is specified by a job ID.

    ", "idempotent":true }, + "DisassociateBackupVaultMpaApprovalTeam":{ + "name":"DisassociateBackupVaultMpaApprovalTeam", + "http":{ + "method":"POST", + "requestUri":"/backup-vaults/{backupVaultName}/mpaApprovalTeam?delete", + "responseCode":204 + }, + "input":{"shape":"DisassociateBackupVaultMpaApprovalTeamInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Removes the association between an MPA approval team and a backup vault, disabling the MPA approval workflow for restore operations.

    " + }, "DisassociateRecoveryPoint":{ "name":"DisassociateRecoveryPoint", "http":{ @@ -1126,6 +1181,22 @@ ], "documentation":"

    Returns a list of your report plans. For detailed information about a single report plan, use DescribeReportPlan.

    " }, + "ListRestoreAccessBackupVaults":{ + "name":"ListRestoreAccessBackupVaults", + "http":{ + "method":"GET", + "requestUri":"/logically-air-gapped-backup-vaults/{backupVaultName}/restore-access-backup-vaults/" + }, + "input":{"shape":"ListRestoreAccessBackupVaultsInput"}, + "output":{"shape":"ListRestoreAccessBackupVaultsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Returns a list of restore access backup vaults associated with a specified backup vault.

    " + }, "ListRestoreJobSummaries":{ "name":"ListRestoreJobSummaries", "http":{ @@ -1288,6 +1359,22 @@ "documentation":"

    This request allows you to send your independent self-run restore test validation results. RestoreJobId and ValidationStatus are required. Optionally, you can input a ValidationStatusMessage.

    ", "idempotent":true }, + "RevokeRestoreAccessBackupVault":{ + "name":"RevokeRestoreAccessBackupVault", + "http":{ + "method":"DELETE", + "requestUri":"/logically-air-gapped-backup-vaults/{backupVaultName}/restore-access-backup-vaults/{restoreAccessBackupVaultArn}" + }, + "input":{"shape":"RevokeRestoreAccessBackupVaultInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Revokes access to a restore access backup vault, removing the ability to restore from its recovery points and permanently deleting the vault.

    " + }, "StartBackupJob":{ "name":"StartBackupJob", "http":{ @@ -1626,6 +1713,29 @@ "documentation":"

    The required resource already exists.

    ", "exception":true }, + "AssociateBackupVaultMpaApprovalTeamInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "MpaApprovalTeamArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the backup vault to associate with the MPA approval team.

    ", + "location":"uri", + "locationName":"backupVaultName" + }, + "MpaApprovalTeamArn":{ + "shape":"ARN", + "documentation":"

    The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault.

    " + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

    A comment provided by the requester explaining the association request.

    " + } + } + }, "BackupJob":{ "type":"structure", "members":{ @@ -2155,6 +2265,7 @@ "BACKUP_PLAN_MODIFIED", "S3_BACKUP_OBJECT_FAILED", "S3_RESTORE_OBJECT_FAILED", + "CONTINUOUS_BACKUP_INTERRUPTED", "RECOVERY_POINT_INDEX_COMPLETED", "RECOVERY_POINT_INDEX_DELETED", "RECOVERY_POINT_INDEXING_FAILED" @@ -2599,7 +2710,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

    Identifies the request and allows failed requests to be retried without the risk of running the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    " + "documentation":"

    Identifies the request and allows failed requests to be retried without the risk of running the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    ", + "idempotencyToken":true } } }, @@ -2647,7 +2759,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

    A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    " + "documentation":"

    A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    ", + "idempotencyToken":true } } }, @@ -2688,7 +2801,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

    A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    " + "documentation":"

    A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

    If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    ", + "idempotencyToken":true } } }, @@ -2769,7 +2883,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

    This is a user-chosen string used to distinguish between otherwise identical calls. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    " + "documentation":"

    This is a user-chosen string used to distinguish between otherwise identical calls. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    ", + "idempotencyToken":true }, "RecoveryPointSelection":{ "shape":"RecoveryPointSelection", @@ -2834,7 +2949,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

    The ID of the creation request.

    This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    " + "documentation":"

    The ID of the creation request.

    This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    ", + "idempotencyToken":true }, "MinRetentionDays":{ "shape":"Long", @@ -2919,6 +3035,54 @@ } } }, + "CreateRestoreAccessBackupVaultInput":{ + "type":"structure", + "required":["SourceBackupVaultArn"], + "members":{ + "SourceBackupVaultArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the source backup vault containing the recovery points to which temporary access is requested.

    " + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the backup vault to associate with an MPA approval team.

    " + }, + "BackupVaultTags":{ + "shape":"Tags", + "documentation":"

    Optional tags to assign to the restore access backup vault.

    " + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

    A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

    ", + "idempotencyToken":true + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

    A comment explaining the reason for requesting restore access to the backup vault.

    " + } + } + }, + "CreateRestoreAccessBackupVaultOutput":{ + "type":"structure", + "members":{ + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

    The ARN that uniquely identifies the created restore access backup vault.

    " + }, + "VaultState":{ + "shape":"VaultState", + "documentation":"

    The current state of the restore access backup vault.

    " + }, + "RestoreAccessBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the created restore access backup vault.

    " + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

    >The date and time when the restore access backup vault was created, in Unix format and Coordinated Universal Time

    " + } + } + }, "CreateRestoreTestingPlanInput":{ "type":"structure", "required":["RestoreTestingPlan"], @@ -3419,6 +3583,22 @@ "LockDate":{ "shape":"timestamp", "documentation":"

    The date and time when Backup Vault Lock configuration cannot be changed or deleted.

    If you applied Vault Lock to your vault without specifying a lock date, you can change any of your Vault Lock settings, or delete Vault Lock from the vault entirely, at any time.

    This value is in Unix format, Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " + }, + "SourceBackupVaultArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the source backup vault from which this restore access backup vault was created.

    " + }, + "MpaApprovalTeamArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the MPA approval team associated with this backup vault.

    " + }, + "MpaSessionArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the MPA session associated with this backup vault.

    " + }, + "LatestMpaApprovalTeamUpdate":{ + "shape":"LatestMpaApprovalTeamUpdate", + "documentation":"

    Information about the latest update to the MPA approval team association for this backup vault.

    " } } }, @@ -3636,6 +3816,10 @@ "shape":"timestamp", "documentation":"

    The date and time that a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the backup job that created this recovery point was initiated, in Unix format and Coordinated Universal Time (UTC).

    " + }, "CompletionDate":{ "shape":"timestamp", "documentation":"

    The date and time that a job to create a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " @@ -3850,6 +4034,22 @@ } } }, + "DisassociateBackupVaultMpaApprovalTeamInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the backup vault from which to disassociate the MPA approval team.

    ", + "location":"uri", + "locationName":"backupVaultName" + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

    An optional comment explaining the reason for disassociating the MPA approval team from the backup vault.

    " + } + } + }, "DisassociateRecoveryPointFromParentInput":{ "type":"structure", "required":[ @@ -4643,6 +4843,58 @@ "type":"list", "member":{"shape":"KeyValue"} }, + "LatestMpaApprovalTeamUpdate":{ + "type":"structure", + "members":{ + "MpaSessionArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the MPA session associated with this update.

    " + }, + "Status":{ + "shape":"MpaSessionStatus", + "documentation":"

    The current status of the MPA approval team update.

    " + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

    A message describing the current status of the MPA approval team update.

    " + }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the MPA approval team update was initiated.

    " + }, + "ExpiryDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the MPA approval team update will expire.

    " + } + }, + "documentation":"

    Contains information about the latest update to an MPA approval team association.

    " + }, + "LatestRevokeRequest":{ + "type":"structure", + "members":{ + "MpaSessionArn":{ + "shape":"string", + "documentation":"

    The ARN of the MPA session associated with this revoke request.

    " + }, + "Status":{ + "shape":"MpaRevokeSessionStatus", + "documentation":"

    The current status of the revoke request.

    " + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

    A message describing the current status of the revoke request.

    " + }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the revoke request was initiated.

    " + }, + "ExpiryDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the revoke request will expire.

    " + } + }, + "documentation":"

    Contains information about the latest request to revoke access to a backup vault.

    " + }, "LegalHold":{ "type":"structure", "members":{ @@ -5667,6 +5919,43 @@ } } }, + "ListRestoreAccessBackupVaultsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the backup vault for which to list associated restore access backup vaults.

    ", + "location":"uri", + "locationName":"backupVaultName" + }, + "NextToken":{ + "shape":"string", + "documentation":"

    The pagination token from a previous request to retrieve the next set of results.

    ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response.

    ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRestoreAccessBackupVaultsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

    The pagination token to use in a subsequent request to retrieve the next set of results.

    " + }, + "RestoreAccessBackupVaults":{ + "shape":"RestoreAccessBackupVaultList", + "documentation":"

    A list of restore access backup vaults associated with the specified backup vault.

    " + } + } + }, "ListRestoreJobSummariesInput":{ "type":"structure", "members":{ @@ -6013,6 +6302,21 @@ "documentation":"

    Indicates that a required parameter is missing.

    ", "exception":true }, + "MpaRevokeSessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "FAILED" + ] + }, + "MpaSessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "APPROVED", + "FAILED" + ] + }, "ParameterName":{"type":"string"}, "ParameterValue":{"type":"string"}, "ProtectedResource":{ @@ -6123,7 +6427,7 @@ }, "BackupVaultEvents":{ "shape":"BackupVaultEvents", - "documentation":"

    An array of events that indicate the status of jobs to back up resources to the backup vault.

    For common use cases and code samples, see Using Amazon SNS to track Backup events.

    The following events are supported:

    • BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED | BACKUP_JOB_FAILED

    • COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | COPY_JOB_FAILED

    • RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | RECOVERY_POINT_MODIFIED

    • S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED

    • RECOVERY_POINT_INDEX_COMPLETED | RECOVERY_POINT_INDEX_DELETED | RECOVERY_POINT_INDEXING_FAILED

    The list below includes both supported events and deprecated events that are no longer in use (for reference). Deprecated events do not return statuses or notifications. Refer to the list above for the supported events.

    " + "documentation":"

    An array of events that indicate the status of jobs to back up resources to the backup vault. For the list of supported events, common use cases, and code samples, see Notification options with Backup.

    " } } }, @@ -6197,6 +6501,10 @@ "shape":"timestamp", "documentation":"

    The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the backup job that created this recovery point was initiated, in Unix format and Coordinated Universal Time (UTC).

    " + }, "CompletionDate":{ "shape":"timestamp", "documentation":"

    The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " @@ -6563,6 +6871,10 @@ }, "documentation":"

    Contains detailed information about a report setting.

    " }, + "RequesterComment":{ + "type":"string", + "sensitive":true + }, "ResourceArns":{ "type":"list", "member":{"shape":"ARN"} @@ -6610,6 +6922,36 @@ "type":"list", "member":{"shape":"ResourceType"} }, + "RestoreAccessBackupVaultList":{ + "type":"list", + "member":{"shape":"RestoreAccessBackupVaultListMember"} + }, + "RestoreAccessBackupVaultListMember":{ + "type":"structure", + "members":{ + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the restore access backup vault.

    " + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the restore access backup vault was created.

    " + }, + "ApprovalDate":{ + "shape":"timestamp", + "documentation":"

    The date and time when the restore access backup vault was approved.

    " + }, + "VaultState":{ + "shape":"VaultState", + "documentation":"

    The current state of the restore access backup vault.

    " + }, + "LatestRevokeRequest":{ + "shape":"LatestRevokeRequest", + "documentation":"

    Information about the latest request to revoke access to this backup vault.

    " + } + }, + "documentation":"

    Contains information about a restore access backup vault.

    " + }, "RestoreDeletionStatus":{ "type":"string", "enum":[ @@ -7142,6 +7484,33 @@ "VALIDATING" ] }, + "RevokeRestoreAccessBackupVaultInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RestoreAccessBackupVaultArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

    The name of the source backup vault associated with the restore access backup vault to be revoked.

    ", + "location":"uri", + "locationName":"backupVaultName" + }, + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

    The ARN of the restore access backup vault to revoke.

    ", + "location":"uri", + "locationName":"restoreAccessBackupVaultArn" + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

    A comment explaining the reason for revoking access to the restore access backup vault.

    ", + "location":"querystring", + "locationName":"requesterComment" + } + } + }, "SensitiveStringMap":{ "type":"map", "key":{"shape":"String"}, @@ -7188,7 +7557,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    " + "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    ", + "idempotencyToken":true }, "StartWindowMinutes":{ "shape":"WindowMinutes", @@ -7264,7 +7634,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartCopyJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    " + "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartCopyJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    ", + "idempotencyToken":true }, "Lifecycle":{"shape":"Lifecycle"} } @@ -7333,7 +7704,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    " + "documentation":"

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

    ", + "idempotencyToken":true }, "ResourceType":{ "shape":"ResourceType", @@ -7799,7 +8171,8 @@ "type":"string", "enum":[ "BACKUP_VAULT", - "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" + "LOGICALLY_AIR_GAPPED_BACKUP_VAULT", + "RESTORE_ACCESS_BACKUP_VAULT" ] }, "WindowMinutes":{"type":"long"}, diff --git a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json index d616ae8c7e2..e3f437e8989 100644 --- a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json @@ -51,7 +51,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Creates a new custom model in Amazon Bedrock from an existing SageMaker AI-trained Amazon Nova model stored in an Amazon-managed Amazon S3 bucket. After the model is active, you can use it for inference.

    To use the model for inference, you must purchase Provisioned Throughput for it. You can't use On-demand inference with these custom models. For more information about Provisioned Throughput, see Provisioned Throughput.

    The model appears in ListCustomModels with a customizationType of imported. To track the status of the new model, you use the GetCustomModel API operation. The model can be in the following states:

    • Creating - Initial state during validation and registration

    • Active - Model is ready for use in inference

    • Failed - Creation process encountered an error

    For more information about creating custom models, including specific model requirements, see Import a SageMaker AI-trained Amazon Nova model in the Amazon Bedrock User Guide.

    You use the CreateCustomModel API to import only SageMaker AI-trained Amazon Nova models. To import open-source models, you use the CreateModelImportJob.

    Related APIs

    " + "documentation":"

    Creates a new custom model in Amazon Bedrock. After the model is active, you can use it for inference.

    To use the model for inference, you must purchase Provisioned Throughput for it. You can't use On-demand inference with these custom models. For more information about Provisioned Throughput, see Provisioned Throughput.

    The model appears in ListCustomModels with a customizationType of imported. To track the status of the new model, you use the GetCustomModel API operation. The model can be in the following states:

    • Creating - Initial state during validation and registration

    • Active - Model is ready for use in inference

    • Failed - Creation process encountered an error

    Related APIs

    " }, "CreateEvaluationJob":{ "name":"CreateEvaluationJob", @@ -1456,7 +1456,7 @@ }, "modelSourceConfig":{ "shape":"ModelDataSource", - "documentation":"

    The data source for the model. The Amazon S3 URI in the model source must be for the Amazon-managed Amazon S3 bucket containing your model artifacts. SageMaker AI creates this bucket when you run your first SageMaker AI training job.

    " + "documentation":"

    The data source for the model. The Amazon S3 URI in the model source must be for the Amazon-managed Amazon S3 bucket containing your model artifacts.

    " }, "modelKmsKeyArn":{ "shape":"KmsKeyArn", @@ -7773,7 +7773,7 @@ "documentation":"

    The URI of the Amazon S3 data source.

    " } }, - "documentation":"

    The Amazon S3 data source of the model to import. For the CreateCustomModel API operation, you must specify the Amazon S3 URI for the Amazon-managed Amazon S3 bucket containing your model artifacts. SageMaker AI creates this bucket when you run your first SageMaker AI training job.

    " + "documentation":"

    The Amazon S3 data source of the model to import.

    " }, "S3InputFormat":{ "type":"string", diff --git a/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json b/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json index f12bb65fe63..84dbbfad0f4 100644 --- a/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json +++ b/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json @@ -54,7 +54,7 @@ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

    Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

    The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

    The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    " }, "CancelReplicationTaskAssessmentRun":{ "name":"CancelReplicationTaskAssessmentRun", @@ -160,7 +160,7 @@ {"shape":"S3ResourceNotFoundFault"}, {"shape":"ResourceQuotaExceededFault"} ], - "documentation":"

    Creates a Fleet Advisor collector using the specified parameters.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Creates a Fleet Advisor collector using the specified parameters.

    " }, "CreateInstanceProfile":{ "name":"CreateInstanceProfile", @@ -381,7 +381,7 @@ {"shape":"CollectorNotFoundFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

    Deletes the specified Fleet Advisor collector.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Deletes the specified Fleet Advisor collector.

    " }, "DeleteFleetAdvisorDatabases":{ "name":"DeleteFleetAdvisorDatabases", @@ -396,7 +396,7 @@ {"shape":"InvalidOperationFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

    Deletes the specified Fleet Advisor collector databases.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Deletes the specified Fleet Advisor collector databases.

    " }, "DeleteInstanceProfile":{ "name":"DeleteInstanceProfile", @@ -695,7 +695,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

    Returns a list of the Fleet Advisor collectors in your account.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Returns a list of the Fleet Advisor collectors in your account.

    " }, "DescribeFleetAdvisorDatabases":{ "name":"DescribeFleetAdvisorDatabases", @@ -708,7 +708,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

    Returns a list of Fleet Advisor databases in your account.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Returns a list of Fleet Advisor databases in your account.

    " }, "DescribeFleetAdvisorLsaAnalysis":{ "name":"DescribeFleetAdvisorLsaAnalysis", @@ -721,7 +721,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

    Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

    " }, "DescribeFleetAdvisorSchemaObjectSummary":{ "name":"DescribeFleetAdvisorSchemaObjectSummary", @@ -734,7 +734,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

    Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

    " }, "DescribeFleetAdvisorSchemas":{ "name":"DescribeFleetAdvisorSchemas", @@ -747,7 +747,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

    Returns a list of schemas detected by Fleet Advisor Collectors in your account.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Returns a list of schemas detected by Fleet Advisor Collectors in your account.

    " }, "DescribeInstanceProfiles":{ "name":"DescribeInstanceProfiles", @@ -879,7 +879,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

    Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

    " }, "DescribeRecommendations":{ "name":"DescribeRecommendations", @@ -893,7 +893,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

    Returns a paginated list of target engine recommendations for your source databases.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Returns a paginated list of target engine recommendations for your source databases.

    " }, "DescribeRefreshSchemasStatus":{ "name":"DescribeRefreshSchemasStatus", @@ -1404,7 +1404,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

    Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

    " }, "StartDataMigration":{ "name":"StartDataMigration", @@ -1555,7 +1555,7 @@ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

    Starts the analysis of your source database to provide recommendations of target engines.

    You can create recommendations for multiple source databases using BatchStartRecommendations.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Starts the analysis of your source database to provide recommendations of target engines.

    You can create recommendations for multiple source databases using BatchStartRecommendations.

    " }, "StartReplication":{ "name":"StartReplication", @@ -2247,6 +2247,10 @@ "shape":"String", "documentation":"

    The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

    " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates whether the data provider is virtual.

    " + }, "Settings":{ "shape":"DataProviderSettings", "documentation":"

    The settings in JSON format for a data provider.

    " @@ -2787,7 +2791,7 @@ }, "ReplicationSubnetGroupDescription":{ "shape":"String", - "documentation":"

    The description for the subnet group.

    " + "documentation":"

    The description for the subnet group.

    Constraints: This parameter Must not contain non-printable control characters.

    " }, "SubnetIds":{ "shape":"SubnetIdentifierList", @@ -3058,6 +3062,10 @@ "shape":"String", "documentation":"

    The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

    " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates whether the data provider is virtual.

    " + }, "Settings":{ "shape":"DataProviderSettings", "documentation":"

    The settings in JSON format for a data provider.

    " @@ -4162,7 +4170,7 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    Sets the maximum number of records returned in the response.

    " + "documentation":"

    End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

    Sets the maximum number of records returned in the response.

    " }, "NextToken":{ "shape":"String", @@ -5835,6 +5843,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information about an IBM DB2 LUW data provider.

    " @@ -5861,6 +5877,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information about an IBM DB2 for z/OS data provider.

    " @@ -6357,6 +6381,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines a MariaDB data provider.

    " @@ -6472,6 +6504,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines a Microsoft SQL Server data provider.

    " @@ -6635,6 +6675,10 @@ "shape":"String", "documentation":"

    The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

    " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates whether the data provider is virtual.

    " + }, "ExactSettings":{ "shape":"BooleanOptional", "documentation":"

    If this attribute is Y, the current call to ModifyDataProvider replaces all existing data provider settings with the exact settings that you specify in this call. If this attribute is N, the current call to ModifyDataProvider does two things:

    • It replaces any data provider settings that already exist with new values, for settings with the same names.

    • It creates new data provider settings that you specify in the call, for settings with different names.

    " @@ -7380,6 +7424,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines a MySQL data provider.

    " @@ -7478,6 +7530,14 @@ "SecretsManagerSecurityDbEncryptionAccessRoleArn":{ "shape":"String", "documentation":"

    The ARN of the IAM role that provides access to the secret in Secrets Manager that contains the TDE password.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines an Oracle data provider.

    " @@ -7913,6 +7973,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the certificate used for SSL connection.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines a PostgreSQL data provider.

    " @@ -8243,6 +8311,14 @@ "DatabaseName":{ "shape":"String", "documentation":"

    The database name on the Amazon Redshift data provider.

    " + }, + "S3Path":{ + "shape":"String", + "documentation":"

    The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

    " + }, + "S3AccessRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the role the application uses to access its Amazon S3 bucket.

    " } }, "documentation":"

    Provides information that defines an Amazon Redshift data provider.

    " @@ -9516,7 +9592,7 @@ }, "DatePartitionTimezone":{ "shape":"String", - "documentation":"

    When creating an S3 target endpoint, set DatePartitionTimezone to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The time zone format is Area/Location. Use this parameter when DatePartitionedEnabled is set to true, as shown in the following example.

    s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\": \"dms-nattarat-test\"}'

    " + "documentation":"

    When creating an S3 target endpoint, set DatePartitionTimezone to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The time zone format is Area/Location. Use this parameter when DatePartitionedEnabled is set to true, as shown in the following example:

    s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\": \"dms-nattarat-test\"}'

    " }, "AddTrailingPaddingCharacter":{ "shape":"BooleanOptional", @@ -10124,7 +10200,7 @@ }, "StartReplicationTaskType":{ "shape":"StartReplicationTaskTypeValue", - "documentation":"

    The type of replication task to start.

    When the migration type is full-load or full-load-and-cdc, the only valid value for the first run of the task is start-replication. This option will start the migration.

    You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

    The resume-processing option isn't applicable for a full-load task, because you can't resume partially loaded tables during the full load phase.

    For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

    " + "documentation":"

    The type of replication task to start.

    start-replication is the only valid action that can be used for the first time a task with the migration type of full-loadfull-load, full-load-and-cdc or cdc is run. Any other action used for the first time on a given task, such as resume-processing and reload-target will result in data errors.

    You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

    For a full-load task, the resume-processing option will reload any tables that were partially loaded or not yet loaded during the full load phase.

    For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

    For a cdc only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.

    resume-processing is only available for previously executed tasks.

    " }, "CdcStartTime":{ "shape":"TStamp", diff --git a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json index baa855c1507..57fb12f8aad 100644 --- a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json +++ b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json @@ -454,7 +454,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

    Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.

    If the organization's management account or a delegated administrator runs this API, it will return success (HTTP 200) but no content.

    " + "documentation":"

    Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.

    Based on the type of account that runs this API, the following list shows how the API behavior varies:

    • When the GuardDuty administrator account runs this API, it will return success (HTTP 200) but no content.

    • When a member account runs this API, it will return the details of the GuardDuty administrator account that is associated with this calling member account.

    • When an individual account (not associated with an organization) runs this API, it will return success (HTTP 200) but no content.

    " }, "GetCoverageStatistics":{ "name":"GetCoverageStatistics", @@ -1318,7 +1318,7 @@ }, "Email":{ "shape":"Email", - "documentation":"

    The email address of the member account.

    ", + "documentation":"

    The email address of the member account.

    The rules for a valid email address:

    • The email address must be a minimum of 6 and a maximum of 64 characters long.

    • All characters must be 7-bit ASCII characters.

    • There must be one and only one @ symbol, which separates the local name from the domain name.

    • The local name can't contain any of the following characters:

      whitespace, \" ' ( ) < > [ ] : ' , \\ | % &

    • The local name can't begin with a dot (.).

    • The domain name can consist of only the characters [a-z], [A-Z], [0-9], hyphen (-), or dot (.).

    • The domain name can't begin or end with a dot (.) or hyphen (-).

    • The domain name must contain at least one dot.

    ", "locationName":"email" } }, @@ -1474,6 +1474,11 @@ "shape":"Session", "documentation":"

    Contains information about the user session where the activity initiated.

    ", "locationName":"session" + }, + "Process":{ + "shape":"ActorProcess", + "documentation":"

    Contains information about the process associated with the threat actor. This includes details such as process name, path, execution time, and unique identifiers that help track the actor's activities within the system.

    ", + "locationName":"process" } }, "documentation":"

    Information about the actors involved in an attack sequence.

    " @@ -1483,11 +1488,40 @@ "member":{"shape":"String"}, "max":400 }, + "ActorProcess":{ + "type":"structure", + "required":[ + "Name", + "Path" + ], + "members":{ + "Name":{ + "shape":"ProcessName", + "documentation":"

    The name of the process as it appears in the system.

    ", + "locationName":"name" + }, + "Path":{ + "shape":"ProcessPath", + "documentation":"

    The full file path to the process executable on the system.

    ", + "locationName":"path" + }, + "Sha256":{ + "shape":"ProcessSha256", + "documentation":"

    The SHA256 hash of the process executable file, which can be used for identification and verification purposes.

    ", + "locationName":"sha256" + } + }, + "documentation":"

    Contains information about a process involved in a GuardDuty finding, including process identification, execution details, and file information.

    " + }, "Actors":{ "type":"list", "member":{"shape":"Actor"}, "max":400 }, + "AdditionalSequenceTypes":{ + "type":"list", + "member":{"shape":"FindingType"} + }, "AddonDetails":{ "type":"structure", "members":{ @@ -1862,6 +1896,17 @@ }, "documentation":"

    Contains information on the status of CloudTrail as a data source for the detector.

    " }, + "ClusterStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING", + "PENDING" + ] + }, "Condition":{ "type":"structure", "members":{ @@ -1993,6 +2038,28 @@ }, "documentation":"

    Details of a container.

    " }, + "ContainerFindingResource":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"String", + "documentation":"

    The container image information, including the image name and tag used to run the container that was involved in the finding.

    ", + "locationName":"image" + }, + "ImageUid":{ + "shape":"ContainerImageUid", + "documentation":"

    The unique ID associated with the container image.

    ", + "locationName":"imageUid" + } + }, + "documentation":"

    Contains information about container resources involved in a GuardDuty finding. This structure provides details about containers that were identified as part of suspicious or malicious activity.

    " + }, + "ContainerImageUid":{ + "type":"string", + "max":1024, + "min":1 + }, "ContainerInstanceDetails":{ "type":"structure", "members":{ @@ -2009,6 +2076,15 @@ }, "documentation":"

    Contains information about the Amazon EC2 instance that is running the Amazon ECS container.

    " }, + "ContainerUid":{ + "type":"string", + "max":256, + "min":0 + }, + "ContainerUids":{ + "type":"list", + "member":{"shape":"ContainerUid"} + }, "Containers":{ "type":"list", "member":{"shape":"Container"} @@ -3771,6 +3847,17 @@ }, "documentation":"

    Details about the potentially impacted Amazon EC2 instance resource.

    " }, + "Ec2InstanceUid":{ + "type":"string", + "max":256, + "min":0 + }, + "Ec2InstanceUids":{ + "type":"list", + "member":{"shape":"Ec2InstanceUid"}, + "max":25, + "min":0 + }, "Ec2NetworkInterface":{ "type":"structure", "members":{ @@ -3918,6 +4005,37 @@ }, "documentation":"

    Contains information about the task in an ECS cluster.

    " }, + "EksCluster":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) that uniquely identifies the Amazon EKS cluster involved in the finding.

    ", + "locationName":"arn" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp indicating when the Amazon EKS cluster was created, in UTC format.

    ", + "locationName":"createdAt" + }, + "Status":{ + "shape":"ClusterStatus", + "documentation":"

    The current status of the Amazon EKS cluster.

    ", + "locationName":"status" + }, + "VpcId":{ + "shape":"String", + "documentation":"

    The ID of the Amazon Virtual Private Cloud (Amazon VPC) associated with the Amazon EKS cluster.

    ", + "locationName":"vpcId" + }, + "Ec2InstanceUids":{ + "shape":"Ec2InstanceUids", + "documentation":"

    A list of unique identifiers for the Amazon EC2 instances that serve as worker nodes in the Amazon EKS cluster.

    ", + "locationName":"ec2InstanceUids" + } + }, + "documentation":"

    Contains information about the Amazon EKS cluster involved in a GuardDuty finding, including cluster identification, status, and network configuration.

    " + }, "EksClusterDetails":{ "type":"structure", "members":{ @@ -3957,7 +4075,8 @@ "Email":{ "type":"string", "max":64, - "min":1, + "min":6, + "pattern":"See rules in parameter description", "sensitive":true }, "EnableOrganizationAdminAccountRequest":{ @@ -4087,7 +4206,7 @@ "members":{ "CriterionKey":{ "shape":"CriterionKey", - "documentation":"

    An enum value representing possible scan properties to match with given scan entries.

    Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME. CLUSTER_NAME has been deprecated.

    ", + "documentation":"

    An enum value representing possible scan properties to match with given scan entries.

    ", "locationName":"criterionKey" }, "FilterCondition":{ @@ -4177,7 +4296,7 @@ }, "Region":{ "shape":"String", - "documentation":"

    The Region where the finding was generated.

    ", + "documentation":"

    The Region where the finding was generated. For findings generated from Global Service Events, the Region value in the finding might differ from the Region where GuardDuty identifies the potential threat. For more information, see How GuardDuty handles Amazon Web Services CloudTrail global events in the Amazon GuardDuty User Guide.

    ", "locationName":"region" }, "Resource":{ @@ -4258,7 +4377,10 @@ "EC2_NETWORK_INTERFACE", "S3_BUCKET", "S3_OBJECT", - "ACCESS_KEY" + "ACCESS_KEY", + "EKS_CLUSTER", + "KUBERNETES_WORKLOAD", + "CONTAINER" ] }, "FindingStatisticType":{ @@ -5244,7 +5366,13 @@ "ATTACK_TECHNIQUE", "UNUSUAL_API_FOR_ACCOUNT", "UNUSUAL_ASN_FOR_ACCOUNT", - "UNUSUAL_ASN_FOR_USER" + "UNUSUAL_ASN_FOR_USER", + "SUSPICIOUS_PROCESS", + "MALICIOUS_DOMAIN", + "MALICIOUS_PROCESS", + "CRYPTOMINING_IP", + "CRYPTOMINING_DOMAIN", + "CRYPTOMINING_PROCESS" ] }, "IndicatorValueString":{ @@ -5659,6 +5787,19 @@ }, "documentation":"

    Information about the Kubernetes API for which you check if you have permission to call.

    " }, + "KubernetesResourcesTypes":{ + "type":"string", + "enum":[ + "PODS", + "JOBS", + "CRONJOBS", + "DEPLOYMENTS", + "DAEMONSETS", + "STATEFULSETS", + "REPLICASETS", + "REPLICATIONCONTROLLERS" + ] + }, "KubernetesRoleBindingDetails":{ "type":"structure", "members":{ @@ -5742,6 +5883,27 @@ }, "documentation":"

    Details about the Kubernetes user involved in a Kubernetes finding.

    " }, + "KubernetesWorkload":{ + "type":"structure", + "members":{ + "ContainerUids":{ + "shape":"ContainerUids", + "documentation":"

    A list of unique identifiers for the containers that are part of the Kubernetes workload.

    ", + "locationName":"containerUids" + }, + "Namespace":{ + "shape":"String", + "documentation":"

    The Kubernetes namespace in which the workload is running, providing logical isolation within the cluster.

    ", + "locationName":"namespace" + }, + "KubernetesResourcesTypes":{ + "shape":"KubernetesResourcesTypes", + "documentation":"

    The types of Kubernetes resources involved in the workload.

    ", + "locationName":"kubernetesResourcesTypes" + } + }, + "documentation":"

    Contains information about Kubernetes workloads involved in a GuardDuty finding, including pods, deployments, and other Kubernetes resources.

    " + }, "KubernetesWorkloadDetails":{ "type":"structure", "members":{ @@ -7620,6 +7782,21 @@ }, "documentation":"

    Information about the observed process.

    " }, + "ProcessName":{ + "type":"string", + "max":4096, + "min":0 + }, + "ProcessPath":{ + "type":"string", + "max":4096, + "min":0 + }, + "ProcessSha256":{ + "type":"string", + "max":1024, + "min":0 + }, "ProductCode":{ "type":"structure", "members":{ @@ -8018,6 +8195,21 @@ "shape":"S3Object", "documentation":"

    Contains information about the Amazon S3 object.

    ", "locationName":"s3Object" + }, + "EksCluster":{ + "shape":"EksCluster", + "documentation":"

    Contains detailed information about the Amazon EKS cluster associated with the activity that prompted GuardDuty to generate a finding.

    ", + "locationName":"eksCluster" + }, + "KubernetesWorkload":{ + "shape":"KubernetesWorkload", + "documentation":"

    Contains detailed information about the Kubernetes workload associated with the activity that prompted GuardDuty to generate a finding.

    ", + "locationName":"kubernetesWorkload" + }, + "Container":{ + "shape":"ContainerFindingResource", + "documentation":"

    Contains detailed information about the container associated with the activity that prompted GuardDuty to generate a finding.

    ", + "locationName":"container" } }, "documentation":"

    Contains information about the Amazon Web Services resource that is associated with the activity that prompted GuardDuty to generate a finding.

    " @@ -8883,6 +9075,11 @@ "shape":"Indicators", "documentation":"

    Contains information about the indicators observed in the attack sequence.

    ", "locationName":"sequenceIndicators" + }, + "AdditionalSequenceTypes":{ + "shape":"AdditionalSequenceTypes", + "documentation":"

    Additional types of sequences that may be associated with the attack sequence finding, providing further context about the nature of the detected threat.

    ", + "locationName":"additionalSequenceTypes" } }, "documentation":"

    Contains information about the GuardDuty attack sequence finding.

    " @@ -9139,7 +9336,11 @@ "enum":[ "FINDING", "CLOUD_TRAIL", - "S3_DATA_EVENTS" + "S3_DATA_EVENTS", + "EKS_AUDIT_LOGS", + "FLOW_LOGS", + "DNS_LOGS", + "RUNTIME_MONITORING" ] }, "Signals":{ diff --git a/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json b/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json index ff7f437504b..af1ba1f8475 100644 --- a/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json +++ b/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json @@ -33,6 +33,44 @@ ], "documentation":"

    Associates an Amazon Web Services account with an Amazon Inspector delegated administrator. An HTTP 200 response indicates the association was successfully started, but doesn’t indicate whether it was completed. You can check if the association completed by using ListMembers for multiple accounts or GetMembers for a single account.

    " }, + "BatchAssociateCodeSecurityScanConfiguration":{ + "name":"BatchAssociateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/batch/associate", + "responseCode":200 + }, + "input":{"shape":"BatchAssociateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"BatchAssociateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Associates multiple code repositories with an Amazon Inspector code security scan configuration.

    " + }, + "BatchDisassociateCodeSecurityScanConfiguration":{ + "name":"BatchDisassociateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/batch/disassociate", + "responseCode":200 + }, + "input":{"shape":"BatchDisassociateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"BatchDisassociateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Disassociates multiple code repositories from an Amazon Inspector code security scan configuration.

    " + }, "BatchGetAccountStatus":{ "name":"BatchGetAccountStatus", "http":{ @@ -190,6 +228,44 @@ ], "documentation":"

    Creates a CIS scan configuration.

    " }, + "CreateCodeSecurityIntegration":{ + "name":"CreateCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/create", + "responseCode":200 + }, + "input":{"shape":"CreateCodeSecurityIntegrationRequest"}, + "output":{"shape":"CreateCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates a code security integration with a source code repository provider.

    After calling the CreateCodeSecurityIntegration operation, you complete authentication and authorization with your provider. Next you call the UpdateCodeSecurityIntegration operation to provide the details to complete the integration setup

    " + }, + "CreateCodeSecurityScanConfiguration":{ + "name":"CreateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/create", + "responseCode":200 + }, + "input":{"shape":"CreateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"CreateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates a scan configuration for code security scanning.

    " + }, "CreateFilter":{ "name":"CreateFilter", "http":{ @@ -264,6 +340,42 @@ ], "documentation":"

    Deletes a CIS scan configuration.

    " }, + "DeleteCodeSecurityIntegration":{ + "name":"DeleteCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteCodeSecurityIntegrationRequest"}, + "output":{"shape":"DeleteCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Deletes a code security integration.

    " + }, + "DeleteCodeSecurityScanConfiguration":{ + "name":"DeleteCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"DeleteCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Deletes a code security scan configuration.

    " + }, "DeleteFilter":{ "name":"DeleteFilter", "http":{ @@ -442,6 +554,61 @@ ], "documentation":"

    Returns a list of clusters and metadata associated with an image.

    " }, + "GetCodeSecurityIntegration":{ + "name":"GetCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityIntegrationRequest"}, + "output":{"shape":"GetCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Retrieves information about a code security integration.

    " + }, + "GetCodeSecurityScan":{ + "name":"GetCodeSecurityScan", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityScanRequest"}, + "output":{"shape":"GetCodeSecurityScanResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Retrieves information about a specific code security scan.

    " + }, + "GetCodeSecurityScanConfiguration":{ + "name":"GetCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"GetCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Retrieves information about a code security scan configuration.

    " + }, "GetConfiguration":{ "name":"GetConfiguration", "http":{ @@ -651,6 +818,59 @@ ], "documentation":"

    Returns a CIS scan list.

    " }, + "ListCodeSecurityIntegrations":{ + "name":"ListCodeSecurityIntegrations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityIntegrationsRequest"}, + "output":{"shape":"ListCodeSecurityIntegrationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Lists all code security integrations in your account.

    " + }, + "ListCodeSecurityScanConfigurationAssociations":{ + "name":"ListCodeSecurityScanConfigurationAssociations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/associations/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityScanConfigurationAssociationsRequest"}, + "output":{"shape":"ListCodeSecurityScanConfigurationAssociationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Lists the associations between code repositories and Amazon Inspector code security scan configurations.

    " + }, + "ListCodeSecurityScanConfigurations":{ + "name":"ListCodeSecurityScanConfigurations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityScanConfigurationsRequest"}, + "output":{"shape":"ListCodeSecurityScanConfigurationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Lists all code security scan configurations in your account.

    " + }, "ListCoverage":{ "name":"ListCoverage", "http":{ @@ -893,6 +1113,25 @@ "documentation":"

    Starts a CIS session. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.

    ", "idempotent":true }, + "StartCodeSecurityScan":{ + "name":"StartCodeSecurityScan", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan/start", + "responseCode":200 + }, + "input":{"shape":"StartCodeSecurityScanRequest"}, + "output":{"shape":"StartCodeSecurityScanResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Initiates a code security scan on a specified repository.

    " + }, "StopCisSession":{ "name":"StopCisSession", "http":{ @@ -966,6 +1205,44 @@ ], "documentation":"

    Updates a CIS scan configuration.

    " }, + "UpdateCodeSecurityIntegration":{ + "name":"UpdateCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/update", + "responseCode":200 + }, + "input":{"shape":"UpdateCodeSecurityIntegrationRequest"}, + "output":{"shape":"UpdateCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Updates an existing code security integration.

    After calling the CreateCodeSecurityIntegration operation, you complete authentication and authorization with your provider. Next you call the UpdateCodeSecurityIntegration operation to provide the details to complete the integration setup

    " + }, + "UpdateCodeSecurityScanConfiguration":{ + "name":"UpdateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/update", + "responseCode":200 + }, + "input":{"shape":"UpdateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"UpdateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Updates an existing code security scan configuration.

    " + }, "UpdateConfiguration":{ "name":"UpdateConfiguration", "http":{ @@ -1079,7 +1356,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

    You do not have sufficient access to perform this action.

    ", + "documentation":"

    You do not have sufficient access to perform this action.

    For Enable, you receive this error if you attempt to use a feature in an unsupported Amazon Web Services Region.

    ", "error":{ "httpStatusCode":403, "senderFault":true @@ -1236,6 +1513,10 @@ "shape":"AwsEcrContainerAggregation", "documentation":"

    An object that contains details about an aggregation request based on Amazon ECR container images.

    " }, + "codeRepositoryAggregation":{ + "shape":"CodeRepositoryAggregation", + "documentation":"

    An object that contains details about an aggregation request based on code repositories.

    " + }, "ec2InstanceAggregation":{ "shape":"Ec2InstanceAggregation", "documentation":"

    An object that contains details about an aggregation request based on Amazon EC2 instances.

    " @@ -1295,6 +1576,10 @@ "shape":"AwsEcrContainerAggregationResponse", "documentation":"

    An object that contains details about an aggregation response based on Amazon ECR container images.

    " }, + "codeRepositoryAggregation":{ + "shape":"CodeRepositoryAggregationResponse", + "documentation":"

    An object that contains details about an aggregation response based on code repositories.

    " + }, "ec2InstanceAggregation":{ "shape":"Ec2InstanceAggregationResponse", "documentation":"

    An object that contains details about an aggregation response based on Amazon EC2 instances.

    " @@ -1348,7 +1633,8 @@ "IMAGE_LAYER", "ACCOUNT", "AWS_LAMBDA_FUNCTION", - "LAMBDA_LAYER" + "LAMBDA_LAYER", + "CODE_REPOSITORY" ] }, "AmiAggregation":{ @@ -1423,6 +1709,27 @@ "max":1011, "min":1 }, + "AssociateConfigurationRequest":{ + "type":"structure", + "required":[ + "resource", + "scanConfigurationArn" + ], + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration.

    " + } + }, + "documentation":"

    Contains details about a request to associate a code repository with a scan configuration.

    " + }, + "AssociateConfigurationRequestList":{ + "type":"list", + "member":{"shape":"AssociateConfigurationRequest"}, + "max":25, + "min":1 + }, "AssociateMemberRequest":{ "type":"structure", "required":["accountId"], @@ -1443,6 +1750,21 @@ } } }, + "AssociationResultStatusCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "ACCESS_DENIED", + "SCAN_CONFIGURATION_NOT_FOUND", + "INVALID_INPUT", + "RESOURCE_NOT_FOUND", + "QUOTA_EXCEEDED" + ] + }, + "AssociationResultStatusMessage":{ + "type":"string", + "min":1 + }, "AtigData":{ "type":"structure", "members":{ @@ -1465,6 +1787,10 @@ }, "documentation":"

    The Amazon Web Services Threat Intel Group (ATIG) details for a specific vulnerability.

    " }, + "AuthorizationUrl":{ + "type":"string", + "sensitive":true + }, "AutoEnable":{ "type":"structure", "required":[ @@ -1472,6 +1798,10 @@ "ecr" ], "members":{ + "codeRepository":{ + "shape":"Boolean", + "documentation":"

    Represents whether code repository scans are automatically enabled for new members of your Amazon Inspector organization.

    " + }, "ec2":{ "shape":"Boolean", "documentation":"

    Represents whether Amazon EC2 scans are automatically enabled for new members of your Amazon Inspector organization.

    " @@ -1486,7 +1816,7 @@ }, "lambdaCode":{ "shape":"Boolean", - "documentation":"

    Represents whether Lambda code scans are automatically enabled for new members of your Amazon Inspector organization.

     </p> 
    " + "documentation":"

    Represents whether Lambda code scans are automatically enabled for new members of your Amazon Inspector organization.

    " } }, "documentation":"

    Represents which scan types are automatically enabled for new members of your Amazon Inspector organization.

    " @@ -1828,6 +2158,52 @@ }, "exception":true }, + "BatchAssociateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["associateConfigurationRequests"], + "members":{ + "associateConfigurationRequests":{ + "shape":"AssociateConfigurationRequestList", + "documentation":"

    A list of code repositories to associate with the specified scan configuration.

    " + } + } + }, + "BatchAssociateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "failedAssociations":{ + "shape":"FailedAssociationResultList", + "documentation":"

    Details of any code repositories that failed to be associated with the scan configuration.

    " + }, + "successfulAssociations":{ + "shape":"SuccessfulAssociationResultList", + "documentation":"

    Details of code repositories that were successfully associated with the scan configuration.

    " + } + } + }, + "BatchDisassociateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["disassociateConfigurationRequests"], + "members":{ + "disassociateConfigurationRequests":{ + "shape":"DisassociateConfigurationRequestList", + "documentation":"

    A list of code repositories to disassociate from the specified scan configuration.

    " + } + } + }, + "BatchDisassociateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "failedAssociations":{ + "shape":"FailedAssociationResultList", + "documentation":"

    Details of any code repositories that failed to be disassociated from the scan configuration.

    " + }, + "successfulAssociations":{ + "shape":"SuccessfulAssociationResultList", + "documentation":"

    Details of code repositories that were successfully disassociated from the scan configuration.

    " + } + } + }, "BatchGetAccountStatusRequest":{ "type":"structure", "members":{ @@ -1941,7 +2317,7 @@ "members":{ "accountIds":{ "shape":"AccountIdSet", - "documentation":"

    The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection activation status for.

     </p> 
    " + "documentation":"

    The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection activation status for.

    " } } }, @@ -1950,11 +2326,11 @@ "members":{ "accountIds":{ "shape":"MemberAccountEc2DeepInspectionStatusStateList", - "documentation":"

    An array of objects that provide details on the activation status of Amazon Inspector deep inspection for each of the requested accounts.

     </p> 
    " + "documentation":"

    An array of objects that provide details on the activation status of Amazon Inspector deep inspection for each of the requested accounts.

    " }, "failedAccountIds":{ "shape":"FailedMemberAccountEc2DeepInspectionStatusStateList", - "documentation":"

    An array of objects that provide details on any accounts that failed to activate Amazon Inspector deep inspection and why.

     </p> 
    " + "documentation":"

    An array of objects that provide details on any accounts that failed to activate Amazon Inspector deep inspection and why.

    " } } }, @@ -3014,26 +3390,359 @@ "max":20, "min":1 }, - "CodeSnippetError":{ + "CodeRepositoryAggregation":{ "type":"structure", - "required":[ - "errorCode", - "errorMessage", - "findingArn" - ], "members":{ - "errorCode":{ - "shape":"CodeSnippetErrorCode", - "documentation":"

    The error code for the error that prevented a code snippet from being retrieved.

    " + "projectNames":{ + "shape":"StringFilterList", + "documentation":"

    The project names to include in the aggregation results.

    " }, - "errorMessage":{ - "shape":"NonEmptyString", - "documentation":"

    The error message received when Amazon Inspector failed to retrieve a code snippet.

    " + "providerTypes":{ + "shape":"StringFilterList", + "documentation":"

    The repository provider types to include in the aggregation results.

    " }, - "findingArn":{ - "shape":"FindingArn", - "documentation":"

    The ARN of the finding that a code snippet couldn't be retrieved for.

    " - } + "resourceIds":{ + "shape":"StringFilterList", + "documentation":"

    The resource IDs to include in the aggregation results.

    " + }, + "sortBy":{ + "shape":"CodeRepositorySortBy", + "documentation":"

    The value to sort results by in the code repository aggregation.

    " + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

    The order to sort results by (ascending or descending) in the code repository aggregation.

    " + } + }, + "documentation":"

    The details that define an aggregation based on code repositories.

    " + }, + "CodeRepositoryAggregationResponse":{ + "type":"structure", + "required":["projectNames"], + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

    The Amazon Web Services account ID associated with the code repository.

    " + }, + "exploitAvailableActiveFindingsCount":{ + "shape":"Long", + "documentation":"

    The number of active findings that have an exploit available for the code repository.

    " + }, + "fixAvailableActiveFindingsCount":{ + "shape":"Long", + "documentation":"

    The number of active findings that have a fix available for the code repository.

    " + }, + "projectNames":{ + "shape":"String", + "documentation":"

    The names of the projects associated with the code repository.

    " + }, + "providerType":{ + "shape":"String", + "documentation":"

    The type of repository provider for the code repository.

    " + }, + "resourceId":{ + "shape":"String", + "documentation":"

    The resource ID of the code repository.

    " + }, + "severityCounts":{"shape":"SeverityCounts"} + }, + "documentation":"

    A response that contains the results of a finding aggregation by code repository.

    " + }, + "CodeRepositoryDetails":{ + "type":"structure", + "members":{ + "integrationArn":{ + "shape":"CodeRepositoryIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration associated with the repository.

    " + }, + "projectName":{ + "shape":"CodeRepositoryProjectName", + "documentation":"

    The name of the project in the code repository.

    " + }, + "providerType":{ + "shape":"CodeRepositoryProviderType", + "documentation":"

    The type of repository provider (such as GitHub, GitLab, etc.).

    " + } + }, + "documentation":"

    Contains details about a code repository associated with a finding.

    " + }, + "CodeRepositoryIntegrationArn":{ + "type":"string", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}$" + }, + "CodeRepositoryMetadata":{ + "type":"structure", + "required":[ + "projectName", + "providerType", + "providerTypeVisibility" + ], + "members":{ + "integrationArn":{ + "shape":"CodeRepositoryIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration associated with the repository.

    " + }, + "lastScannedCommitId":{ + "shape":"CommitId", + "documentation":"

    The ID of the last commit that was scanned in the repository.

    " + }, + "onDemandScan":{ + "shape":"CodeRepositoryOnDemandScan", + "documentation":"

    Information about on-demand scans performed on the repository.

    " + }, + "projectName":{ + "shape":"CodeRepositoryMetadataProjectNameString", + "documentation":"

    The name of the project in the code repository.

    " + }, + "providerType":{ + "shape":"CodeRepositoryMetadataProviderTypeString", + "documentation":"

    The type of repository provider (such as GitHub, GitLab, etc.).

    " + }, + "providerTypeVisibility":{ + "shape":"CodeRepositoryMetadataProviderTypeVisibilityString", + "documentation":"

    The visibility setting of the repository (public or private).

    " + }, + "scanConfiguration":{ + "shape":"ProjectCodeSecurityScanConfiguration", + "documentation":"

    The scan configuration settings applied to the code repository.

    " + } + }, + "documentation":"

    Contains metadata information about a code repository that is being scanned by Amazon Inspector.

    " + }, + "CodeRepositoryMetadataProjectNameString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryMetadataProviderTypeString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryMetadataProviderTypeVisibilityString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryOnDemandScan":{ + "type":"structure", + "members":{ + "lastScanAt":{ + "shape":"DateTimeTimestamp", + "documentation":"

    The timestamp when the last on-demand scan was performed.

    " + }, + "lastScannedCommitId":{ + "shape":"CommitId", + "documentation":"

    The ID of the last commit that was scanned during an on-demand scan.

    " + }, + "scanStatus":{"shape":"ScanStatus"} + }, + "documentation":"

    Contains information about on-demand scans performed on a code repository.

    " + }, + "CodeRepositoryProjectName":{ + "type":"string", + "max":512, + "min":1 + }, + "CodeRepositoryProviderType":{ + "type":"string", + "enum":[ + "GITHUB", + "GITLAB_SELF_MANAGED" + ] + }, + "CodeRepositorySortBy":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "ALL" + ] + }, + "CodeScanStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED", + "SKIPPED" + ] + }, + "CodeSecurityClientToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\S]+$" + }, + "CodeSecurityIntegrationArn":{ + "type":"string", + "documentation":"

    arn:aws:inspector2:::codesecurity-integration/

    ", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration/[a-f0-9-]{36}$" + }, + "CodeSecurityIntegrationSummary":{ + "type":"structure", + "required":[ + "createdOn", + "integrationArn", + "lastUpdateOn", + "name", + "status", + "statusReason", + "type" + ], + "members":{ + "createdOn":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the code security integration was created.

    " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration.

    " + }, + "lastUpdateOn":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the code security integration was last updated.

    " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

    The name of the code security integration.

    " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

    The current status of the code security integration.

    " + }, + "statusReason":{ + "shape":"String", + "documentation":"

    The reason for the current status of the code security integration.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with the code security integration.

    " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

    The type of repository provider for the integration.

    " + } + }, + "documentation":"

    A summary of information about a code security integration.

    " + }, + "CodeSecurityResource":{ + "type":"structure", + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

    The unique identifier of the project in the code repository.

    " + } + }, + "documentation":"

    Identifies a specific resource in a code repository that will be scanned.

    ", + "union":true + }, + "CodeSecurityScanConfiguration":{ + "type":"structure", + "required":["ruleSetCategories"], + "members":{ + "continuousIntegrationScanConfiguration":{ + "shape":"ContinuousIntegrationScanConfiguration", + "documentation":"

    Configuration settings for continuous integration scans that run automatically when code changes are made.

    " + }, + "periodicScanConfiguration":{ + "shape":"PeriodicScanConfiguration", + "documentation":"

    Configuration settings for periodic scans that run on a scheduled basis.

    " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

    The categories of security rules to be applied during the scan.

    " + } + }, + "documentation":"

    Contains the configuration settings for code security scans.

    " + }, + "CodeSecurityScanConfigurationAssociationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityScanConfigurationAssociationSummary"} + }, + "CodeSecurityScanConfigurationAssociationSummary":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"} + }, + "documentation":"

    A summary of an association between a code repository and a scan configuration.

    " + }, + "CodeSecurityScanConfigurationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityScanConfigurationSummary"} + }, + "CodeSecurityScanConfigurationSummary":{ + "type":"structure", + "required":[ + "name", + "ownerAccountId", + "ruleSetCategories", + "scanConfigurationArn" + ], + "members":{ + "continuousIntegrationScanSupportedEvents":{ + "shape":"ContinuousIntegrationScanSupportedEvents", + "documentation":"

    The repository events that trigger continuous integration scans.

    " + }, + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

    The schedule expression for periodic scans, in cron format.

    " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

    The name of the scan configuration.

    " + }, + "ownerAccountId":{ + "shape":"OwnerId", + "documentation":"

    The Amazon Web Services account ID that owns the scan configuration.

    " + }, + "periodicScanFrequency":{ + "shape":"PeriodicScanFrequency", + "documentation":"

    The frequency at which periodic scans are performed.

    " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

    The categories of security rules applied during the scan.

    " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration.

    " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

    The scope settings that define which repositories will be scanned. If the ScopeSetting parameter is ALL the scan configuration applies to all existing and future projects imported into Amazon Inspector.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with the scan configuration.

    " + } + }, + "documentation":"

    A summary of information about a code security scan configuration.

    " + }, + "CodeSecurityUuid":{ + "type":"string", + "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "CodeSnippetError":{ + "type":"structure", + "required":[ + "errorCode", + "errorMessage", + "findingArn" + ], + "members":{ + "errorCode":{ + "shape":"CodeSnippetErrorCode", + "documentation":"

    The error code for the error that prevented a code snippet from being retrieved.

    " + }, + "errorMessage":{ + "shape":"NonEmptyString", + "documentation":"

    The error message received when Amazon Inspector failed to retrieve a code snippet.

    " + }, + "findingArn":{ + "shape":"FindingArn", + "documentation":"

    The ARN of the finding that a code snippet couldn't be retrieved for.

    " + } }, "documentation":"

    Contains information about any errors encountered while trying to retrieve a code snippet.

    " }, @@ -3124,6 +3833,12 @@ }, "documentation":"

    Contains information on the code vulnerability identified in your Lambda function.

    " }, + "CommitId":{ + "type":"string", + "max":40, + "min":0, + "pattern":"^([a-f0-9]{40})$" + }, "Component":{"type":"string"}, "ComponentArn":{"type":"string"}, "ComponentType":{"type":"string"}, @@ -3145,6 +3860,13 @@ }, "documentation":"

    A compute platform.

    " }, + "ConfigurationLevel":{ + "type":"string", + "enum":[ + "ORGANIZATION", + "ACCOUNT" + ] + }, "ConflictException":{ "type":"structure", "required":[ @@ -3163,13 +3885,37 @@ "documentation":"

    The type of the conflicting resource.

    " } }, - "documentation":"

    A conflict occurred.

    ", + "documentation":"

    A conflict occurred. This exception occurs when the same resource is being modified by concurrent requests.

    ", "error":{ "httpStatusCode":409, "senderFault":true }, "exception":true }, + "ContinuousIntegrationScanConfiguration":{ + "type":"structure", + "required":["supportedEvents"], + "members":{ + "supportedEvents":{ + "shape":"ContinuousIntegrationScanSupportedEvents", + "documentation":"

    The repository events that trigger continuous integration scans, such as pull requests or commits.

    " + } + }, + "documentation":"

    Configuration settings for continuous integration scans that run automatically when code changes are made.

    " + }, + "ContinuousIntegrationScanEvent":{ + "type":"string", + "enum":[ + "PULL_REQUEST", + "PUSH" + ] + }, + "ContinuousIntegrationScanSupportedEvents":{ + "type":"list", + "member":{"shape":"ContinuousIntegrationScanEvent"}, + "max":2, + "min":1 + }, "Counts":{ "type":"structure", "members":{ @@ -3217,6 +3963,18 @@ "shape":"CoverageStringFilterList", "documentation":"

    An array of Amazon Web Services account IDs to return coverage statistics for.

    " }, + "codeRepositoryProjectName":{ + "shape":"CoverageStringFilterList", + "documentation":"

    Filter criteria for code repositories based on project name.

    " + }, + "codeRepositoryProviderType":{ + "shape":"CoverageStringFilterList", + "documentation":"

    Filter criteria for code repositories based on provider type (such as GitHub, GitLab, etc.).

    " + }, + "codeRepositoryProviderTypeVisibility":{ + "shape":"CoverageStringFilterList", + "documentation":"

    Filter criteria for code repositories based on visibility setting (public or private).

    " + }, "ec2InstanceTags":{ "shape":"CoverageMapFilterList", "documentation":"

    The Amazon EC2 instance tags to filter on.

    " @@ -3257,6 +4015,10 @@ "shape":"CoverageDateFilterList", "documentation":"

    Filters Amazon Web Services resources based on whether Amazon Inspector has checked them for vulnerabilities within the specified time range.

    " }, + "lastScannedCommitId":{ + "shape":"CoverageStringFilterList", + "documentation":"

    Filter criteria for code repositories based on the ID of the last scanned commit.

    " + }, "resourceId":{ "shape":"CoverageStringFilterList", "documentation":"

    An array of Amazon Web Services resource IDs to return coverage statistics for.

    " @@ -3342,7 +4104,8 @@ "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", - "AWS_LAMBDA_FUNCTION" + "AWS_LAMBDA_FUNCTION", + "CODE_REPOSITORY" ] }, "CoverageStringComparison":{ @@ -3487,6 +4250,92 @@ }, "documentation":"

    Creates CIS targets.

    " }, + "CreateCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "details":{ + "shape":"CreateIntegrationDetail", + "documentation":"

    The integration details specific to the repository provider type.

    " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

    The name of the code security integration.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags to apply to the code security integration.

    " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

    The type of repository provider for the integration.

    " + } + } + }, + "CreateCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "integrationArn", + "status" + ], + "members":{ + "authorizationUrl":{ + "shape":"AuthorizationUrl", + "documentation":"

    The URL used to authorize the integration with the repository provider.

    " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the created code security integration.

    " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

    The current status of the code security integration.

    " + } + } + }, + "CreateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":[ + "configuration", + "level", + "name" + ], + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

    The configuration settings for the code security scan.

    " + }, + "level":{ + "shape":"ConfigurationLevel", + "documentation":"

    The security level for the scan configuration.

    " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

    The name of the scan configuration.

    " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

    The scope settings that define which repositories will be scanned. Include this parameter to create a default scan configuration. Otherwise Amazon Inspector creates a general scan configuration.

    A default scan configuration automatically applies to all existing and future projects imported into Amazon Inspector. Use the BatchAssociateCodeSecurityScanConfiguration operation to associate a general scan configuration with projects.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags to apply to the scan configuration.

    " + } + } + }, + "CreateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the created scan configuration.

    " + } + } + }, "CreateFilterRequest":{ "type":"structure", "required":[ @@ -3561,6 +4410,35 @@ } } }, + "CreateGitLabSelfManagedIntegrationDetail":{ + "type":"structure", + "required":[ + "accessToken", + "instanceUrl" + ], + "members":{ + "accessToken":{ + "shape":"GitLabAccessToken", + "documentation":"

    The personal access token used to authenticate with the self-managed GitLab instance.

    " + }, + "instanceUrl":{ + "shape":"InstanceUrl", + "documentation":"

    The URL of the self-managed GitLab instance.

    " + } + }, + "documentation":"

    Contains details required to create an integration with a self-managed GitLab instance.

    " + }, + "CreateIntegrationDetail":{ + "type":"structure", + "members":{ + "gitlabSelfManaged":{ + "shape":"CreateGitLabSelfManagedIntegrationDetail", + "documentation":"

    Details specific to creating an integration with a self-managed GitLab instance.

    " + } + }, + "documentation":"

    Contains details required to create a code security integration with a specific repository provider.

    ", + "union":true + }, "CreateSbomExportRequest":{ "type":"structure", "required":[ @@ -3849,6 +4727,44 @@ } } }, + "DeleteCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":["integrationArn"], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration to delete.

    " + } + } + }, + "DeleteCodeSecurityIntegrationResponse":{ + "type":"structure", + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the deleted code security integration.

    " + } + } + }, + "DeleteCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration to delete.

    " + } + } + }, + "DeleteCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the deleted scan configuration.

    " + } + } + }, "DeleteFilterRequest":{ "type":"structure", "required":["arn"], @@ -3974,6 +4890,27 @@ } } }, + "DisassociateConfigurationRequest":{ + "type":"structure", + "required":[ + "resource", + "scanConfigurationArn" + ], + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration to disassociate from a code repository.

    " + } + }, + "documentation":"

    Contains details about a request to disassociate a code repository from a scan configuration.

    " + }, + "DisassociateConfigurationRequestList":{ + "type":"list", + "member":{"shape":"DisassociateConfigurationRequest"}, + "max":25, + "min":1 + }, "DisassociateMemberRequest":{ "type":"structure", "required":["accountId"], @@ -4263,7 +5200,7 @@ }, "rescanDuration":{ "shape":"EcrRescanDuration", - "documentation":"

    The rescan duration configured for image push date.

     </p> 
    " + "documentation":"

    The rescan duration configured for image push date.

    " }, "status":{ "shape":"EcrRescanDurationStatus", @@ -4519,6 +5456,29 @@ "max":100, "min":0 }, + "FailedAssociationResult":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration that failed to be associated or disassociated.

    " + }, + "statusCode":{ + "shape":"AssociationResultStatusCode", + "documentation":"

    The status code indicating why the association or disassociation failed.

    " + }, + "statusMessage":{ + "shape":"AssociationResultStatusMessage", + "documentation":"

    A message explaining why the association or disassociation failed.

    " + } + }, + "documentation":"

    Details about a failed attempt to associate or disassociate a code repository with a scan configuration.

    " + }, + "FailedAssociationResultList":{ + "type":"list", + "member":{"shape":"FailedAssociationResult"} + }, "FailedMemberAccountEc2DeepInspectionStatusState":{ "type":"structure", "required":["accountId"], @@ -4627,6 +5587,14 @@ "shape":"StringFilterList", "documentation":"

    Details of the Amazon Web Services account IDs used to filter findings.

    " }, + "codeRepositoryProjectName":{ + "shape":"StringFilterList", + "documentation":"

    Filter criteria for findings based on the project name in a code repository.

    " + }, + "codeRepositoryProviderType":{ + "shape":"StringFilterList", + "documentation":"

    Filter criteria for findings based on the repository provider type (such as GitHub, GitLab, etc.).

    " + }, "codeVulnerabilityDetectorName":{ "shape":"StringFilterList", "documentation":"

    The name of the detector used to identify a code vulnerability in a Lambda function used to filter findings.

    " @@ -5216,9 +6184,15 @@ "EC2", "ECR", "LAMBDA", - "LAMBDA_CODE" + "LAMBDA_CODE", + "CODE_REPOSITORY" ] }, + "FrequencyExpression":{ + "type":"string", + "max":256, + "min":1 + }, "FunctionName":{ "type":"string", "pattern":"^[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" @@ -5352,9 +6326,174 @@ "shape":"ClusterInformationList", "documentation":"

    A unit of work inside of a cluster, which can include metadata about the cluster.

    " }, - "nextToken":{ - "shape":"GetClustersForImageNextToken", - "documentation":"

    The pagination token from a previous request used to retrieve the next page of results.

    " + "nextToken":{ + "shape":"GetClustersForImageNextToken", + "documentation":"

    The pagination token from a previous request used to retrieve the next page of results.

    " + } + } + }, + "GetCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":["integrationArn"], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration to retrieve.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with the code security integration.

    " + } + } + }, + "GetCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "createdOn", + "integrationArn", + "lastUpdateOn", + "name", + "status", + "statusReason", + "type" + ], + "members":{ + "authorizationUrl":{ + "shape":"AuthorizationUrl", + "documentation":"

    The URL used to authorize the integration with the repository provider. This is only returned if reauthorization is required to fix a connection issue. Otherwise, it is null.

    " + }, + "createdOn":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the code security integration was created.

    " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration.

    " + }, + "lastUpdateOn":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the code security integration was last updated.

    " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

    The name of the code security integration.

    " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

    The current status of the code security integration.

    " + }, + "statusReason":{ + "shape":"String", + "documentation":"

    The reason for the current status of the code security integration.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with the code security integration.

    " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

    The type of repository provider for the integration.

    " + } + } + }, + "GetCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration to retrieve.

    " + } + } + }, + "GetCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

    The configuration settings for the code security scan.

    " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the scan configuration was created.

    " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the scan configuration was last updated.

    " + }, + "level":{ + "shape":"ConfigurationLevel", + "documentation":"

    The security level for the scan configuration.

    " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

    The name of the scan configuration.

    " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration.

    " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

    The scope settings that define which repositories will be scanned. If the ScopeSetting parameter is ALL the scan configuration applies to all existing and future projects imported into Amazon Inspector.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with the scan configuration.

    " + } + } + }, + "GetCodeSecurityScanRequest":{ + "type":"structure", + "required":[ + "resource", + "scanId" + ], + "members":{ + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

    The resource identifier for the code repository that was scanned.

    " + }, + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

    The unique identifier of the scan to retrieve.

    " + } + } + }, + "GetCodeSecurityScanResponse":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

    The Amazon Web Services account ID associated with the scan.

    " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the scan was created.

    " + }, + "lastCommitId":{ + "shape":"String", + "documentation":"

    The identifier of the last commit that was scanned. This is only returned if the scan was successful or skipped.

    " + }, + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

    The resource identifier for the code repository that was scanned.

    " + }, + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

    The unique identifier of the scan.

    " + }, + "status":{ + "shape":"CodeScanStatus", + "documentation":"

    The current status of the scan.

    " + }, + "statusReason":{ + "shape":"String", + "documentation":"

    The reason for the current status of the scan.

    " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the scan was last updated.

    " } } }, @@ -5547,6 +6686,27 @@ } } }, + "GitHubAuthCode":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "GitHubInstallationId":{ + "type":"string", + "max":1024, + "min":1 + }, + "GitLabAccessToken":{ + "type":"string", + "sensitive":true + }, + "GitLabAuthCode":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, "GroupKey":{ "type":"string", "enum":[ @@ -5643,10 +6803,44 @@ }, "documentation":"

    Information about the Amazon Inspector score given to a finding.

    " }, + "InstanceUrl":{ + "type":"string", + "pattern":"^https://[-a-zA-Z0-9()@:%_+.~#?&//=]{1,1024}$", + "sensitive":true + }, "Integer":{ "type":"integer", "box":true }, + "IntegrationName":{ + "type":"string", + "max":60, + "min":1, + "pattern":"^[a-zA-Z0-9-_$:.]*$" + }, + "IntegrationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "ACTIVE", + "INACTIVE", + "DISABLING" + ] + }, + "IntegrationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityIntegrationSummary"}, + "max":100, + "min":0 + }, + "IntegrationType":{ + "type":"string", + "enum":[ + "GITLAB_SELF_MANAGED", + "GITHUB" + ] + }, "InternalServerException":{ "type":"structure", "required":["message"], @@ -6179,6 +7373,119 @@ "FAILED_CHECKS" ] }, + "ListCodeSecurityIntegrationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityIntegrationsRequestMaxResultsInteger", + "documentation":"

    The maximum number of results to return in a single call.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCodeSecurityIntegrationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityIntegrationsResponse":{ + "type":"structure", + "members":{ + "integrations":{ + "shape":"IntegrationSummaries", + "documentation":"

    A list of code security integration summaries.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    " + } + } + }, + "ListCodeSecurityScanConfigurationAssociationsRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityScanConfigurationAssociationsRequestMaxResultsInteger", + "documentation":"

    The maximum number of results to return in the response. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    ", + "location":"querystring", + "locationName":"nextToken" + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration to list associations for.

    " + } + } + }, + "ListCodeSecurityScanConfigurationAssociationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityScanConfigurationAssociationsResponse":{ + "type":"structure", + "members":{ + "associations":{ + "shape":"CodeSecurityScanConfigurationAssociationSummaries", + "documentation":"

    A list of associations between code repositories and scan configurations.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    " + } + } + }, + "ListCodeSecurityScanConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityScanConfigurationsRequestMaxResultsInteger", + "documentation":"

    The maximum number of results to return in a single call.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCodeSecurityScanConfigurationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityScanConfigurationsResponse":{ + "type":"structure", + "members":{ + "configurations":{ + "shape":"CodeSecurityScanConfigurationSummaries", + "documentation":"

    A list of code security scan configuration summaries.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

    " + } + } + }, "ListCoverageMaxResults":{ "type":"integer", "box":true, @@ -6961,6 +8268,28 @@ "max":5, "min":0 }, + "PeriodicScanConfiguration":{ + "type":"structure", + "members":{ + "frequency":{ + "shape":"PeriodicScanFrequency", + "documentation":"

    The frequency at which periodic scans are performed (such as weekly or monthly).

    If you don't provide the frequencyExpression Amazon Inspector chooses day for the scan to run. If you provide the frequencyExpression, the schedule must match the specified frequency.

    " + }, + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

    The schedule expression for periodic scans, in cron format.

    " + } + }, + "documentation":"

    Configuration settings for periodic scans that run on a scheduled basis.

    " + }, + "PeriodicScanFrequency":{ + "type":"string", + "enum":[ + "WEEKLY", + "MONTHLY", + "NEVER" + ] + }, "Permission":{ "type":"structure", "required":[ @@ -7050,6 +8379,64 @@ "max":32, "min":0 }, + "ProjectCodeSecurityScanConfiguration":{ + "type":"structure", + "members":{ + "continuousIntegrationScanConfigurations":{ + "shape":"ProjectContinuousIntegrationScanConfigurationList", + "documentation":"

    The continuous integration scan configurations applied to the project.

    " + }, + "periodicScanConfigurations":{ + "shape":"ProjectPeriodicScanConfigurationList", + "documentation":"

    The periodic scan configurations applied to the project.

    " + } + }, + "documentation":"

    Contains the scan configuration settings applied to a specific project in a code repository.

    " + }, + "ProjectContinuousIntegrationScanConfiguration":{ + "type":"structure", + "members":{ + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

    The categories of security rules applied during continuous integration scans for the project.

    " + }, + "supportedEvent":{ + "shape":"ContinuousIntegrationScanEvent", + "documentation":"

    The repository event that triggers continuous integration scans for the project.

    " + } + }, + "documentation":"

    Contains the continuous integration scan configuration settings applied to a specific project.

    " + }, + "ProjectContinuousIntegrationScanConfigurationList":{ + "type":"list", + "member":{"shape":"ProjectContinuousIntegrationScanConfiguration"} + }, + "ProjectId":{ + "type":"string", + "pattern":"^project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "ProjectPeriodicScanConfiguration":{ + "type":"structure", + "members":{ + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

    The schedule expression for periodic scans, in cron format, applied to the project.

    " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

    The categories of security rules applied during periodic scans for the project.

    " + } + }, + "documentation":"

    Contains the periodic scan configuration settings applied to a specific project.

    " + }, + "ProjectPeriodicScanConfigurationList":{ + "type":"list", + "member":{"shape":"ProjectPeriodicScanConfiguration"} + }, + "ProjectSelectionScope":{ + "type":"string", + "enum":["ALL"] + }, "Reason":{ "type":"string", "max":1024, @@ -7260,6 +8647,10 @@ "awsLambdaFunction":{ "shape":"AwsLambdaFunctionDetails", "documentation":"

    A summary of the information about an Amazon Web Services Lambda function affected by a finding.

    " + }, + "codeRepository":{ + "shape":"CodeRepositoryDetails", + "documentation":"

    Contains details about a code repository resource associated with a finding.

    " } }, "documentation":"

    Contains details about the resource involved in the finding.

    " @@ -7306,7 +8697,7 @@ "type":"string", "max":341, "min":10, - "pattern":"(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$))" + "pattern":"(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$)|(^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}\\/project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$))" }, "ResourceIdFilterList":{ "type":"list", @@ -7368,6 +8759,10 @@ "ResourceScanMetadata":{ "type":"structure", "members":{ + "codeRepository":{ + "shape":"CodeRepositoryMetadata", + "documentation":"

    Contains metadata about scan coverage for a code repository resource.

    " + }, "ec2":{ "shape":"Ec2Metadata", "documentation":"

    An object that contains metadata details for an Amazon EC2 instance.

    " @@ -7393,7 +8788,8 @@ "EC2", "ECR", "LAMBDA", - "LAMBDA_CODE" + "LAMBDA_CODE", + "CODE_REPOSITORY" ] }, "ResourceState":{ @@ -7403,6 +8799,7 @@ "ecr" ], "members":{ + "codeRepository":{"shape":"State"}, "ec2":{ "shape":"State", "documentation":"

    An object detailing the state of Amazon Inspector scanning for Amazon EC2 resources.

    " @@ -7429,6 +8826,10 @@ "ecr" ], "members":{ + "codeRepository":{ + "shape":"Status", + "documentation":"

    The status of Amazon Inspector scanning for code repositories.

    " + }, "ec2":{ "shape":"Status", "documentation":"

    The status of Amazon Inspector scanning for Amazon EC2 resources.

    " @@ -7496,7 +8897,8 @@ "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", - "AWS_LAMBDA_FUNCTION" + "AWS_LAMBDA_FUNCTION", + "CODE_REPOSITORY" ] }, "RiskScore":{ @@ -7508,6 +8910,20 @@ "max":500, "min":1 }, + "RuleSetCategories":{ + "type":"list", + "member":{"shape":"RuleSetCategory"}, + "max":3, + "min":1 + }, + "RuleSetCategory":{ + "type":"string", + "enum":[ + "SAST", + "IAC", + "SCA" + ] + }, "Runtime":{ "type":"string", "enum":[ @@ -7541,6 +8957,17 @@ "SPDX_2_3" ] }, + "ScanConfigurationArn":{ + "type":"string", + "documentation":"

    arn:aws:inspector2:::owner//codesecurity-configuration/

    ", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:owner/(\\d{12}|o-[a-z0-9]{10,32})/codesecurity-configuration/[a-f0-9-]{36}$" + }, + "ScanConfigurationName":{ + "type":"string", + "max":60, + "min":1, + "pattern":"^[a-zA-Z0-9-_$:.]*$" + }, "ScanMode":{ "type":"string", "enum":[ @@ -7557,7 +8984,7 @@ "members":{ "reason":{ "shape":"ScanStatusReason", - "documentation":"

    The scan status. Possible return values and descriptions are:

    PENDING_INITIAL_SCAN - This resource has been identified for scanning, results will be available soon.

    ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please update the IAM policy.

    INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource. Amazon Inspector service will automatically resolve the issue and resume the scanning. No action required from the user.

    UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. Once the instance becomes managed by SSM, Inspector will automatically begin scanning this instance.

    UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image manifest type at this time. To see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

    SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this image.

    RESOURCE_TERMINATED - This resource has been terminated. The findings and coverage associated with this resource are in the process of being cleaned up.

    SUCCESSFUL - The scan was successful.

    NO_RESOURCES_FOUND - Reserved for future use.

    IMAGE_SIZE_EXCEEDED - Reserved for future use.

    SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the repository scan frequency configuration.

    SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will not new findings because of the scan frequency configuration.

    EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance is terminated. Once the instance is re-started, Inspector will automatically start scanning the instance again. Please note that you will not be charged for this instance while it’s in a stopped state.

    PENDING_DISABLE - This resource is pending cleanup during disablement. The customer will not be billed while a resource is in the pending disable status.

    NO INVENTORY - Amazon Inspector couldn’t find software application inventory to scan for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted or failing to run on your resource. Please verify the status of InspectorInventoryCollection-do-not-delete association in the SSM console for the resource. Additionally, you can verify the instance’s inventory in the SSM Fleet Manager console.

    STALE_INVENTORY - Amazon Inspector wasn’t able to collect an updated software application inventory in the last 7 days. Please confirm the required Amazon Inspector associations still exist and you can still see an updated inventory in the SSM console.

    EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded by a tag.

    UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

    UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type.

    UNSUPPORTED_CONFIG_FILE - Reserved for future use.

    DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for this instance you can try to adjust the custom paths associated with the account.

    DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per day has already been reached for this instance.

    DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract the package inventory because the package collection time exceeding the maximum threshold of 15 minutes.

    DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet been able to collect an inventory of packages for this instance. This is usually the result of a pending scan, however, if this status persists after 6 hours, use SSM to ensure that the required Amazon Inspector associations exist and are running for the instance.

    " + "documentation":"

    The scan status. Possible return values and descriptions are:

    ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please update the IAM policy.

    ACCESS_DENIED_TO_ENCRYPTION_KEY - The KMS key policy doesn't allow Amazon Inspector access. Update the key policy.

    DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract the package inventory because the package collection time exceeding the maximum threshold of 15 minutes.

    DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per day has already been reached for this instance.

    DEEP_INSPECTION_NO_INVENTORY - The Amazon Inspector plugin hasn't yet been able to collect an inventory of packages for this instance. This is usually the result of a pending scan, however, if this status persists after 6 hours, use SSM to ensure that the required Amazon Inspector associations exist and are running for the instance.

    DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for this instance you can try to adjust the custom paths associated with the account.

    EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance is terminated. Once the instance is re-started, Inspector will automatically start scanning the instance again. Please note that you will not be charged for this instance while it's in a stopped state.

    EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded by a tag.

    IMAGE_SIZE_EXCEEDED - Reserved for future use.

    INTEGRATION_CONNNECTION_LOST - Amazon Inspector couldn't communicate with the source code management platform.

    INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource. Amazon Inspector service will automatically resolve the issue and resume the scanning. No action required from the user.

    NO INVENTORY - Amazon Inspector couldn't find software application inventory to scan for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted or failing to run on your resource. Please verify the status of InspectorInventoryCollection-do-not-delete association in the SSM console for the resource. Additionally, you can verify the instance's inventory in the SSM Fleet Manager console.

    NO_RESOURCES_FOUND - Reserved for future use.

    NO_SCAN_CONFIGURATION_ASSOCIATED - The code repository resource doesn't have an associated scan configuration.

    PENDING_DISABLE - This resource is pending cleanup during disablement. The customer will not be billed while a resource is in the pending disable status.

    PENDING_INITIAL_SCAN - This resource has been identified for scanning, results will be available soon.

    RESOURCE_TERMINATED - This resource has been terminated. The findings and coverage associated with this resource are in the process of being cleaned up.

    SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this image.

    SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the repository scan frequency configuration.

    SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will not new findings because of the scan frequency configuration.

    SCAN_IN_PROGRESS - The resource is currently being scanned.

    STALE_INVENTORY - Amazon Inspector wasn't able to collect an updated software application inventory in the last 7 days. Please confirm the required Amazon Inspector associations still exist and you can still see an updated inventory in the SSM console.

    SUCCESSFUL - The scan was successful.

    UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. Once the instance becomes managed by SSM, Inspector will automatically begin scanning this instance.

    UNSUPPORTED_CONFIG_FILE - Reserved for future use.

    UNSUPPORTED_LANGUAGE - The scan was unsuccessful because the repository contains files in an unsupported programming language.

    UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type.

    UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image manifest type at this time. To see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

    UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

    " }, "statusCode":{ "shape":"ScanStatusCode", @@ -7602,7 +9029,12 @@ "DEEP_INSPECTION_NO_INVENTORY", "AGENTLESS_INSTANCE_STORAGE_LIMIT_EXCEEDED", "AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED", - "PENDING_REVIVAL_SCAN" + "PENDING_REVIVAL_SCAN", + "INTEGRATION_CONNECTION_LOST", + "ACCESS_DENIED_TO_ENCRYPTION_KEY", + "UNSUPPORTED_LANGUAGE", + "NO_SCAN_CONFIGURATION_ASSOCIATED", + "SCAN_IN_PROGRESS" ] }, "ScanType":{ @@ -7636,6 +9068,16 @@ "documentation":"

    A schedule.

    ", "union":true }, + "ScopeSettings":{ + "type":"structure", + "members":{ + "projectSelectionScope":{ + "shape":"ProjectSelectionScope", + "documentation":"

    The scope of projects to be selected for scanning within the integrated repositories. Setting the value to ALL applies the scope settings to all existing and future projects imported into Amazon Inspector.

    " + } + }, + "documentation":"

    Defines the scope of repositories to be included in code security scans.

    " + }, "SearchVulnerabilitiesFilterCriteria":{ "type":"structure", "required":["vulnerabilityIds"], @@ -7881,6 +9323,34 @@ "members":{ } }, + "StartCodeSecurityScanRequest":{ + "type":"structure", + "required":["resource"], + "members":{ + "clientToken":{ + "shape":"CodeSecurityClientToken", + "documentation":"

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

    ", + "idempotencyToken":true + }, + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

    The resource identifier for the code repository to scan.

    " + } + } + }, + "StartCodeSecurityScanResponse":{ + "type":"structure", + "members":{ + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

    The unique identifier of the initiated scan.

    " + }, + "status":{ + "shape":"CodeScanStatus", + "documentation":"

    The current status of the initiated scan.

    " + } + } + }, "State":{ "type":"structure", "required":[ @@ -8121,6 +9591,21 @@ "max":16, "min":0 }, + "SuccessfulAssociationResult":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration that was successfully associated or disassociated.

    " + } + }, + "documentation":"

    Details about a successful association or disassociation between a code repository and a scan configuration.

    " + }, + "SuccessfulAssociationResultList":{ + "type":"list", + "member":{"shape":"SuccessfulAssociationResult"} + }, "SuggestedFix":{ "type":"structure", "members":{ @@ -8492,6 +9977,66 @@ }, "documentation":"

    Updates CIS targets.

    " }, + "UpdateCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":[ + "details", + "integrationArn" + ], + "members":{ + "details":{ + "shape":"UpdateIntegrationDetails", + "documentation":"

    The updated integration details specific to the repository provider type.

    " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the code security integration to update.

    " + } + } + }, + "UpdateCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "integrationArn", + "status" + ], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the updated code security integration.

    " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

    The current status of the updated code security integration.

    " + } + } + }, + "UpdateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":[ + "configuration", + "scanConfigurationArn" + ], + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

    The updated configuration settings for the code security scan.

    " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the scan configuration to update.

    " + } + } + }, + "UpdateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

    The Amazon Resource Name (ARN) of the updated scan configuration.

    " + } + } + }, "UpdateConfigurationRequest":{ "type":"structure", "members":{ @@ -8611,6 +10156,50 @@ } } }, + "UpdateGitHubIntegrationDetail":{ + "type":"structure", + "required":[ + "code", + "installationId" + ], + "members":{ + "code":{ + "shape":"GitHubAuthCode", + "documentation":"

    The authorization code received from GitHub to update the integration.

    " + }, + "installationId":{ + "shape":"GitHubInstallationId", + "documentation":"

    The installation ID of the GitHub App associated with the integration.

    " + } + }, + "documentation":"

    Contains details required to update an integration with GitHub.

    " + }, + "UpdateGitLabSelfManagedIntegrationDetail":{ + "type":"structure", + "required":["authCode"], + "members":{ + "authCode":{ + "shape":"GitLabAuthCode", + "documentation":"

    The authorization code received from the self-managed GitLab instance to update the integration.

    " + } + }, + "documentation":"

    Contains details required to update an integration with a self-managed GitLab instance.

    " + }, + "UpdateIntegrationDetails":{ + "type":"structure", + "members":{ + "github":{ + "shape":"UpdateGitHubIntegrationDetail", + "documentation":"

    Details specific to updating an integration with GitHub.

    " + }, + "gitlabSelfManaged":{ + "shape":"UpdateGitLabSelfManagedIntegrationDetail", + "documentation":"

    Details specific to updating an integration with a self-managed GitLab instance.

    " + } + }, + "documentation":"

    Contains details required to update a code security integration with a specific repository provider.

    ", + "union":true + }, "UpdateOrgEc2DeepInspectionConfigurationRequest":{ "type":"structure", "required":["orgPackagePaths"], @@ -8707,7 +10296,10 @@ "ECR_INITIAL_SCAN", "ECR_RESCAN", "LAMBDA_FUNCTION_HOURS", - "LAMBDA_FUNCTION_CODE_HOURS" + "LAMBDA_FUNCTION_CODE_HOURS", + "CODE_REPOSITORY_SAST", + "CODE_REPOSITORY_IAC", + "CODE_REPOSITORY_SCA" ] }, "UsageValue":{ diff --git a/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json b/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json new file mode 100644 index 00000000000..8698e2f6796 --- /dev/null +++ b/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json @@ -0,0 +1,2293 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"mpa", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS Multi-party Approval", + "serviceId":"MPA", + "signatureVersion":"v4", + "signingName":"mpa", + "uid":"mpa-2022-07-26" + }, + "operations":{ + "CancelSession":{ + "name":"CancelSession", + "http":{ + "method":"PUT", + "requestUri":"/sessions/{SessionArn}", + "responseCode":200 + }, + "input":{"shape":"CancelSessionRequest"}, + "output":{"shape":"CancelSessionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Cancels an approval session. For more information, see Session in the Multi-party approval User Guide.

    ", + "idempotent":true + }, + "CreateApprovalTeam":{ + "name":"CreateApprovalTeam", + "http":{ + "method":"POST", + "requestUri":"/approval-teams", + "responseCode":200 + }, + "input":{"shape":"CreateApprovalTeamRequest"}, + "output":{"shape":"CreateApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Creates a new approval team. For more information, see Approval team in the Multi-party approval User Guide.

    ", + "idempotent":true + }, + "CreateIdentitySource":{ + "name":"CreateIdentitySource", + "http":{ + "method":"POST", + "requestUri":"/identity-sources", + "responseCode":200 + }, + "input":{"shape":"CreateIdentitySourceRequest"}, + "output":{"shape":"CreateIdentitySourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates a new identity source. For more information, see Identity Source in the Multi-party approval User Guide.

    ", + "idempotent":true + }, + "DeleteIdentitySource":{ + "name":"DeleteIdentitySource", + "http":{ + "method":"DELETE", + "requestUri":"/identity-sources/{IdentitySourceArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteIdentitySourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Deletes an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

    ", + "idempotent":true + }, + "DeleteInactiveApprovalTeamVersion":{ + "name":"DeleteInactiveApprovalTeamVersion", + "http":{ + "method":"DELETE", + "requestUri":"/approval-teams/{Arn}/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"DeleteInactiveApprovalTeamVersionRequest"}, + "output":{"shape":"DeleteInactiveApprovalTeamVersionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Deletes an inactive approval team. For more information, see Team health in the Multi-party approval User Guide.

    You can also use this operation to delete a team draft. For more information, see Interacting with drafts in the Multi-party approval User Guide.

    ", + "idempotent":true + }, + "GetApprovalTeam":{ + "name":"GetApprovalTeam", + "http":{ + "method":"GET", + "requestUri":"/approval-teams/{Arn}", + "responseCode":200 + }, + "input":{"shape":"GetApprovalTeamRequest"}, + "output":{"shape":"GetApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns details for an approval team.

    " + }, + "GetIdentitySource":{ + "name":"GetIdentitySource", + "http":{ + "method":"GET", + "requestUri":"/identity-sources/{IdentitySourceArn}", + "responseCode":200 + }, + "input":{"shape":"GetIdentitySourceRequest"}, + "output":{"shape":"GetIdentitySourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns details for an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

    " + }, + "GetPolicyVersion":{ + "name":"GetPolicyVersion", + "http":{ + "method":"GET", + "requestUri":"/policy-versions/{PolicyVersionArn}", + "responseCode":200 + }, + "input":{"shape":"GetPolicyVersionRequest"}, + "output":{"shape":"GetPolicyVersionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns details for the version of a policy. Policies define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/GetResourcePolicy", + "responseCode":200 + }, + "input":{"shape":"GetResourcePolicyRequest"}, + "output":{"shape":"GetResourcePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns details about a policy for a resource.

    " + }, + "GetSession":{ + "name":"GetSession", + "http":{ + "method":"GET", + "requestUri":"/sessions/{SessionArn}", + "responseCode":200 + }, + "input":{"shape":"GetSessionRequest"}, + "output":{"shape":"GetSessionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns details for an approval session. For more information, see Session in the Multi-party approval User Guide.

    " + }, + "ListApprovalTeams":{ + "name":"ListApprovalTeams", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/?List", + "responseCode":200 + }, + "input":{"shape":"ListApprovalTeamsRequest"}, + "output":{"shape":"ListApprovalTeamsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of approval teams.

    " + }, + "ListIdentitySources":{ + "name":"ListIdentitySources", + "http":{ + "method":"POST", + "requestUri":"/identity-sources/?List", + "responseCode":200 + }, + "input":{"shape":"ListIdentitySourcesRequest"}, + "output":{"shape":"ListIdentitySourcesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of identity sources. For more information, see Identity Source in the Multi-party approval User Guide.

    " + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/policies/?List", + "responseCode":200 + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of policies. Policies define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "ListPolicyVersions":{ + "name":"ListPolicyVersions", + "http":{ + "method":"POST", + "requestUri":"/policies/{PolicyArn}/?List", + "responseCode":200 + }, + "input":{"shape":"ListPolicyVersionsRequest"}, + "output":{"shape":"ListPolicyVersionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of the versions for policies. Policies define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "ListResourcePolicies":{ + "name":"ListResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/resource-policies/{ResourceArn}/?List", + "responseCode":200 + }, + "input":{"shape":"ListResourcePoliciesRequest"}, + "output":{"shape":"ListResourcePoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of policies for a resource.

    " + }, + "ListSessions":{ + "name":"ListSessions", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/{ApprovalTeamArn}/sessions/?List", + "responseCode":200 + }, + "input":{"shape":"ListSessionsRequest"}, + "output":{"shape":"ListSessionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of approval sessions. For more information, see Session in the Multi-party approval User Guide.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of the tags for a resource.

    " + }, + "StartActiveApprovalTeamDeletion":{ + "name":"StartActiveApprovalTeamDeletion", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/{Arn}?Delete", + "responseCode":200 + }, + "input":{"shape":"StartActiveApprovalTeamDeletionRequest"}, + "output":{"shape":"StartActiveApprovalTeamDeletionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Starts the deletion process for an active approval team.

    Deletions require team approval

    Requests to delete an active team must be approved by the team.

    ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"PUT", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates or updates a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

    ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Removes a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

    ", + "idempotent":true + }, + "UpdateApprovalTeam":{ + "name":"UpdateApprovalTeam", + "http":{ + "method":"PATCH", + "requestUri":"/approval-teams/{Arn}", + "responseCode":200 + }, + "input":{"shape":"UpdateApprovalTeamRequest"}, + "output":{"shape":"UpdateApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Updates an approval team. You can request to update the team description, approval threshold, and approvers in the team.

    Updates require team approval

    Updates to an active team must be approved by the team.

    ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the AccessDeniedException error.

    " + } + }, + "documentation":"

    You do not have sufficient access to perform this action. Check your permissions, and try again.

    ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":0, + "pattern":"\\d{12}" + }, + "ActionCompletionStrategy":{ + "type":"string", + "enum":["AUTO_COMPLETION_UPON_APPROVAL"] + }, + "ActionName":{ + "type":"string", + "max":500, + "min":0 + }, + "ApprovalStrategy":{ + "type":"structure", + "members":{ + "MofN":{ + "shape":"MofNApprovalStrategy", + "documentation":"

    Minimum number of approvals (M) required for a total number of approvers (N).

    " + } + }, + "documentation":"

    Strategy for how an approval team grants approval.

    ", + "union":true + }, + "ApprovalStrategyResponse":{ + "type":"structure", + "members":{ + "MofN":{ + "shape":"MofNApprovalStrategy", + "documentation":"

    Minimum number of approvals (M) required for a total number of approvers (N).

    " + } + }, + "documentation":"

    Contains details for how an approval team grants approval.

    ", + "union":true + }, + "ApprovalTeamArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:approval-team/[a-zA-Z0-9._-]+" + }, + "ApprovalTeamName":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[a-zA-Z0-9._-]+" + }, + "ApprovalTeamRequestApprover":{ + "type":"structure", + "required":[ + "PrimaryIdentityId", + "PrimaryIdentitySourceArn" + ], + "members":{ + "PrimaryIdentityId":{ + "shape":"IdentityId", + "documentation":"

    ID for the user.

    " + }, + "PrimaryIdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

    " + } + }, + "documentation":"

    Contains details for an approver.

    " + }, + "ApprovalTeamRequestApprovers":{ + "type":"list", + "member":{"shape":"ApprovalTeamRequestApprover"}, + "max":20, + "min":1 + }, + "ApprovalTeamStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE", + "DELETING", + "PENDING" + ] + }, + "ApprovalTeamStatusCode":{ + "type":"string", + "enum":[ + "VALIDATING", + "PENDING_ACTIVATION", + "FAILED_VALIDATION", + "FAILED_ACTIVATION", + "UPDATE_PENDING_APPROVAL", + "UPDATE_PENDING_ACTIVATION", + "UPDATE_FAILED_APPROVAL", + "UPDATE_FAILED_ACTIVATION", + "UPDATE_FAILED_VALIDATION", + "DELETE_PENDING_APPROVAL", + "DELETE_FAILED_APPROVAL", + "DELETE_FAILED_VALIDATION" + ] + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelSessionRequest":{ + "type":"structure", + "required":["SessionArn"], + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

    Amazon Resource Name (ARN) for the session.

    ", + "location":"uri", + "locationName":"SessionArn" + } + } + }, + "CancelSessionResponse":{ + "type":"structure", + "members":{ + } + }, + "ConflictException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the ConflictException error.

    " + } + }, + "documentation":"

    The request cannot be completed because it conflicts with the current state of a resource.

    ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateApprovalTeamRequest":{ + "type":"structure", + "required":[ + "ApprovalStrategy", + "Approvers", + "Description", + "Policies", + "Name" + ], + "members":{ + "ClientToken":{ + "shape":"Token", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

    What is idempotency?

    When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

    Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

    ", + "idempotencyToken":true + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategy", + "documentation":"

    An ApprovalStrategy object. Contains details for how the team grants approval.

    " + }, + "Approvers":{ + "shape":"ApprovalTeamRequestApprovers", + "documentation":"

    An array of ApprovalTeamRequesterApprovers objects. Contains details for the approvers in the team.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the team.

    " + }, + "Policies":{ + "shape":"PoliciesReferences", + "documentation":"

    An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "Name":{ + "shape":"ApprovalTeamName", + "documentation":"

    Name of the team.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Tags you want to attach to the team.

    " + } + } + }, + "CreateApprovalTeamResponse":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the team was created.

    " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the team that was created.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    Name of the team that was created.

    " + }, + "VersionId":{ + "shape":"String", + "documentation":"

    Version ID for the team that was created. When a team is updated, the version ID changes.

    " + } + } + }, + "CreateIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceParameters"], + "members":{ + "IdentitySourceParameters":{ + "shape":"IdentitySourceParameters", + "documentation":"

    A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "ClientToken":{ + "shape":"Token", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

    What is idempotency?

    When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

    Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

    ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Tag you want to attach to the identity source.

    " + } + } + }, + "CreateIdentitySourceResponse":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

    The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source that was created.

    " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the identity source was created.

    " + } + } + }, + "DeleteIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceArn"], + "members":{ + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for identity source.

    ", + "location":"uri", + "locationName":"IdentitySourceArn" + } + } + }, + "DeleteInactiveApprovalTeamVersionRequest":{ + "type":"structure", + "required":[ + "Arn", + "VersionId" + ], + "members":{ + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amaazon Resource Name (ARN) for the team.

    ", + "location":"uri", + "locationName":"Arn" + }, + "VersionId":{ + "shape":"String", + "documentation":"

    Version ID for the team.

    ", + "location":"uri", + "locationName":"VersionId" + } + } + }, + "DeleteInactiveApprovalTeamVersionResponse":{ + "type":"structure", + "members":{ + } + }, + "Description":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "Filter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"FilterField", + "documentation":"

    Name of the filter to use.

    Supported filters

    The supported filters for ListSessions are: ActionName, SessionStatus, and InitationTime.

    " + }, + "Operator":{ + "shape":"Operator", + "documentation":"

    Operator to use for filtering.

    • EQ: Equal to the specified value

    • NE: Not equal to the specified value

    • GT: Greater than the specified value

    • LT: Less than the specified value

    • GTE: Greater than or equal to the specified value

    • LTE: Less than or equal to the specified value

    • CONTAINS: Contains the specified value

    • NOT_CONTAINS: Does not contain the specified value

    • BETWEEN: Between two values, inclusive of the specified values.

    Supported operators for each filter:

    • ActionName: EQ | NE | CONTAINS | NOT_CONTAINS

    • SessionStatus: EQ | NE

    • InitiationTime: GT | LT | GTE | LTE | BETWEEN

    " + }, + "Value":{ + "shape":"String", + "documentation":"

    Value to use for filtering. For the BETWEEN operator, specify values in the format a AND b (AND is case-insensitive).

    " + } + }, + "documentation":"

    Contains the filter to apply to requests. You can specify up to 10 filters for a request.

    " + }, + "FilterField":{ + "type":"string", + "enum":[ + "ActionName", + "ApprovalTeamName", + "VotingTime", + "Vote", + "SessionStatus", + "InitiationTime" + ] + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":10, + "min":0 + }, + "GetApprovalTeamRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "GetApprovalTeamResponse":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the team was created.

    " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

    An ApprovalStrategyResponse object. Contains details for how the team grants approval.

    " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

    Total number of approvers in the team.

    " + }, + "Approvers":{ + "shape":"GetApprovalTeamResponseApprovers", + "documentation":"

    An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

    " + }, + "Arn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the team.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    Name of the approval team.

    " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

    Status for the team. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

    Status code for the approval team. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

    Message describing the status for the team.

    " + }, + "UpdateSessionArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the session.

    " + }, + "VersionId":{ + "shape":"String", + "documentation":"

    Version ID for the team.

    " + }, + "Policies":{ + "shape":"PoliciesReferences", + "documentation":"

    An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "LastUpdateTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the team was last updated.

    " + }, + "PendingUpdate":{ + "shape":"PendingUpdate", + "documentation":"

    A PendingUpdate object. Contains details for the pending updates for the team, if applicable.

    " + } + } + }, + "GetApprovalTeamResponseApprover":{ + "type":"structure", + "members":{ + "ApproverId":{ + "shape":"ParticipantId", + "documentation":"

    ID for the approver.

    " + }, + "ResponseTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the approver responded to an approval team invitation.

    " + }, + "PrimaryIdentityId":{ + "shape":"IdentityId", + "documentation":"

    ID for the user.

    " + }, + "PrimaryIdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

    " + }, + "PrimaryIdentityStatus":{ + "shape":"IdentityStatus", + "documentation":"

    Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.

    " + } + }, + "documentation":"

    Contains details for an approver.

    " + }, + "GetApprovalTeamResponseApprovers":{ + "type":"list", + "member":{"shape":"GetApprovalTeamResponseApprover"}, + "max":20, + "min":0 + }, + "GetIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceArn"], + "members":{ + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source.

    ", + "location":"uri", + "locationName":"IdentitySourceArn" + } + } + }, + "GetIdentitySourceResponse":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

    The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceParameters":{ + "shape":"IdentitySourceParametersForGet", + "documentation":"

    A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source.

    " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the identity source was created.

    " + }, + "Status":{ + "shape":"IdentitySourceStatus", + "documentation":"

    Status for the identity source. For example, if the identity source is ACTIVE.

    " + }, + "StatusCode":{ + "shape":"IdentitySourceStatusCode", + "documentation":"

    Status code of the identity source.

    " + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

    Message describing the status for the identity source.

    " + } + } + }, + "GetPolicyVersionRequest":{ + "type":"structure", + "required":["PolicyVersionArn"], + "members":{ + "PolicyVersionArn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    ", + "location":"uri", + "locationName":"PolicyVersionArn" + } + } + }, + "GetPolicyVersionResponse":{ + "type":"structure", + "required":["PolicyVersion"], + "members":{ + "PolicyVersion":{ + "shape":"PolicyVersion", + "documentation":"

    A PolicyVersion object. Contains details for the version of the policy. Policies define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + } + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "PolicyName", + "PolicyType" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource.

    " + }, + "PolicyName":{ + "shape":"String", + "documentation":"

    Name of the policy.

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy.

    " + } + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "required":[ + "ResourceArn", + "PolicyType", + "PolicyName", + "PolicyDocument" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource.

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy

    " + }, + "PolicyVersionArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the policy version.

    " + }, + "PolicyName":{ + "shape":"PolicyName", + "documentation":"

    Name of the policy.

    " + }, + "PolicyDocument":{ + "shape":"PolicyDocument", + "documentation":"

    Document that contains the contents for the policy.

    " + } + } + }, + "GetSessionRequest":{ + "type":"structure", + "required":["SessionArn"], + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

    Amazon Resource Name (ARN) for the session.

    ", + "location":"uri", + "locationName":"SessionArn" + } + } + }, + "GetSessionResponse":{ + "type":"structure", + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

    Amazon Resource Name (ARN) for the session.

    " + }, + "ApprovalTeamArn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the approval team.

    " + }, + "ApprovalTeamName":{ + "shape":"ApprovalTeamName", + "documentation":"

    Name of the approval team.

    " + }, + "ProtectedResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the protected operation.

    " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

    An ApprovalStrategyResponse object. Contains details for how the team grants approval

    " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

    Total number of approvers in the session.

    " + }, + "InitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session was initiated.

    " + }, + "ExpirationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session will expire.

    " + }, + "CompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session completed.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the session.

    " + }, + "Metadata":{ + "shape":"SessionMetadata", + "documentation":"

    Metadata for the session.

    " + }, + "Status":{ + "shape":"SessionStatus", + "documentation":"

    Status for the session. For example, if the team has approved the requested operation.

    " + }, + "StatusCode":{ + "shape":"SessionStatusCode", + "documentation":"

    Status code of the session.

    " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

    Message describing the status for session.

    " + }, + "ExecutionStatus":{ + "shape":"SessionExecutionStatus", + "documentation":"

    Status for the protected operation. For example, if the operation is PENDING.

    " + }, + "ActionName":{ + "shape":"ActionName", + "documentation":"

    Name of the protected operation.

    " + }, + "RequesterServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

    Service principal for the service associated with the protected operation.

    " + }, + "RequesterPrincipalArn":{ + "shape":"String", + "documentation":"

    IAM principal that made the operation request.

    " + }, + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

    ID for the account that made the operation request.

    " + }, + "RequesterRegion":{ + "shape":"Region", + "documentation":"

    Amazon Web Services Region where the operation request originated.

    " + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

    Message from the account that made the operation request

    " + }, + "ActionCompletionStrategy":{ + "shape":"ActionCompletionStrategy", + "documentation":"

    Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is automatically executed using the requester's permissions, if approved.

    " + }, + "ApproverResponses":{ + "shape":"GetSessionResponseApproverResponses", + "documentation":"

    An array of GetSessionResponseApproverResponse objects. Contains details for approver responses in the session.

    " + } + } + }, + "GetSessionResponseApproverResponse":{ + "type":"structure", + "members":{ + "ApproverId":{ + "shape":"ParticipantId", + "documentation":"

    ID for the approver.

    " + }, + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

    " + }, + "IdentityId":{ + "shape":"IdentityId", + "documentation":"

    ID for the identity source. The identity source manages the user authentication for approvers.

    " + }, + "Response":{ + "shape":"SessionResponse", + "documentation":"

    Response to the operation request.

    " + }, + "ResponseTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when a approver responded to the operation request.

    " + } + }, + "documentation":"

    Contains details for an approver response in an approval session.

    " + }, + "GetSessionResponseApproverResponses":{ + "type":"list", + "member":{"shape":"GetSessionResponseApproverResponse"}, + "max":20, + "min":0 + }, + "IamIdentityCenter":{ + "type":"structure", + "required":[ + "InstanceArn", + "Region" + ], + "members":{ + "InstanceArn":{ + "shape":"IdcInstanceArn", + "documentation":"

    Amazon Resource Name (ARN) for the IAM Identity Center instance.

    " + }, + "Region":{ + "shape":"String", + "documentation":"

    Amazon Web Services Region where the IAM Identity Center instance is located.

    " + } + }, + "documentation":"

    IAM Identity Center credentials. For more information see, IAM Identity Center .

    " + }, + "IamIdentityCenterForGet":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the IAM Identity Center instance.

    " + }, + "ApprovalPortalUrl":{ + "shape":"String", + "documentation":"

    URL for the approval portal associated with the IAM Identity Center instance.

    " + }, + "Region":{ + "shape":"String", + "documentation":"

    Amazon Web Services Region where the IAM Identity Center instance is located.

    " + } + }, + "documentation":"

    IAM Identity Center credentials. For more information see, IAM Identity Center .

    " + }, + "IamIdentityCenterForList":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the IAM Identity Center instance.

    " + }, + "ApprovalPortalUrl":{ + "shape":"String", + "documentation":"

    URL for the approval portal associated with the IAM Identity Center instance.

    " + }, + "Region":{ + "shape":"String", + "documentation":"

    Amazon Web Services Region where the IAM Identity Center instance is located.

    " + } + }, + "documentation":"

    IAM Identity Center credentials. For more information see, IAM Identity Center .

    " + }, + "IdcInstanceArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.+:sso:::instance/(?:sso)?ins-[a-zA-Z0-9-.]{16}" + }, + "IdentityId":{ + "type":"string", + "max":100, + "min":1 + }, + "IdentitySourceForList":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

    The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceParameters":{ + "shape":"IdentitySourceParametersForList", + "documentation":"

    A IdentitySourceParametersForList object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the identity source.

    " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the identity source was created.

    " + }, + "Status":{ + "shape":"IdentitySourceStatus", + "documentation":"

    Status for the identity source. For example, if the identity source is ACTIVE.

    " + }, + "StatusCode":{ + "shape":"IdentitySourceStatusCode", + "documentation":"

    Status code of the identity source.

    " + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

    Message describing the status for the identity source.

    " + } + }, + "documentation":"

    Contains details for an identity source. For more information, see Identity source in the Multi-party approval User Guide.

    " + }, + "IdentitySourceParameters":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenter", + "documentation":"

    IAM Identity Center credentials.

    " + } + }, + "documentation":"

    Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

    " + }, + "IdentitySourceParametersForGet":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenterForGet", + "documentation":"

    IAM Identity Center credentials.

    " + } + }, + "documentation":"

    Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

    ", + "union":true + }, + "IdentitySourceParametersForList":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenterForList", + "documentation":"

    IAM Identity Center credentials.

    " + } + }, + "documentation":"

    Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

    ", + "union":true + }, + "IdentitySourceStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "ERROR" + ] + }, + "IdentitySourceStatusCode":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "DELETION_FAILED", + "IDC_INSTANCE_NOT_FOUND", + "IDC_INSTANCE_NOT_VALID" + ] + }, + "IdentitySourceType":{ + "type":"string", + "enum":["IAM_IDENTITY_CENTER"] + }, + "IdentitySources":{ + "type":"list", + "member":{"shape":"IdentitySourceForList"}, + "max":20, + "min":0 + }, + "IdentityStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "REJECTED", + "INVALID" + ] + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the InternalServerException error.

    " + } + }, + "documentation":"

    The service encountered an internal error. Try your request again. If the problem persists, contact Amazon Web Services Support.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InvalidParameterException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the InvalidParameterException error.

    " + } + }, + "documentation":"

    The request contains an invalid parameter value.

    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IsoTimestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ListApprovalTeamsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListApprovalTeamsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "ApprovalTeams":{ + "shape":"ListApprovalTeamsResponseApprovalTeams", + "documentation":"

    An array of ListApprovalTeamsResponseApprovalTeam objects. Contains details for approval teams.

    " + } + } + }, + "ListApprovalTeamsResponseApprovalTeam":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the team was created.

    " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

    An ApprovalStrategyResponse object. Contains details for how an approval team grants approval.

    " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

    Total number of approvers in the team.

    " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    " + }, + "Name":{ + "shape":"ApprovalTeamName", + "documentation":"

    Name of the team.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the team.

    " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

    Status for the team. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

    Status code for the team. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

    Message describing the status for the team.

    " + } + }, + "documentation":"

    Contains details for an approval team

    " + }, + "ListApprovalTeamsResponseApprovalTeams":{ + "type":"list", + "member":{"shape":"ListApprovalTeamsResponseApprovalTeam"}, + "max":20, + "min":0 + }, + "ListIdentitySourcesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListIdentitySourcesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "IdentitySources":{ + "shape":"IdentitySources", + "documentation":"

    A IdentitySources. Contains details for identity sources.

    " + } + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "Policies":{ + "shape":"Policies", + "documentation":"

    An array of Policy objects. Contains a list of policies that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + } + } + }, + "ListPolicyVersionsRequest":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    ", + "location":"uri", + "locationName":"PolicyArn" + } + } + }, + "ListPolicyVersionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "PolicyVersions":{ + "shape":"PolicyVersions", + "documentation":"

    An array of PolicyVersionSummary objects. Contains details for the version of the policies that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + } + } + }, + "ListResourcePoliciesRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListResourcePoliciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "ResourcePolicies":{ + "shape":"ListResourcePoliciesResponseResourcePolicies", + "documentation":"

    An array of ListResourcePoliciesResponseResourcePolicy objects. Contains details about the policy for the resource.

    " + } + } + }, + "ListResourcePoliciesResponseResourcePolicies":{ + "type":"list", + "member":{"shape":"ListResourcePoliciesResponseResourcePolicy"}, + "max":100, + "min":0 + }, + "ListResourcePoliciesResponseResourcePolicy":{ + "type":"structure", + "members":{ + "PolicyArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for policy.

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy.

    " + }, + "PolicyName":{ + "shape":"String", + "documentation":"

    Name of the policy.

    " + } + }, + "documentation":"

    Contains details about a policy for a resource.

    " + }, + "ListSessionsRequest":{ + "type":"structure", + "required":["ApprovalTeamArn"], + "members":{ + "ApprovalTeamArn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the approval team.

    ", + "location":"uri", + "locationName":"ApprovalTeamArn" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "Filters":{ + "shape":"Filters", + "documentation":"

    An array of Filter objects. Contains the filter to apply when listing sessions.

    " + } + } + }, + "ListSessionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

    " + }, + "Sessions":{ + "shape":"ListSessionsResponseSessions", + "documentation":"

    An array of ListSessionsResponseSession objects. Contains details for the sessions.

    " + } + } + }, + "ListSessionsResponseSession":{ + "type":"structure", + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

    Amazon Resource Name (ARN) for the session.

    " + }, + "ApprovalTeamName":{ + "shape":"ApprovalTeamName", + "documentation":"

    Name of the approval team.

    " + }, + "ApprovalTeamArn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the approval team.

    " + }, + "InitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session was initiated.

    " + }, + "ExpirationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session was expire.

    " + }, + "CompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the session was completed.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the team.

    " + }, + "ActionName":{ + "shape":"ActionName", + "documentation":"

    Name of the protected operation.

    " + }, + "ProtectedResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the protected operation.

    " + }, + "RequesterServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

    Service principal for the service associated with the protected operation.

    " + }, + "RequesterPrincipalArn":{ + "shape":"String", + "documentation":"

    IAM principal that made the operation request.

    " + }, + "RequesterRegion":{ + "shape":"Region", + "documentation":"

    Amazon Web Services Region where the operation request originated.

    " + }, + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

    ID for the account that made the operation request.

    " + }, + "Status":{ + "shape":"SessionStatus", + "documentation":"

    Status for the protected operation. For example, if the operation is PENDING.

    " + }, + "StatusCode":{ + "shape":"SessionStatusCode", + "documentation":"

    Status code of the session.

    " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

    Message describing the status for session.

    " + }, + "ActionCompletionStrategy":{ + "shape":"ActionCompletionStrategy", + "documentation":"

    Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is executed automatically using the requester's permissions, if approved.

    " + } + }, + "documentation":"

    Contains details for an approval session. For more information, see Session in the Multi-party approval User Guide

    " + }, + "ListSessionsResponseSessions":{ + "type":"list", + "member":{"shape":"ListSessionsResponseSession"}, + "max":20, + "min":0 + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource.

    ", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

    Tags attached to the resource.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "Message":{ + "type":"string", + "max":500, + "min":0 + }, + "MofNApprovalStrategy":{ + "type":"structure", + "required":["MinApprovalsRequired"], + "members":{ + "MinApprovalsRequired":{ + "shape":"MofNApprovalStrategyMinApprovalsRequiredInteger", + "documentation":"

    Minimum number of approvals (M) required for a total number of approvers (N).

    " + } + }, + "documentation":"

    Strategy for how an approval team grants approval.

    " + }, + "MofNApprovalStrategyMinApprovalsRequiredInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "Operator":{ + "type":"string", + "enum":[ + "EQ", + "NE", + "GT", + "LT", + "GTE", + "LTE", + "CONTAINS", + "NOT_CONTAINS", + "BETWEEN" + ] + }, + "ParticipantId":{ + "type":"string", + "max":100, + "min":1 + }, + "PendingUpdate":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"String", + "documentation":"

    Version ID for the team.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    Description for the team.

    " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

    An ApprovalStrategyResponse object. Contains details for how the team grants approval.

    " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

    Total number of approvers in the team.

    " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

    Status for the team. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

    Status code for the update. For more information, see Team health in the Multi-party approval User Guide.

    " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

    Message describing the status for the team.

    " + }, + "Approvers":{ + "shape":"GetApprovalTeamResponseApprovers", + "documentation":"

    An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

    " + }, + "UpdateInitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the update request was initiated.

    " + } + }, + "documentation":"

    Contains details for the pending updates for an approval team, if applicable.

    " + }, + "Policies":{ + "type":"list", + "member":{"shape":"Policy"}, + "max":20, + "min":0 + }, + "PoliciesReferences":{ + "type":"list", + "member":{"shape":"PolicyReference"}, + "max":10, + "min":1 + }, + "Policy":{ + "type":"structure", + "required":[ + "Arn", + "DefaultVersion", + "PolicyType", + "Name" + ], + "members":{ + "Arn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    " + }, + "DefaultVersion":{ + "shape":"PolicyVersionId", + "documentation":"

    Determines if the specified policy is the default for the team.

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy.

    " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

    Name of the policy.

    " + } + }, + "documentation":"

    Contains details for a policy. Policies define what operations a team that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "PolicyDocument":{ + "type":"string", + "max":400000, + "min":0, + "sensitive":true + }, + "PolicyName":{ + "type":"string", + "max":64, + "min":0 + }, + "PolicyReference":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "PolicyArn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    " + } + }, + "documentation":"

    Contains the Amazon Resource Name (ARN) for a policy. Policies define what operations a team that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "PolicyStatus":{ + "type":"string", + "enum":[ + "ATTACHABLE", + "DEPRECATED" + ] + }, + "PolicyType":{ + "type":"string", + "enum":[ + "AWS_MANAGED", + "AWS_RAM" + ] + }, + "PolicyVersion":{ + "type":"structure", + "required":[ + "Arn", + "PolicyArn", + "VersionId", + "PolicyType", + "IsDefault", + "Name", + "Status", + "CreationTime", + "LastUpdatedTime", + "Document" + ], + "members":{ + "Arn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    " + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    " + }, + "VersionId":{ + "shape":"PolicyVersionId", + "documentation":"

    Verison ID

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy.

    " + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

    Determines if the specified policy is the default for the team.

    " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

    Name of the policy.

    " + }, + "Status":{ + "shape":"PolicyStatus", + "documentation":"

    Status for the policy. For example, if the policy is attachable or deprecated.

    " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the policy was created.

    " + }, + "LastUpdatedTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the policy was last updated.

    " + }, + "Document":{ + "shape":"PolicyDocument", + "documentation":"

    Document that contains the policy contents.

    " + } + }, + "documentation":"

    Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "PolicyVersionId":{ + "type":"integer", + "box":true, + "min":1 + }, + "PolicyVersionSummary":{ + "type":"structure", + "required":[ + "Arn", + "PolicyArn", + "VersionId", + "PolicyType", + "IsDefault", + "Name", + "Status", + "CreationTime", + "LastUpdatedTime" + ], + "members":{ + "Arn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    " + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

    Amazon Resource Name (ARN) for the policy.

    " + }, + "VersionId":{ + "shape":"PolicyVersionId", + "documentation":"

    Version ID for the policy.

    " + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

    The type of policy.

    " + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

    Determines if the specified policy is the default for the team.

    " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

    Name of the policy

    " + }, + "Status":{ + "shape":"PolicyStatus", + "documentation":"

    Status for the policy. For example, if the policy is attachable or deprecated.

    " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the policy was created.

    " + }, + "LastUpdatedTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the policy was last updated.

    " + } + }, + "documentation":"

    Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

    The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

    " + }, + "PolicyVersions":{ + "type":"list", + "member":{"shape":"PolicyVersionSummary"}, + "max":20, + "min":0 + }, + "QualifiedPolicyArn":{ + "type":"string", + "max":1224, + "min":0, + "pattern":"arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}/(?:[\\d]+|\\$DEFAULT)" + }, + "Region":{ + "type":"string", + "max":100, + "min":0 + }, + "RequesterComment":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the ResourceNotFoundException error.

    " + } + }, + "documentation":"

    The specified resource doesn't exist. Check the resource ID, and try again.

    ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServicePrincipal":{ + "type":"string", + "max":100, + "min":1 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the ServiceQuotaExceededException error.

    " + } + }, + "documentation":"

    The request exceeds the service quota for your account. Request a quota increase or reduce your request size.

    ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SessionArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:session/[a-zA-Z0-9._-]+/[a-zA-Z0-9_-]+" + }, + "SessionExecutionStatus":{ + "type":"string", + "enum":[ + "EXECUTED", + "FAILED", + "PENDING" + ] + }, + "SessionKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9\\p{P}]*", + "sensitive":true + }, + "SessionMetadata":{ + "type":"map", + "key":{"shape":"SessionKey"}, + "value":{"shape":"SessionValue"}, + "sensitive":true + }, + "SessionResponse":{ + "type":"string", + "enum":[ + "APPROVED", + "REJECTED", + "NO_RESPONSE" + ] + }, + "SessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "CANCELLED", + "APPROVED", + "FAILED", + "CREATING" + ] + }, + "SessionStatusCode":{ + "type":"string", + "enum":[ + "REJECTED", + "EXPIRED", + "CONFIGURATION_CHANGED" + ] + }, + "SessionValue":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[a-zA-Z0-9\\p{P}]*", + "sensitive":true + }, + "StartActiveApprovalTeamDeletionRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "PendingWindowDays":{ + "shape":"Integer", + "documentation":"

    Number of days between when the team approves the delete request and when the team is deleted.

    " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "StartActiveApprovalTeamDeletionResponse":{ + "type":"structure", + "members":{ + "DeletionCompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the deletion process is scheduled to complete.

    " + }, + "DeletionStartTime":{ + "shape":"IsoTimestamp", + "documentation":"

    Timestamp when the deletion process was initiated.

    " + } + } + }, + "String":{ + "type":"string", + "max":1000, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0, + "sensitive":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource you want to tag.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Tags that you have added to the specified resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "sensitive":true + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the ThrottlingException error.

    " + } + }, + "documentation":"

    The request was denied due to request throttling.

    ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Token":{ + "type":"string", + "max":4096, + "min":0 + }, + "TooManyTagsException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the TooManyTagsException error.

    " + }, + "ResourceName":{ + "shape":"String", + "documentation":"

    Name of the resource for the TooManyTagsException error.

    " + } + }, + "documentation":"

    The request exceeds the maximum number of tags allowed for this resource. Remove some tags, and try again.

    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UnqualifiedPolicyArn":{ + "type":"string", + "max":1224, + "min":0, + "pattern":"arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) for the resource you want to untag.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    Array of tag key-value pairs that you want to untag.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApprovalTeamRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "ApprovalStrategy":{ + "shape":"ApprovalStrategy", + "documentation":"

    An ApprovalStrategy object. Contains details for how the team grants approval.

    " + }, + "Approvers":{ + "shape":"ApprovalTeamRequestApprovers", + "documentation":"

    An array of ApprovalTeamRequestApprover objects. Contains details for the approvers in the team.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    Description for the team.

    " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

    Amazon Resource Name (ARN) for the team.

    ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "UpdateApprovalTeamResponse":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"String", + "documentation":"

    Version ID for the team that was created. When an approval team is updated, the version ID changes.

    " + } + } + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    Message for the ValidationException error.

    " + } + }, + "documentation":"

    The input fails to satisfy the constraints specified by an Amazon Web Services service.

    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

    Multi-party approval is a capability of Organizations that allows you to protect a predefined list of operations through a distributed approval process. Use Multi-party approval to establish approval workflows and transform security processes into team-based decisions.

    When to use Multi-party approval:

    • You need to align with the Zero Trust principle of \"never trust, always verify\"

    • You need to make sure that the right humans have access to the right things in the right way

    • You need distributed decision-making for sensitive or critical operations

    • You need to protect against unintended operations on sensitive or critical resources

    • You need formal reviews and approvals for auditing or compliance reasons

    For more information, see What is Multi-party approval in the Multi-party approval User Guide.

    " +} diff --git a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json index 1f4850a57c6..3dbc5905798 100644 --- a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json +++ b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json @@ -226,7 +226,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Deletes a transit gateway attachment from a Network Firewall. Either the firewall owner or the transit gateway owner can delete the attachment.

    After you delete a transit gateway attachment, traffic will no longer flow through the firewall endpoints.

    After you initiate the delete operation, use DescribeFirewall to monitor the deletion status.

    " + "documentation":"

    Deletes a transit gateway attachment from a Network Firewall. Either the firewall owner or the transit gateway owner can delete the attachment.

    After you delete a transit gateway attachment, raffic will no longer flow through the firewall endpoints.

    After you initiate the delete operation, use DescribeFirewall to monitor the deletion status.

    " }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", @@ -425,6 +425,22 @@ ], "documentation":"

    High-level information about a rule group, returned by operations like create and describe. You can use the information provided in the metadata to retrieve and manage a rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

    " }, + "DescribeRuleGroupSummary":{ + "name":"DescribeRuleGroupSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRuleGroupSummaryRequest"}, + "output":{"shape":"DescribeRuleGroupSummaryResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Returns detailed information for a stateful rule group.

    For active threat defense Amazon Web Services managed rule groups, this operation provides insight into the protections enabled by the rule group, based on Suricata rule metadata fields. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

    To modify how threat information appears in summaries, use the SummaryConfiguration parameter in UpdateRuleGroup.

    " + }, "DescribeTLSInspectionConfiguration":{ "name":"DescribeTLSInspectionConfiguration", "http":{ @@ -679,7 +695,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Rejects a transit gateway attachment request for Network Firewall. When you reject the attachment request, Network Firewall cancels the creation of routing components between the transit gateway and firewall endpoints.

    Only the transit gateway owner can reject the attachment. After rejection, no traffic will flow through the firewall endpoints for this attachment.

    Use DescribeFirewall to monitor the rejection status. To accept the attachment instead of rejecting it, use AcceptNetworkFirewallTransitGatewayAttachment.

    Once rejected, you cannot reverse this action. To establish connectivity, you must create a new transit gateway-attached firewall.

    " + "documentation":"

    Rejects a transit gateway attachment request for Network Firewall. When you reject the attachment request, Network Firewall cancels the creation of routing components between the transit gateway and firewall endpoints.

    Only the firewall owner can reject the attachment. After rejection, no traffic will flow through the firewall endpoints for this attachment.

    Use DescribeFirewall to monitor the rejection status. To accept the attachment instead of rejecting it, use AcceptNetworkFirewallTransitGatewayAttachment.

    Once rejected, you cannot reverse this action. To establish connectivity, you must create a new transit gateway-attached firewall.

    " }, "StartAnalysisReport":{ "name":"StartAnalysisReport", @@ -1578,6 +1594,10 @@ "AnalyzeRuleGroup":{ "shape":"Boolean", "documentation":"

    Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then creates the rule group for you. To run the stateless rule group analyzer without creating the rule group, set DryRun to TRUE.

    " + }, + "SummaryConfiguration":{ + "shape":"SummaryConfiguration", + "documentation":"

    An object that contains a RuleOptions array of strings. You use RuleOptions to determine which of the following RuleSummary values are returned in response to DescribeRuleGroupSummary.

    • Metadata - returns

    • Msg

    • SID

    " } } }, @@ -1703,6 +1723,7 @@ "type":"list", "member":{"shape":"CustomAction"} }, + "DeepThreatInspection":{"type":"boolean"}, "DeleteFirewallPolicyRequest":{ "type":"structure", "members":{ @@ -2175,6 +2196,41 @@ } } }, + "DescribeRuleGroupSummaryRequest":{ + "type":"structure", + "members":{ + "RuleGroupName":{ + "shape":"ResourceName", + "documentation":"

    The descriptive name of the rule group. You can't change the name of a rule group after you create it.

    You must specify the ARN or the name, and you can specify both.

    " + }, + "RuleGroupArn":{ + "shape":"ResourceArn", + "documentation":"

    Required. The Amazon Resource Name (ARN) of the rule group.

    You must specify the ARN or the name, and you can specify both.

    " + }, + "Type":{ + "shape":"RuleGroupType", + "documentation":"

    The type of rule group you want a summary for. This is a required field.

    Valid value: STATEFUL

    Note that STATELESS exists but is not currently supported. If you provide STATELESS, an exception is returned.

    " + } + } + }, + "DescribeRuleGroupSummaryResponse":{ + "type":"structure", + "required":["RuleGroupName"], + "members":{ + "RuleGroupName":{ + "shape":"ResourceName", + "documentation":"

    The descriptive name of the rule group. You can't change the name of a rule group after you create it.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    A description of the rule group.

    " + }, + "Summary":{ + "shape":"Summary", + "documentation":"

    A complex type that contains rule information based on the rule group's configured summary settings. The content varies depending on the fields that you specified to extract in your SummaryConfiguration. When you haven't configured any summary settings, this returns an empty array. The response might include:

    • Rule identifiers

    • Rule descriptions

    • Any metadata fields that you specified in your SummaryConfiguration

    " + } + } + }, "DescribeTLSInspectionConfigurationRequest":{ "type":"structure", "members":{ @@ -3721,7 +3777,8 @@ "type":"string", "enum":[ "AWS_MANAGED_THREAT_SIGNATURES", - "AWS_MANAGED_DOMAIN_LISTS" + "AWS_MANAGED_DOMAIN_LISTS", + "ACTIVE_THREAT_DEFENSE" ] }, "ResourceName":{ @@ -3885,6 +3942,10 @@ "AnalysisResults":{ "shape":"AnalysisResultList", "documentation":"

    The list of analysis results for AnalyzeRuleGroup. If you set AnalyzeRuleGroup to TRUE in CreateRuleGroup, UpdateRuleGroup, or DescribeRuleGroup, Network Firewall analyzes the rule group and identifies the rules that might adversely effect your firewall's functionality. For example, if Network Firewall detects a rule that's routing traffic asymmetrically, which impacts the service's ability to properly process traffic, the service includes the rule in the list of analysis results.

    " + }, + "SummaryConfiguration":{ + "shape":"SummaryConfiguration", + "documentation":"

    A complex type containing the currently selected rule option fields that will be displayed for rule summarization returned by DescribeRuleGroupSummary.

    " } }, "documentation":"

    The high-level properties of a rule group. This, along with the RuleGroup, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

    " @@ -3930,6 +3991,28 @@ "STRICT_ORDER" ] }, + "RuleSummaries":{ + "type":"list", + "member":{"shape":"RuleSummary"} + }, + "RuleSummary":{ + "type":"structure", + "members":{ + "SID":{ + "shape":"CollectionMember_String", + "documentation":"

    The unique identifier (Signature ID) of the Suricata rule.

    " + }, + "Msg":{ + "shape":"CollectionMember_String", + "documentation":"

    The contents taken from the rule's msg field.

    " + }, + "Metadata":{ + "shape":"CollectionMember_String", + "documentation":"

    The contents of the rule's metadata.

    " + } + }, + "documentation":"

    A complex type containing details about a Suricata rule. Contains:

    • SID

    • Msg

    • Metadata

    Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

    " + }, "RuleTargets":{ "type":"list", "member":{"shape":"CollectionMember_String"} @@ -4320,6 +4403,10 @@ "Override":{ "shape":"StatefulRuleGroupOverride", "documentation":"

    The action that allows the policy owner to override the behavior of the rule group within a policy.

    " + }, + "DeepThreatInspection":{ + "shape":"DeepThreatInspection", + "documentation":"

    Network Firewall plans to augment the active threat defense managed rule group with an additional deep threat inspection capability. When this capability is released, Amazon Web Services will analyze service logs of network traffic processed by these rule groups to identify threat indicators across customers. Amazon Web Services will use these threat indicators to improve the active threat defense managed rule groups and protect the security of Amazon Web Services customers and services.

    Customers can opt-out of deep threat inspection at any time through the Network Firewall console or API. When customers opt out, Network Firewall will not use the network traffic processed by those customers' active threat defense rule groups for rule group improvement.

    " } }, "documentation":"

    Identifier for a single stateful rule group, used in a firewall policy to refer to a rule group.

    " @@ -4466,6 +4553,38 @@ "type":"list", "member":{"shape":"SubnetMapping"} }, + "Summary":{ + "type":"structure", + "members":{ + "RuleSummaries":{ + "shape":"RuleSummaries", + "documentation":"

    An array of RuleSummary objects containing individual rule details that had been configured by the rulegroup's SummaryConfiguration.

    " + } + }, + "documentation":"

    A complex type containing summaries of security protections provided by a rule group.

    Network Firewall extracts this information from selected fields in the rule group's Suricata rules, based on your SummaryConfiguration settings.

    " + }, + "SummaryConfiguration":{ + "type":"structure", + "members":{ + "RuleOptions":{ + "shape":"SummaryRuleOptions", + "documentation":"

    Specifies the selected rule options returned by DescribeRuleGroupSummary.

    " + } + }, + "documentation":"

    A complex type that specifies which Suricata rule metadata fields to use when displaying threat information. Contains:

    • RuleOptions - The Suricata rule options fields to extract and display

    These settings affect how threat information appears in both the console and API responses. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

    " + }, + "SummaryRuleOption":{ + "type":"string", + "enum":[ + "SID", + "MSG", + "METADATA" + ] + }, + "SummaryRuleOptions":{ + "type":"list", + "member":{"shape":"SummaryRuleOption"} + }, "SupportedAvailabilityZones":{ "type":"map", "key":{"shape":"AvailabilityZone"}, @@ -5190,6 +5309,10 @@ "AnalyzeRuleGroup":{ "shape":"Boolean", "documentation":"

    Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then updates the rule group for you. To run the stateless rule group analyzer without updating the rule group, set DryRun to TRUE.

    " + }, + "SummaryConfiguration":{ + "shape":"SummaryConfiguration", + "documentation":"

    Updates the selected summary configuration for a rule group.

    Changes affect subsequent responses from DescribeRuleGroupSummary.

    " } } }, diff --git a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json index f0013079980..8ce86e56c31 100644 --- a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json +++ b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json @@ -60,7 +60,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

    Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "CancelHandshake":{ "name":"CancelHandshake", @@ -208,7 +208,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual Amazon Web Services account.

    For more information about policies and their use, see Managing Organizations policies.

    If the request includes tags, then the requester must have the organizations:TagResource permission.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual Amazon Web Services account.

    For more information about policies and their use, see Managing Organizations policies.

    If the request includes tags, then the requester must have the organizations:TagResource permission.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DeclineHandshake":{ "name":"DeclineHandshake", @@ -284,7 +284,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", @@ -302,7 +302,7 @@ {"shape":"AWSOrganizationsNotInUseException"}, {"shape":"ResourcePolicyNotFoundException"} ], - "documentation":"

    Deletes the resource policy from your organization.

    You can only call this operation from the organization's management account.

    " + "documentation":"

    Deletes the resource policy from your organization.

    This operation can be called only from the organization's management account.

    " }, "DeregisterDelegatedAdministrator":{ "name":"DeregisterDelegatedAdministrator", @@ -341,7 +341,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Retrieves Organizations-related information about the specified account.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves Organizations-related information about the specified account.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DescribeCreateAccountStatus":{ "name":"DescribeCreateAccountStatus", @@ -360,7 +360,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Retrieves the current status of an asynchronous request to create an account.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves the current status of an asynchronous request to create an account.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DescribeEffectivePolicy":{ "name":"DescribeEffectivePolicy", @@ -433,7 +433,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Retrieves information about an organizational unit (OU).

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves information about an organizational unit (OU).

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DescribePolicy":{ "name":"DescribePolicy", @@ -452,7 +452,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Retrieves information about a policy.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves information about a policy.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DescribeResourcePolicy":{ "name":"DescribeResourcePolicy", @@ -470,7 +470,7 @@ {"shape":"ResourcePolicyNotFoundException"}, {"shape":"ConstraintViolationException"} ], - "documentation":"

    Retrieves information about a resource policy.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves information about a resource policy.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DetachPolicy":{ "name":"DetachPolicy", @@ -493,7 +493,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

    Detaches a policy from a target root, organizational unit (OU), or account.

    If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and Access Management (IAM) users and roles in affected accounts are immediate.

    Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with an SCP that limits the permissions that can be delegated, you must attach the replacement SCP before you can remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a \"deny list\".

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Detaches a policy from a target root, organizational unit (OU), or account.

    If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and Access Management (IAM) users and roles in affected accounts are immediate.

    Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with an SCP that limits the permissions that can be delegated, you must attach the replacement SCP before you can remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a \"deny list\".

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "DisableAWSServiceAccess":{ "name":"DisableAWSServiceAccess", @@ -535,7 +535,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

    Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

    This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    To view the status of available policy types in the organization, use DescribeOrganization.

    " + "documentation":"

    Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

    This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    To view the status of available policy types in the organization, use DescribeOrganization.

    " }, "EnableAWSServiceAccess":{ "name":"EnableAWSServiceAccess", @@ -554,7 +554,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) with permissions to view the structure of an organization, create a service-linked role in all the accounts in the organization, and allow the service to perform operations on behalf of the organization and its accounts. Establishing these permissions can be a first step in enabling the integration of an Amazon Web Services service with Organizations.

    We recommend that you enable integration between Organizations and the specified Amazon Web Services service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other Amazon Web Services service.

    For more information about enabling services to integrate with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

    You can only call this operation from the organization's management account and only if the organization has enabled all features.

    " + "documentation":"

    Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) with permissions to view the structure of an organization, create a service-linked role in all the accounts in the organization, and allow the service to perform operations on behalf of the organization and its accounts. Establishing these permissions can be a first step in enabling the integration of an Amazon Web Services service with Organizations.

    We recommend that you enable integration between Organizations and the specified Amazon Web Services service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other Amazon Web Services service.

    For more information about enabling services to integrate with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

    This operation can be called only from the organization's management account.

    " }, "EnableAllFeatures":{ "name":"EnableAllFeatures", @@ -598,7 +598,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

    Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

    This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

    " + "documentation":"

    Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

    This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

    " }, "InviteAccountToOrganization":{ "name":"InviteAccountToOrganization", @@ -621,7 +621,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

    • You can invite Amazon Web Services accounts only from the same seller as the management account. For example, if your organization's management account was created by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon Web Services seller in India, you can invite only other AISPL accounts to your organization. You can't combine accounts from AISPL and Amazon Web Services or from any other Amazon Web Services seller. For more information, see Consolidated billing in India.

    • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact Amazon Web Services Support.

    If the request includes tags, then the requester must have the organizations:TagResource permission.

    This operation can be called only from the organization's management account.

    " + "documentation":"

    Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

    If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact Amazon Web Services Support.

    If the request includes tags, then the requester must have the organizations:TagResource permission.

    This operation can be called only from the organization's management account.

    " }, "LeaveOrganization":{ "name":"LeaveOrganization", @@ -640,7 +640,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the management account, use RemoveAccountFromOrganization instead.

    This operation can be called only from a member account in the organization.

    • The management account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization.

    • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must perform the following steps. If any of the steps are already completed for this account, that step doesn't appear.

      • Choose a support plan

      • Provide and verify the required contact information

      • Provide a current payment method

      Amazon Web Services uses the payment method to charge for any billable (not free tier) Amazon Web Services activity that occurs while the account isn't attached to an organization. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • The account that you want to leave must not be a delegated administrator account for any Amazon Web Services service enabled for your organization. If the account is a delegated administrator, you must first change the delegated administrator account to another account that is remaining in the organization.

    • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost Management User Guide.

    • After the account leaves the organization, all tags that were attached to the account object in the organization are deleted. Amazon Web Services accounts outside of an organization do not support tags.

    • A newly created account has a waiting period before it can be removed from its organization. You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

    • If you are using an organization principal to call LeaveOrganization across multiple accounts, you can only do this up to 5 accounts per second in a single organization.

    " + "documentation":"

    Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the management account, use RemoveAccountFromOrganization instead.

    This operation can be called only from a member account in the organization.

    • The management account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization.

    • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must perform the following steps. If any of the steps are already completed for this account, that step doesn't appear.

      • Choose a support plan

      • Provide and verify the required contact information

      • Provide a current payment method

      Amazon Web Services uses the payment method to charge for any billable (not free tier) Amazon Web Services activity that occurs while the account isn't attached to an organization. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • The account that you want to leave must not be a delegated administrator account for any Amazon Web Services service enabled for your organization. If the account is a delegated administrator, you must first change the delegated administrator account to another account that is remaining in the organization.

    • After the account leaves the organization, all tags that were attached to the account object in the organization are deleted. Amazon Web Services accounts outside of an organization do not support tags.

    • A newly created account has a waiting period before it can be removed from its organization. You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

    • If you are using an organization principal to call LeaveOrganization across multiple accounts, you can only do this up to 5 accounts per second in a single organization.

    " }, "ListAWSServiceAccessForOrganization":{ "name":"ListAWSServiceAccessForOrganization", @@ -659,7 +659,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Returns a list of the Amazon Web Services services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

    For more information about integrating other services with Organizations, including the list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Returns a list of the Amazon Web Services services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

    For more information about integrating other services with Organizations, including the list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListAccounts":{ "name":"ListAccounts", @@ -676,7 +676,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListAccountsForParent":{ "name":"ListAccountsForParent", @@ -694,7 +694,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListChildren":{ "name":"ListChildren", @@ -712,7 +712,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListCreateAccountStatus":{ "name":"ListCreateAccountStatus", @@ -730,7 +730,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Lists the account creation requests that match the specified status that is currently being tracked for the organization.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the account creation requests that match the specified status that is currently being tracked for the organization.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListDelegatedAdministrators":{ "name":"ListDelegatedAdministrators", @@ -749,7 +749,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Lists the Amazon Web Services accounts that are designated as delegated administrators in this organization.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the Amazon Web Services accounts that are designated as delegated administrators in this organization.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListDelegatedServicesForAccount":{ "name":"ListDelegatedServicesForAccount", @@ -770,7 +770,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    List the Amazon Web Services services for which the specified account is a delegated administrator.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    List the Amazon Web Services services for which the specified account is a delegated administrator.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListHandshakesForAccount":{ "name":"ListHandshakesForAccount", @@ -805,7 +805,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

    Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

    Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListOrganizationalUnitsForParent":{ "name":"ListOrganizationalUnitsForParent", @@ -823,7 +823,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists the organizational units (OUs) in a parent organizational unit or root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the organizational units (OUs) in a parent organizational unit or root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListParents":{ "name":"ListParents", @@ -841,7 +841,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    In the current release, a child can have only a single parent.

    " + "documentation":"

    Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    In the current release, a child can have only a single parent.

    " }, "ListPolicies":{ "name":"ListPolicies", @@ -859,7 +859,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Retrieves the list of all policies in an organization of a specified type.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Retrieves the list of all policies in an organization of a specified type.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListPoliciesForTarget":{ "name":"ListPoliciesForTarget", @@ -878,7 +878,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListRoots":{ "name":"ListRoots", @@ -895,7 +895,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists the roots that are defined in the current organization.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

    " + "documentation":"

    Lists the roots that are defined in the current organization.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

    " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -913,7 +913,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Lists tags that are attached to the specified resource.

    You can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists tags that are attached to the specified resource.

    You can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "ListTargetsForPolicy":{ "name":"ListTargetsForPolicy", @@ -932,7 +932,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

    Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

    Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "MoveAccount":{ "name":"MoveAccount", @@ -973,7 +973,7 @@ {"shape":"ConstraintViolationException"}, {"shape":"AWSOrganizationsNotInUseException"} ], - "documentation":"

    Creates or updates a resource policy.

    You can only call this operation from the organization's management account.

    " + "documentation":"

    Creates or updates a resource policy.

    This operation can be called only from the organization's management account..

    " }, "RegisterDelegatedAdministrator":{ "name":"RegisterDelegatedAdministrator", @@ -1033,7 +1033,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Adds one or more tags to the specified resource.

    Currently, you can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Adds one or more tags to the specified resource.

    Currently, you can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "UntagResource":{ "name":"UntagResource", @@ -1052,7 +1052,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

    Removes any tags with the specified keys from the specified resource.

    You can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Removes any tags with the specified keys from the specified resource.

    You can attach tags to the following resources in Organizations.

    • Amazon Web Services account

    • Organization root

    • Organizational unit (OU)

    • Policy (any type)

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " }, "UpdateOrganizationalUnit":{ "name":"UpdateOrganizationalUnit", @@ -1096,7 +1096,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

    Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

    " + "documentation":"

    Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

    This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

    " } }, "shapes":{ @@ -1381,7 +1381,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"ConstraintViolationExceptionReason"} }, - "documentation":"

    Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

    Some of the reasons in the following list might not be applicable to this specific API or operation.

    • ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.

    • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide.

    • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

    • ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You must complete the account setup before you create an organization.

    • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to request an increase in your limit.

      Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.

      Deleted and closed accounts still count toward your limit.

      If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support.

    • ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts. Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.

    • CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as a delegated administrator.

    • CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.

    • CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​

    • CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator.

    • CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days.

    • CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​

    • CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.

    • DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.

    • EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.

    • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

    • INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see Managing your Amazon Web Services payments.

    • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. All accounts in an organization must be associated with the same marketplace.

    • MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.

    • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.

    • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations in the Amazon Web Services GovCloud User Guide.

    • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal.

    • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

    • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

    • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

    • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

    • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

    • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

    • POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.

    • POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.

    • SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled service access. Call the EnableAWSServiceAccess API first.

    • TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.

    • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

    ", + "documentation":"

    Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

    Some of the reasons in the following list might not be applicable to this specific API or operation.

    • ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.

    • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide.

    • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

    • ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You must complete the account setup before you create an organization.

    • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to request an increase in your limit.

      Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.

      Deleted and closed accounts still count toward your limit.

      If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support.

    • ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts. Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.

    • CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as a delegated administrator.

    • CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.

    • CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​

    • CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator.

    • CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days.

    • CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​

    • CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.

    • DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.

    • EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.

    • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

    • INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see Managing your Amazon Web Services payments.

    • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. All accounts in an organization must be associated with the same marketplace.

    • MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.

    • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.

    • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations in the Amazon Web Services GovCloud User Guide.

    • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal.

    • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

    • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

    • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

    • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

    • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

    • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

    • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

    • POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.

    • POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.

    • POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access before you disabled the policy type (for example, SECURITYHUB_POLICY). To complete this operation, you must first disable the policy type.

    • SERVICE_ACCESS_NOT_ENABLED:

      • You attempted to register a delegated administrator before you enabled service access. Call the EnableAWSServiceAccess API first.

      • You attempted to enable a policy type before you enabled service access. Call the EnableAWSServiceAccess API first.

    • TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.

    • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

    ", "exception":true }, "ConstraintViolationExceptionReason":{ @@ -1414,6 +1414,7 @@ "CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR", "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG", "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE", + "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE", "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE", "CANNOT_CLOSE_MANAGEMENT_ACCOUNT", "CLOSE_ACCOUNT_QUOTA_EXCEEDED", @@ -1663,7 +1664,7 @@ }, "Type":{ "shape":"PolicyType", - "documentation":"

    The type of policy to create. You can specify one of the following values:

    " + "documentation":"

    The type of policy to create. You can specify one of the following values:

    " }, "Tags":{ "shape":"Tags", @@ -1840,7 +1841,7 @@ "members":{ "PolicyType":{ "shape":"EffectivePolicyType", - "documentation":"

    The type of policy that you want information about. You can specify one of the following values:

    " + "documentation":"

    The type of policy that you want information about. You can specify one of the following values:

    " }, "TargetId":{ "shape":"PolicyTargetId", @@ -1980,7 +1981,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

    The policy type that you want to disable in this root. You can specify one of the following values:

    " + "documentation":"

    The policy type that you want to disable in this root. You can specify one of the following values:

    " } } }, @@ -2070,7 +2071,8 @@ "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", "CHATBOT_POLICY", - "DECLARATIVE_POLICY_EC2" + "DECLARATIVE_POLICY_EC2", + "SECURITYHUB_POLICY" ] }, "Email":{ @@ -2092,8 +2094,7 @@ }, "EnableAllFeaturesRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "EnableAllFeaturesResponse":{ "type":"structure", @@ -2117,7 +2118,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

    The policy type that you want to enable. You can specify one of the following values:

    " + "documentation":"

    The policy type that you want to enable. You can specify one of the following values:

    " } } }, @@ -2218,7 +2219,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} }, - "documentation":"

    The requested operation would violate the constraint identified in the reason code.

    Some of the reasons in the following list might not be applicable to this specific API or operation:

    • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

      If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact Amazon Web Services Support.

    • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

    • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

    • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

    • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

    • ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the organization has already started the process to enable all features.

    • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

    • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

    • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

    ", + "documentation":"

    The requested operation would violate the constraint identified in the reason code.

    Some of the reasons in the following list might not be applicable to this specific API or operation:

    • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

      If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact Amazon Web Services Support.

    • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

    • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

    • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

    • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

    • ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the organization has already started the process to enable all features.

    • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization.

    • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

    • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

    ", "exception":true }, "HandshakeConstraintViolationExceptionReason":{ @@ -2793,7 +2794,7 @@ }, "Filter":{ "shape":"PolicyType", - "documentation":"

    The type of policy that you want to include in the returned list. You must specify one of the following values:

    " + "documentation":"

    The type of policy that you want to include in the returned list. You must specify one of the following values:

    " }, "NextToken":{ "shape":"NextToken", @@ -2824,7 +2825,7 @@ "members":{ "Filter":{ "shape":"PolicyType", - "documentation":"

    Specifies the type of policy that you want to include in the response. You must specify one of the following values:

    " + "documentation":"

    Specifies the type of policy that you want to include in the response. You must specify one of the following values:

    " }, "NextToken":{ "shape":"NextToken", @@ -3275,7 +3276,8 @@ "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", "CHATBOT_POLICY", - "DECLARATIVE_POLICY_EC2" + "DECLARATIVE_POLICY_EC2", + "SECURITYHUB_POLICY" ] }, "PolicyTypeAlreadyEnabledException":{ diff --git a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json index 6e295fd52b1..c8bf3a2018b 100644 --- a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json +++ b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json @@ -216,7 +216,24 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidAccessException"} ], - "documentation":"

    Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

    Updates from BatchUpdateFindings don't affect the value of UpdatedAt for a finding.

    Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

    • Confidence

    • Criticality

    • Note

    • RelatedFindings

    • Severity

    • Types

    • UserDefinedFields

    • VerificationState

    • Workflow

    You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the Security Hub User Guide.

    " + "documentation":"

    Used by Security Hub customers to update information about their investigation into one or more findings. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. A member account can update findings only for their own account. Administrator and member accounts can use this operation to update the following fields and objects for one or more findings:

    • Confidence

    • Criticality

    • Note

    • RelatedFindings

    • Severity

    • Types

    • UserDefinedFields

    • VerificationState

    • Workflow

    If you use this operation to update a finding, your updates don’t affect the value for the UpdatedAt field of the finding. Also note that it can take several minutes for Security Hub to process your request and update each finding specified in the request.

    You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. For more information see Configuring access to BatchUpdateFindings in the Security Hub User Guide.

    " + }, + "BatchUpdateFindingsV2":{ + "name":"BatchUpdateFindingsV2", + "http":{ + "method":"PATCH", + "requestUri":"/findingsv2/batchupdatev2" + }, + "input":{"shape":"BatchUpdateFindingsV2Request"}, + "output":{"shape":"BatchUpdateFindingsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Used by customers to update information about their investigation into a finding. Requested by delegated administrator accounts or member accounts. Delegated administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:BatchUpdateFindings action. Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in private preview and subject to change.

    " }, "BatchUpdateStandardsControlAssociations":{ "name":"BatchUpdateStandardsControlAssociations", @@ -235,6 +252,24 @@ ], "documentation":"

    For a batch of security controls and standards, this operation updates the enablement status of a control in a standard.

    " }, + "ConnectorRegistrationsV2":{ + "name":"ConnectorRegistrationsV2", + "http":{ + "method":"POST", + "requestUri":"/connectorsv2/registrations" + }, + "input":{"shape":"ConnectorRegistrationsV2Request"}, + "output":{"shape":"ConnectorRegistrationsV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to complete the authorization based on input parameters. This API is in preview release and subject to change.

    " + }, "CreateActionTarget":{ "name":"CreateActionTarget", "http":{ @@ -252,6 +287,24 @@ ], "documentation":"

    Creates a custom action target in Security Hub.

    You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

    " }, + "CreateAggregatorV2":{ + "name":"CreateAggregatorV2", + "http":{ + "method":"POST", + "requestUri":"/aggregatorv2/create" + }, + "input":{"shape":"CreateAggregatorV2Request"}, + "output":{"shape":"CreateAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change.

    " + }, "CreateAutomationRule":{ "name":"CreateAutomationRule", "http":{ @@ -269,6 +322,23 @@ ], "documentation":"

    Creates an automation rule based on input parameters.

    " }, + "CreateAutomationRuleV2":{ + "name":"CreateAutomationRuleV2", + "http":{ + "method":"POST", + "requestUri":"/automationrulesv2/create" + }, + "input":{"shape":"CreateAutomationRuleV2Request"}, + "output":{"shape":"CreateAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Creates a V2 automation rule. This API is in private preview and subject to change.

    " + }, "CreateConfigurationPolicy":{ "name":"CreateConfigurationPolicy", "http":{ @@ -287,6 +357,24 @@ ], "documentation":"

    Creates a configuration policy with the defined configuration. Only the Security Hub delegated administrator can invoke this operation from the home Region.

    " }, + "CreateConnectorV2":{ + "name":"CreateConnectorV2", + "http":{ + "method":"POST", + "requestUri":"/connectorsv2" + }, + "input":{"shape":"CreateConnectorV2Request"}, + "output":{"shape":"CreateConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to create a connectorV2 based on input parameters. This API is in preview release and subject to change.

    " + }, "CreateFindingAggregator":{ "name":"CreateFindingAggregator", "http":{ @@ -339,6 +427,24 @@ ], "documentation":"

    Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.

    CreateMembers is always used to add accounts that are not organization members.

    For accounts that are managed using Organizations, CreateMembers is only used in the following cases:

    • Security Hub is not configured to automatically add new organization accounts.

    • The account was disassociated or deleted in Security Hub.

    This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

    For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub.

    Accounts that are managed using Organizations don't receive an invitation. They automatically become a member account in Security Hub.

    • If the organization account does not have Security Hub enabled, then Security Hub and the default standards are automatically enabled. Note that Security Hub cannot be enabled automatically for the organization management account. The organization management account must enable Security Hub before the administrator account enables it as a member account.

    • For organization accounts that already have Security Hub enabled, Security Hub does not make any other changes to those accounts. It does not change their enabled standards or controls.

    A permissions policy is added that permits the administrator account to view the findings generated in the member account.

    To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

    " }, + "CreateTicketV2":{ + "name":"CreateTicketV2", + "http":{ + "method":"POST", + "requestUri":"/ticketsv2" + }, + "input":{"shape":"CreateTicketV2Request"}, + "output":{"shape":"CreateTicketV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to create a ticket in the chosen ITSM based on finding information for the provided finding metadata UID. This API is in preview release and subject to change.

    " + }, "DeclineInvitations":{ "name":"DeclineInvitations", "http":{ @@ -371,6 +477,42 @@ ], "documentation":"

    Deletes a custom action target from Security Hub.

    Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.

    " }, + "DeleteAggregatorV2":{ + "name":"DeleteAggregatorV2", + "http":{ + "method":"DELETE", + "requestUri":"/aggregatorv2/delete/{AggregatorV2Arn+}" + }, + "input":{"shape":"DeleteAggregatorV2Request"}, + "output":{"shape":"DeleteAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Deletes the Aggregator V2. This API is in private preview and subject to change.

    " + }, + "DeleteAutomationRuleV2":{ + "name":"DeleteAutomationRuleV2", + "http":{ + "method":"DELETE", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"DeleteAutomationRuleV2Request"}, + "output":{"shape":"DeleteAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Deletes a V2 automation rule. This API is in private preview and subject to change.

    " + }, "DeleteConfigurationPolicy":{ "name":"DeleteConfigurationPolicy", "http":{ @@ -390,6 +532,24 @@ ], "documentation":"

    Deletes a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region. For the deletion to succeed, you must first disassociate a configuration policy from target accounts, organizational units, or the root by invoking the StartConfigurationPolicyDisassociation operation.

    " }, + "DeleteConnectorV2":{ + "name":"DeleteConnectorV2", + "http":{ + "method":"DELETE", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"DeleteConnectorV2Request"}, + "output":{"shape":"DeleteConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to delete a connectorV2. This API is in preview release and subject to change.

    " + }, "DeleteFindingAggregator":{ "name":"DeleteFindingAggregator", "http":{ @@ -524,6 +684,39 @@ ], "documentation":"

    Returns information about product integrations in Security Hub.

    You can optionally provide an integration ARN. If you provide an integration ARN, then the results only include that integration.

    If you don't provide an integration ARN, then the results include all of the available product integrations.

    " }, + "DescribeProductsV2":{ + "name":"DescribeProductsV2", + "http":{ + "method":"GET", + "requestUri":"/productsV2" + }, + "input":{"shape":"DescribeProductsV2Request"}, + "output":{"shape":"DescribeProductsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Gets information about the product integration. This API is in private preview and subject to change.

    " + }, + "DescribeSecurityHubV2":{ + "name":"DescribeSecurityHubV2", + "http":{ + "method":"GET", + "requestUri":"/hubv2" + }, + "input":{"shape":"DescribeSecurityHubV2Request"}, + "output":{"shape":"DescribeSecurityHubV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Returns details about the service resource in your account. This API is in private preview and subject to change.

    " + }, "DescribeStandards":{ "name":"DescribeStandards", "http":{ @@ -606,6 +799,22 @@ ], "documentation":"

    Disables Security Hub in your account only in the current Amazon Web Services Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

    You can't disable Security Hub in an account that is currently the Security Hub administrator.

    When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed.

    If you want to save your existing findings, you must export them before you disable Security Hub.

    " }, + "DisableSecurityHubV2":{ + "name":"DisableSecurityHubV2", + "http":{ + "method":"DELETE", + "requestUri":"/hubv2" + }, + "input":{"shape":"DisableSecurityHubV2Request"}, + "output":{"shape":"DisableSecurityHubV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

    " + }, "DisassociateFromAdministratorAccount":{ "name":"DisassociateFromAdministratorAccount", "http":{ @@ -711,6 +920,22 @@ ], "documentation":"

    Enables Security Hub for your account in the current Region or the Region you specify in the request.

    When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

    When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards:

    • Center for Internet Security (CIS) Amazon Web Services Foundations Benchmark v1.2.0

    • Amazon Web Services Foundational Security Best Practices

    Other standards are not automatically enabled.

    To opt out of automatically enabled standards, set EnableDefaultStandards to false.

    After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

    To learn more, see the setup information in the Security Hub User Guide.

    " }, + "EnableSecurityHubV2":{ + "name":"EnableSecurityHubV2", + "http":{ + "method":"POST", + "requestUri":"/hubv2" + }, + "input":{"shape":"EnableSecurityHubV2Request"}, + "output":{"shape":"EnableSecurityHubV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

    " + }, "GetAdministratorAccount":{ "name":"GetAdministratorAccount", "http":{ @@ -728,6 +953,42 @@ ], "documentation":"

    Provides the details for the Security Hub administrator account for the current member account.

    Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.

    " }, + "GetAggregatorV2":{ + "name":"GetAggregatorV2", + "http":{ + "method":"GET", + "requestUri":"/aggregatorv2/get/{AggregatorV2Arn+}" + }, + "input":{"shape":"GetAggregatorV2Request"}, + "output":{"shape":"GetAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change.

    " + }, + "GetAutomationRuleV2":{ + "name":"GetAutomationRuleV2", + "http":{ + "method":"GET", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"GetAutomationRuleV2Request"}, + "output":{"shape":"GetAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Returns an automation rule for the V2 service. This API is in private preview and subject to change.

    " + }, "GetConfigurationPolicy":{ "name":"GetConfigurationPolicy", "http":{ @@ -764,6 +1025,24 @@ ], "documentation":"

    Returns the association between a configuration and a target account, organizational unit, or the root. The configuration can be a configuration policy or self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.

    " }, + "GetConnectorV2":{ + "name":"GetConnectorV2", + "http":{ + "method":"GET", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"GetConnectorV2Request"}, + "output":{"shape":"GetConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to retrieve details for a connectorV2 based on connector id. This API is in preview release and subject to change.

    " + }, "GetEnabledStandards":{ "name":"GetEnabledStandards", "http":{ @@ -812,7 +1091,24 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Returns history for a Security Hub finding in the last 90 days. The history includes changes made to any fields in the Amazon Web Services Security Finding Format (ASFF).

    " + "documentation":"

    Returns the history of a Security Hub finding for the past 90 days. The history includes changes made to any fields in the Amazon Web Services Security Finding Format (ASFF) except top-level timestamp fields, such as the CreatedAt and UpdatedAt fields.

    This operation might return fewer results than the maximum number of results (MaxResults) specified in a request, even when more results are available. If this occurs, the response includes a NextToken value, which you should use to retrieve the next set of results in the response. The presence of a NextToken value in a response doesn't necessarily indicate that the results are incomplete. However, you should continue to specify a NextToken value until you receive a response that doesn't include this value.

    " + }, + "GetFindingStatisticsV2":{ + "name":"GetFindingStatisticsV2", + "http":{ + "method":"POST", + "requestUri":"/findingsv2/statistics" + }, + "input":{"shape":"GetFindingStatisticsV2Request"}, + "output":{"shape":"GetFindingStatisticsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns aggregated statistical data about findings. GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. You must have permission to perform the s action. This API is in private preview and subject to change.

    " }, "GetFindings":{ "name":"GetFindings", @@ -830,6 +1126,23 @@ ], "documentation":"

    Returns a list of findings that match the specified criteria.

    If cross-Region aggregation is enabled, then when you call GetFindings from the home Region, the results include all of the matching findings from both the home Region and linked Regions.

    " }, + "GetFindingsV2":{ + "name":"GetFindingsV2", + "http":{ + "method":"POST", + "requestUri":"/findingsv2" + }, + "input":{"shape":"GetFindingsV2Request"}, + "output":{"shape":"GetFindingsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Return a list of findings that match the specified criteria. GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetFindings action. This API is in private preview and subject to change.

    " + }, "GetInsightResults":{ "name":"GetInsightResults", "http":{ @@ -916,6 +1229,42 @@ ], "documentation":"

    Returns the details for the Security Hub member accounts for the specified account IDs.

    An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually.

    The results include both member accounts that are managed using Organizations and accounts that were invited manually.

    " }, + "GetResourcesStatisticsV2":{ + "name":"GetResourcesStatisticsV2", + "http":{ + "method":"POST", + "requestUri":"/resourcesv2/statistics" + }, + "input":{"shape":"GetResourcesStatisticsV2Request"}, + "output":{"shape":"GetResourcesStatisticsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in private preview and subject to change.

    " + }, + "GetResourcesV2":{ + "name":"GetResourcesV2", + "http":{ + "method":"POST", + "requestUri":"/resourcesv2" + }, + "input":{"shape":"GetResourcesV2Request"}, + "output":{"shape":"GetResourcesV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns a list of resources. This API is in private preview and subject to change.

    " + }, "GetSecurityControlDefinition":{ "name":"GetSecurityControlDefinition", "http":{ @@ -950,6 +1299,24 @@ ], "documentation":"

    We recommend using Organizations instead of Security Hub invitations to manage your member accounts. For information, see Managing Security Hub administrator and member accounts with Organizations in the Security Hub User Guide.

    Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from.

    This operation is only used to invite accounts that don't belong to an Amazon Web Services organization. Organization accounts don't receive invitations.

    Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

    When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated in the member account.

    " }, + "ListAggregatorsV2":{ + "name":"ListAggregatorsV2", + "http":{ + "method":"GET", + "requestUri":"/aggregatorv2/list" + }, + "input":{"shape":"ListAggregatorsV2Request"}, + "output":{"shape":"ListAggregatorsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Retrieves a list of V2 aggregators. This API is in private preview and subject to change.

    " + }, "ListAutomationRules":{ "name":"ListAutomationRules", "http":{ @@ -967,6 +1334,23 @@ ], "documentation":"

    A list of automation rules and their metadata for the calling account.

    " }, + "ListAutomationRulesV2":{ + "name":"ListAutomationRulesV2", + "http":{ + "method":"GET", + "requestUri":"/automationrulesv2/list" + }, + "input":{"shape":"ListAutomationRulesV2Request"}, + "output":{"shape":"ListAutomationRulesV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Returns a list of automation rules and metadata for the calling account. This API is in private preview and subject to change.

    " + }, "ListConfigurationPolicies":{ "name":"ListConfigurationPolicies", "http":{ @@ -1002,6 +1386,24 @@ ], "documentation":"

    Provides information about the associations for your configuration policies and self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.

    " }, + "ListConnectorsV2":{ + "name":"ListConnectorsV2", + "http":{ + "method":"GET", + "requestUri":"/connectorsv2" + }, + "input":{"shape":"ListConnectorsV2Request"}, + "output":{"shape":"ListConnectorsV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to retrieve a list of connectorsV2 and their metadata for the calling account. This API is in preview release and subject to change.

    " + }, "ListEnabledProductsForImport":{ "name":"ListEnabledProductsForImport", "http":{ @@ -1212,6 +1614,42 @@ ], "documentation":"

    Updates the name and description of a custom action target in Security Hub.

    " }, + "UpdateAggregatorV2":{ + "name":"UpdateAggregatorV2", + "http":{ + "method":"PATCH", + "requestUri":"/aggregatorv2/update/{AggregatorV2Arn+}" + }, + "input":{"shape":"UpdateAggregatorV2Request"}, + "output":{"shape":"UpdateAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Udpates the configuration for the Aggregator V2. This API is in private preview and subject to change.

    " + }, + "UpdateAutomationRuleV2":{ + "name":"UpdateAutomationRuleV2", + "http":{ + "method":"PATCH", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"UpdateAutomationRuleV2Request"}, + "output":{"shape":"UpdateAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Updates a V2 automation rule. This API is in private preview and subject to change.

    " + }, "UpdateConfigurationPolicy":{ "name":"UpdateConfigurationPolicy", "http":{ @@ -1231,6 +1669,24 @@ ], "documentation":"

    Updates a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region.

    " }, + "UpdateConnectorV2":{ + "name":"UpdateConnectorV2", + "http":{ + "method":"PATCH", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"UpdateConnectorV2Request"}, + "output":{"shape":"UpdateConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Grants permission to update a connectorV2 based on its id and input parameters. This API is in preview release and subject to change.

    " + }, "UpdateFindingAggregator":{ "name":"UpdateFindingAggregator", "http":{ @@ -1379,8 +1835,7 @@ }, "AcceptAdministratorInvitationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "AcceptInvitationRequest":{ "type":"structure", @@ -1401,8 +1856,7 @@ }, "AcceptInvitationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "AccessDeniedException":{ "type":"structure", @@ -1690,6 +2144,27 @@ "max":10, "min":1 }, + "AggregatorV2":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the aggregatorV2.

    " + } + }, + "documentation":"

    Specifies a cross-Region data aggregation configuration, including the aggregation Region and any linked Regions.

    " + }, + "AggregatorV2List":{ + "type":"list", + "member":{"shape":"AggregatorV2"} + }, + "AllowedOperators":{ + "type":"string", + "enum":[ + "AND", + "OR" + ] + }, "AlphaNumericNonEmptyString":{ "type":"string", "pattern":"^([^\\u0000-\\u007F]|[-_ a-zA-Z0-9])+$" @@ -1813,10 +2288,56 @@ }, "documentation":"

    One or more actions that Security Hub takes when a finding matches the defined criteria of a rule.

    " }, + "AutomationRulesActionListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesActionV2"}, + "max":1, + "min":1 + }, "AutomationRulesActionType":{ "type":"string", "enum":["FINDING_FIELDS_UPDATE"] }, + "AutomationRulesActionTypeListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesActionTypeObjectV2"} + }, + "AutomationRulesActionTypeObjectV2":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AutomationRulesActionTypeV2", + "documentation":"

    The category of action to be executed by the automation rule.

    " + } + }, + "documentation":"

    Allows you to customize security response workflows.

    " + }, + "AutomationRulesActionTypeV2":{ + "type":"string", + "enum":[ + "FINDING_FIELDS_UPDATE", + "EXTERNAL_INTEGRATION" + ] + }, + "AutomationRulesActionV2":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"AutomationRulesActionTypeV2", + "documentation":"

    The category of action to be executed by the automation rule.

    " + }, + "FindingFieldsUpdate":{ + "shape":"AutomationRulesFindingFieldsUpdateV2", + "documentation":"

    The changes to be applied to fields in a security finding when an automation rule is triggered.

    " + }, + "ExternalIntegrationConfiguration":{ + "shape":"ExternalIntegrationConfiguration", + "documentation":"

    The settings for integrating automation rule actions with external systems or service.

    " + } + }, + "documentation":"

    Allows you to configure automated responses.

    " + }, "AutomationRulesArnsList":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -1910,6 +2431,24 @@ }, "documentation":"

    Identifies the finding fields that the automation rule action updates when a finding matches the defined criteria.

    " }, + "AutomationRulesFindingFieldsUpdateV2":{ + "type":"structure", + "members":{ + "SeverityId":{ + "shape":"Integer", + "documentation":"

    The severity level to be assigned to findings that match the automation rule criteria.

    " + }, + "Comment":{ + "shape":"NonEmptyString", + "documentation":"

    Notes or contextual information for findings that are modified by the automation rule.

    " + }, + "StatusId":{ + "shape":"Integer", + "documentation":"

    The status to be applied to findings that match automation rule criteria.

    " + } + }, + "documentation":"

    Allows you to define the structure for modifying specific fields in security findings.

    " + }, "AutomationRulesFindingFilters":{ "type":"structure", "members":{ @@ -2114,10 +2653,56 @@ "type":"list", "member":{"shape":"AutomationRulesMetadata"} }, - "AvailabilityZone":{ + "AutomationRulesMetadataListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesMetadataV2"} + }, + "AutomationRulesMetadataV2":{ "type":"structure", "members":{ - "ZoneName":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the automation rule.

    " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the automation rule.

    " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

    The value for the rule priority.

    " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the automation rule.

    " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

    The status of the automation rule.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    An explanation for the purpose and funcitonality of the automation rule.

    " + }, + "Actions":{ + "shape":"AutomationRulesActionTypeListV2", + "documentation":"

    The list of action to be performed when the rule criteria is met.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp for when the automation rule was created.

    " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp for the most recent modification to the automation rule.

    " + } + }, + "documentation":"

    Includes essential metadata information about automation rules.

    " + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "ZoneName":{ "shape":"NonEmptyString", "documentation":"

    The name of the Availability Zone.

    " }, @@ -15733,6 +16318,101 @@ "type":"list", "member":{"shape":"BatchUpdateFindingsUnprocessedFinding"} }, + "BatchUpdateFindingsV2ProcessedFinding":{ + "type":"structure", + "members":{ + "FindingIdentifier":{ + "shape":"OcsfFindingIdentifier", + "documentation":"

    The finding identifier of a processed finding.

    " + }, + "MetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

    The metadata.uid of a processed finding.

    " + } + }, + "documentation":"

    The list of findings that were updated.

    " + }, + "BatchUpdateFindingsV2ProcessedFindingsList":{ + "type":"list", + "member":{"shape":"BatchUpdateFindingsV2ProcessedFinding"} + }, + "BatchUpdateFindingsV2Request":{ + "type":"structure", + "members":{ + "MetadataUids":{ + "shape":"MetadataUidList", + "documentation":"

    The list of finding metadata.uid to indicate findings to update. Finding metadata.uid is a globally unique identifier associated with the finding. Customers cannot use MetadataUids together with FindingIdentifiers.

    " + }, + "FindingIdentifiers":{ + "shape":"OcsfFindingIdentifierList", + "documentation":"

    Provides information to identify a specific V2 finding.

    " + }, + "Comment":{ + "shape":"NonEmptyString", + "documentation":"

    The updated value for a user provided comment about the finding. Minimum character length 1. Maximum character length 512.

    " + }, + "SeverityId":{ + "shape":"Integer", + "documentation":"

    The updated value for the normalized severity identifier. The severity ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 99]. When customer provides the updated severity ID, the string sibling severity will automatically be updated in the finding.

    " + }, + "StatusId":{ + "shape":"Integer", + "documentation":"

    The updated value for the normalized status identifier. The status ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 6, 99]. When customer provides the updated status ID, the string sibling status will automatically be updated in the finding.

    " + } + } + }, + "BatchUpdateFindingsV2Response":{ + "type":"structure", + "required":[ + "ProcessedFindings", + "UnprocessedFindings" + ], + "members":{ + "ProcessedFindings":{ + "shape":"BatchUpdateFindingsV2ProcessedFindingsList", + "documentation":"

    The list of findings that were updated successfully.

    " + }, + "UnprocessedFindings":{ + "shape":"BatchUpdateFindingsV2UnprocessedFindingsList", + "documentation":"

    The list of V2 findings that were not updated.

    " + } + } + }, + "BatchUpdateFindingsV2UnprocessedFinding":{ + "type":"structure", + "members":{ + "FindingIdentifier":{ + "shape":"OcsfFindingIdentifier", + "documentation":"

    The finding identifier of an unprocessed finding.

    " + }, + "MetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

    The metadata.uid of an unprocessed finding.

    " + }, + "ErrorCode":{ + "shape":"BatchUpdateFindingsV2UnprocessedFindingErrorCode", + "documentation":"

    Indicates the specific type of error preventing successful processing of a finding during a batch update operation.

    " + }, + "ErrorMessage":{ + "shape":"NonEmptyString", + "documentation":"

    A detailed description of why a finding could not be processed during a batch update operation.

    " + } + }, + "documentation":"

    The list of findings that were not updated.

    " + }, + "BatchUpdateFindingsV2UnprocessedFindingErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFoundException", + "ValidationException", + "InternalServerException", + "ConflictException" + ] + }, + "BatchUpdateFindingsV2UnprocessedFindingsList":{ + "type":"list", + "member":{"shape":"BatchUpdateFindingsV2UnprocessedFinding"} + }, "BatchUpdateStandardsControlAssociationsRequest":{ "type":"structure", "required":["StandardsControlAssociationUpdates"], @@ -15883,6 +16563,12 @@ }, "documentation":"

    Provides details about the current status of the sensitive data detection.

    " }, + "ClientToken":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[\\x21-\\x7E]{1,64}$" + }, "CloudWatchLogsLogGroupArnConfigDetails":{ "type":"structure", "members":{ @@ -15962,6 +16648,40 @@ "NOT_AVAILABLE" ] }, + "CompositeFilter":{ + "type":"structure", + "members":{ + "StringFilters":{ + "shape":"OcsfStringFilterList", + "documentation":"

    Enables filtering based on string field values.

    " + }, + "DateFilters":{ + "shape":"OcsfDateFilterList", + "documentation":"

    Enables filtering based on date and timestamp fields.

    " + }, + "BooleanFilters":{ + "shape":"OcsfBooleanFilterList", + "documentation":"

    Enables filtering based on boolean field values.

    " + }, + "NumberFilters":{ + "shape":"OcsfNumberFilterList", + "documentation":"

    Enables filtering based on numerical field values.

    " + }, + "MapFilters":{ + "shape":"OcsfMapFilterList", + "documentation":"

    Enables filtering based on map field values.

    " + }, + "Operator":{ + "shape":"AllowedOperators", + "documentation":"

    The logical operator used to combine multiple filter conditions.

    " + } + }, + "documentation":"

    Enables the creation of filtering criteria for security findings.

    " + }, + "CompositeFilterList":{ + "type":"list", + "member":{"shape":"CompositeFilter"} + }, "ConfigurationOptions":{ "type":"structure", "members":{ @@ -16099,6 +16819,16 @@ "type":"list", "member":{"shape":"ConfigurationPolicySummary"} }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request causes conflict with the current state of the service resource.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, "ConnectionDirection":{ "type":"string", "enum":[ @@ -16106,6 +16836,100 @@ "OUTBOUND" ] }, + "ConnectorAuthStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "FAILED" + ] + }, + "ConnectorProviderName":{ + "type":"string", + "enum":[ + "JIRA_CLOUD", + "SERVICENOW" + ] + }, + "ConnectorRegistrationsV2Request":{ + "type":"structure", + "required":[ + "AuthCode", + "AuthState" + ], + "members":{ + "AuthCode":{ + "shape":"NonEmptyString", + "documentation":"

    The authCode retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

    " + }, + "AuthState":{ + "shape":"NonEmptyString", + "documentation":"

    The authState retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

    " + } + } + }, + "ConnectorRegistrationsV2Response":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the connectorV2.

    " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    " + } + } + }, + "ConnectorStatus":{ + "type":"string", + "enum":[ + "CONNECTED", + "FAILED_TO_CONNECT", + "PENDING_CONFIGURATION", + "PENDING_AUTHORIZATION" + ] + }, + "ConnectorSummary":{ + "type":"structure", + "required":[ + "ConnectorId", + "Name", + "ProviderSummary", + "CreatedAt" + ], + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the connectorV2.

    " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The Name field contains the user-defined name assigned to the integration connector. This helps identify and manage multiple connectors within Security Hub.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description of the connectorV2.

    " + }, + "ProviderSummary":{ + "shape":"ProviderSummary", + "documentation":"

    The connectorV2 third party provider configuration summary.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    ISO 8601 UTC timestamp for the time create the connectorV2.

    " + } + }, + "documentation":"

    A condensed overview of the connectorV2..

    " + }, + "ConnectorSummaryList":{ + "type":"list", + "member":{"shape":"ConnectorSummary"} + }, "ContainerDetails":{ "type":"structure", "members":{ @@ -16200,6 +17024,50 @@ } } }, + "CreateAggregatorV2Request":{ + "type":"structure", + "required":["RegionLinkingMode"], + "members":{ + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Determines how Regions are linked to an Aggregator V2.

    " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

    The list of Regions that are linked to the aggregation Region.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    A list of key-value pairs to be applied to the AggregatorV2.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique identifier used to ensure idempotency.

    ", + "idempotencyToken":true + } + } + }, + "CreateAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the AggregatorV2.

    " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services Region where data is aggregated.

    " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Determines how Regions are linked to an Aggregator V2.

    " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

    The list of Regions that are linked to the aggregation Region.

    " + } + } + }, "CreateAutomationRuleRequest":{ "type":"structure", "required":[ @@ -16253,6 +17121,64 @@ } } }, + "CreateAutomationRuleV2Request":{ + "type":"structure", + "required":[ + "RuleName", + "Description", + "RuleOrder", + "Criteria", + "Actions" + ], + "members":{ + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the V2 automation rule.

    " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

    The status of the V2 automation rule.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the V2 automation rule.

    " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

    The value for the rule priority.

    " + }, + "Criteria":{ + "shape":"Criteria", + "documentation":"

    The filtering type and configuration of the automation rule.

    " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

    A list of actions to be performed when the rule criteria is met.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    A list of key-value pairs associated with the V2 automation rule.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique identifier used to ensure idempotency.

    ", + "idempotencyToken":true + } + } + }, + "CreateAutomationRuleV2Response":{ + "type":"structure", + "members":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the V2 automation rule.

    " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the V2 automation rule.

    " + } + } + }, "CreateConfigurationPolicyRequest":{ "type":"structure", "required":[ @@ -16311,26 +17237,78 @@ } } }, - "CreateFindingAggregatorRequest":{ + "CreateConnectorV2Request":{ "type":"structure", - "required":["RegionLinkingMode"], + "required":[ + "Name", + "Provider" + ], "members":{ - "RegionLinkingMode":{ + "Name":{ "shape":"NonEmptyString", - "documentation":"

    Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

    The selected option also determines how to use the Regions provided in the Regions list.

    The options are as follows:

    • ALL_REGIONS - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

    • ALL_REGIONS_EXCEPT_SPECIFIED - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the Regions parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

    • SPECIFIED_REGIONS - Aggregates findings only from the Regions listed in the Regions parameter. Security Hub does not automatically aggregate findings from new Regions.

    • NO_REGIONS - Aggregates no data because no Regions are selected as linked Regions.

    " + "documentation":"

    The unique name of the connectorV2.

    " }, - "Regions":{ - "shape":"StringList", - "documentation":"

    If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.

    If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated list of Regions that do replicate and send findings to the home Region.

    An InvalidInputException error results if you populate this field while RegionLinkingMode is NO_REGIONS.

    " + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description of the connectorV2.

    " + }, + "Provider":{ + "shape":"ProviderConfiguration", + "documentation":"

    The third-party provider’s service configuration.

    " + }, + "KmsKeyArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of KMS key used to encrypt secrets for the connectorV2.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags to add to the connectorV2 when you create.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique identifier used to ensure idempotency.

    ", + "idempotencyToken":true } } }, - "CreateFindingAggregatorResponse":{ + "CreateConnectorV2Response":{ "type":"structure", + "required":["ConnectorId"], "members":{ - "FindingAggregatorArn":{ + "ConnectorArn":{ "shape":"NonEmptyString", - "documentation":"

    The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and stop cross-Region aggregation.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the connectorV2.

    " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    " + }, + "AuthUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The Url provide to customers for OAuth auth code flow.

    " + } + } + }, + "CreateFindingAggregatorRequest":{ + "type":"structure", + "required":["RegionLinkingMode"], + "members":{ + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

    The selected option also determines how to use the Regions provided in the Regions list.

    The options are as follows:

    • ALL_REGIONS - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

    • ALL_REGIONS_EXCEPT_SPECIFIED - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the Regions parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

    • SPECIFIED_REGIONS - Aggregates findings only from the Regions listed in the Regions parameter. Security Hub does not automatically aggregate findings from new Regions.

    • NO_REGIONS - Aggregates no data because no Regions are selected as linked Regions.

    " + }, + "Regions":{ + "shape":"StringList", + "documentation":"

    If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.

    If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated list of Regions that do replicate and send findings to the home Region.

    An InvalidInputException error results if you populate this field while RegionLinkingMode is NO_REGIONS.

    " + } + } + }, + "CreateFindingAggregatorResponse":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and stop cross-Region aggregation.

    " }, "FindingAggregationRegion":{ "shape":"NonEmptyString", @@ -16397,6 +17375,53 @@ } } }, + "CreateTicketV2Request":{ + "type":"structure", + "required":[ + "ConnectorId", + "FindingMetadataUid" + ], + "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    " + }, + "FindingMetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

    The the unique ID for the finding.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    The client idempotency token.

    ", + "idempotencyToken":true + } + } + }, + "CreateTicketV2Response":{ + "type":"structure", + "required":["TicketId"], + "members":{ + "TicketId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID for the ticketv2.

    " + }, + "TicketSrcUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The url to the created ticket.

    " + } + } + }, + "Criteria":{ + "type":"structure", + "members":{ + "OcsfFindingCriteria":{ + "shape":"OcsfFindingFilters", + "documentation":"

    The filtering conditions that align with OCSF standards.

    " + } + }, + "documentation":"

    Defines the parameters and conditions used to evaluate and filter security findings.

    ", + "union":true + }, "CrossAccountMaxResults":{ "type":"integer", "max":50, @@ -16571,6 +17596,38 @@ } } }, + "DeleteAggregatorV2Request":{ + "type":"structure", + "required":["AggregatorV2Arn"], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Aggregator V2.

    ", + "location":"uri", + "locationName":"AggregatorV2Arn" + } + } + }, + "DeleteAggregatorV2Response":{ + "type":"structure", + "members":{} + }, + "DeleteAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the V2 automation rule.

    ", + "location":"uri", + "locationName":"Identifier" + } + } + }, + "DeleteAutomationRuleV2Response":{ + "type":"structure", + "members":{} + }, "DeleteConfigurationPolicyRequest":{ "type":"structure", "required":["Identifier"], @@ -16585,9 +17642,24 @@ }, "DeleteConfigurationPolicyResponse":{ "type":"structure", + "members":{} + }, + "DeleteConnectorV2Request":{ + "type":"structure", + "required":["ConnectorId"], "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    ", + "location":"uri", + "locationName":"ConnectorId" + } } }, + "DeleteConnectorV2Response":{ + "type":"structure", + "members":{} + }, "DeleteFindingAggregatorRequest":{ "type":"structure", "required":["FindingAggregatorArn"], @@ -16602,8 +17674,7 @@ }, "DeleteFindingAggregatorResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteInsightRequest":{ "type":"structure", @@ -16730,8 +17801,7 @@ }, "DescribeOrganizationConfigurationRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DescribeOrganizationConfigurationResponse":{ "type":"structure", @@ -16788,6 +17858,54 @@ } } }, + "DescribeProductsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeProductsV2Response":{ + "type":"structure", + "required":["ProductsV2"], + "members":{ + "ProductsV2":{ + "shape":"ProductsV2List", + "documentation":"

    Gets information about the product integration.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + } + } + }, + "DescribeSecurityHubV2Request":{ + "type":"structure", + "members":{} + }, + "DescribeSecurityHubV2Response":{ + "type":"structure", + "members":{ + "HubV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the service resource.

    " + }, + "SubscribedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the service was enabled in the account.

    " + } + } + }, "DescribeStandardsControlsRequest":{ "type":"structure", "required":["StandardsSubscriptionArn"], @@ -16879,8 +17997,7 @@ }, "DisableImportFindingsForProductResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableOrganizationAdminAccountRequest":{ "type":"structure", @@ -16889,23 +18006,32 @@ "AdminAccountId":{ "shape":"NonEmptyString", "documentation":"

    The Amazon Web Services account identifier of the Security Hub administrator account.

    " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

    The feature for which the delegated admin account is disabled. Defaults to Security Hub if not specified.

    " } } }, "DisableOrganizationAdminAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableSecurityHubRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableSecurityHubResponse":{ "type":"structure", - "members":{ - } + "members":{} + }, + "DisableSecurityHubV2Request":{ + "type":"structure", + "members":{} + }, + "DisableSecurityHubV2Response":{ + "type":"structure", + "members":{} }, "DisabledSecurityControlIdentifierList":{ "type":"list", @@ -16913,23 +18039,19 @@ }, "DisassociateFromAdministratorAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromAdministratorAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromMasterAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromMasterAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateMembersRequest":{ "type":"structure", @@ -16943,8 +18065,7 @@ }, "DisassociateMembersResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DnsRequestAction":{ "type":"structure", @@ -17009,12 +18130,24 @@ "AdminAccountId":{ "shape":"NonEmptyString", "documentation":"

    The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

    " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

    The feature for which the delegated admin account is enabled. Defaults to Security Hub if not specified.

    " } } }, "EnableOrganizationAdminAccountResponse":{ "type":"structure", "members":{ + "AdminAccountId":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

    " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

    The feature where the delegated administrator is enabled. The default is Security Hub CSPM if no delegated administrator is specified in the request.

    " + } } }, "EnableSecurityHubRequest":{ @@ -17035,8 +18168,25 @@ } }, "EnableSecurityHubResponse":{ + "type":"structure", + "members":{} + }, + "EnableSecurityHubV2Request":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags to add to the hub V2 resource when you enable Security Hub.

    " + } + } + }, + "EnableSecurityHubV2Response":{ "type":"structure", "members":{ + "HubV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the V2 resource that was created.

    " + } } }, "EnabledSecurityControlIdentifierList":{ @@ -17079,6 +18229,16 @@ }, "documentation":"

    The options for customizing a security control parameter that is a list of enums.

    " }, + "ExternalIntegrationConfiguration":{ + "type":"structure", + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the connector that establishes the integration.

    " + } + }, + "documentation":"

    Defines the settings and parameters required for integrating external security tools and services.

    " + }, "FieldMap":{ "type":"map", "key":{"shape":"NonEmptyString"}, @@ -17348,8 +18508,7 @@ }, "GetAdministratorAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetAdministratorAccountResponse":{ "type":"structure", @@ -17357,6 +18516,96 @@ "Administrator":{"shape":"Invitation"} } }, + "GetAggregatorV2Request":{ + "type":"structure", + "required":["AggregatorV2Arn"], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Aggregator V2.

    ", + "location":"uri", + "locationName":"AggregatorV2Arn" + } + } + }, + "GetAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Aggregator V2.

    " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services Region where data is aggregated.

    " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Determines how Regions are linked to an Aggregator V2.

    " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

    The list of Regions that are linked to the aggregation Region.

    " + } + } + }, + "GetAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the V2 automation rule.

    ", + "location":"uri", + "locationName":"Identifier" + } + } + }, + "GetAutomationRuleV2Response":{ + "type":"structure", + "members":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the V2 automation rule.

    " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the V2 automation rule.

    " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

    The value for the rule priority.

    " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the V2 automation rule.

    " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

    The status of the V2 automation automation rule.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the automation rule.

    " + }, + "Criteria":{ + "shape":"Criteria", + "documentation":"

    The filtering type and configuration of the V2 automation rule.

    " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

    A list of actions performed when the rule criteria is met.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the V2 automation rule was created.

    " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the V2 automation rule was updated.

    " + } + } + }, "GetConfigurationPolicyAssociationRequest":{ "type":"structure", "required":["Target"], @@ -17445,36 +18694,97 @@ } } }, - "GetEnabledStandardsRequest":{ + "GetConnectorV2Request":{ "type":"structure", + "required":["ConnectorId"], "members":{ - "StandardsSubscriptionArns":{ - "shape":"StandardsSubscriptionArns", - "documentation":"

    The list of the standards subscription ARNs for the standards to retrieve.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

    The maximum number of results to return in the response.

    " + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    ", + "location":"uri", + "locationName":"ConnectorId" } } }, - "GetEnabledStandardsResponse":{ + "GetConnectorV2Response":{ "type":"structure", + "required":[ + "ConnectorId", + "Name", + "CreatedAt", + "LastUpdatedAt", + "Health", + "ProviderDetail" + ], "members":{ - "StandardsSubscriptions":{ - "shape":"StandardsSubscriptions", - "documentation":"

    The list of StandardsSubscriptions objects that include information about the enabled standards.

    " + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the connectorV2.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The pagination token to use to request the next page of results.

    " - } - } - }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the connectorV2.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description of the connectorV2.

    " + }, + "KmsKeyArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of KMS key used for the connectorV2.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    ISO 8601 UTC timestamp for the time create the connectorV2.

    " + }, + "LastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    ISO 8601 UTC timestamp for the time update the connectorV2 connectorStatus.

    " + }, + "Health":{ + "shape":"HealthCheck", + "documentation":"

    The current health status for connectorV2

    " + }, + "ProviderDetail":{ + "shape":"ProviderDetail", + "documentation":"

    The third-party provider detail for a service configuration.

    " + } + } + }, + "GetEnabledStandardsRequest":{ + "type":"structure", + "members":{ + "StandardsSubscriptionArns":{ + "shape":"StandardsSubscriptionArns", + "documentation":"

    The list of the standards subscription ARNs for the standards to retrieve.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in the response.

    " + } + } + }, + "GetEnabledStandardsResponse":{ + "type":"structure", + "members":{ + "StandardsSubscriptions":{ + "shape":"StandardsSubscriptions", + "documentation":"

    The list of StandardsSubscriptions objects that include information about the enabled standards.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, "GetFindingAggregatorRequest":{ "type":"structure", "required":["FindingAggregatorArn"], @@ -17544,6 +18854,33 @@ } } }, + "GetFindingStatisticsV2Request":{ + "type":"structure", + "required":["GroupByRules"], + "members":{ + "GroupByRules":{ + "shape":"GroupByRules", + "documentation":"

    Specifies how security findings should be aggregated and organized in the statistical analysis. It can accept up to 5 groupBy fields in a single call.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    Orders the aggregation count in descending or ascending order. Descending order is the default.

    " + }, + "MaxStatisticResults":{ + "shape":"MaxStatisticResults", + "documentation":"

    The maximum number of results to be returned.

    " + } + } + }, + "GetFindingStatisticsV2Response":{ + "type":"structure", + "members":{ + "GroupByResults":{ + "shape":"GroupByResults", + "documentation":"

    Aggregated statistics about security findings based on specified grouping criteria.

    " + } + } + }, "GetFindingsRequest":{ "type":"structure", "members":{ @@ -17579,6 +18916,40 @@ } } }, + "GetFindingsV2Request":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"OcsfFindingFilters", + "documentation":"

    The finding attributes used to define a condition to filter the returned OCSF findings. You can filter up to 10 composite filters. For each filter type inside of a composite filter, you can provide up to 20 filters.

    " + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

    The finding attributes used to sort the list of returned findings.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    " + } + } + }, + "GetFindingsV2Response":{ + "type":"structure", + "members":{ + "Findings":{ + "shape":"OcsfFindingsList", + "documentation":"

    An array of security findings returned by the operation.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + } + } + }, "GetInsightResultsRequest":{ "type":"structure", "required":["InsightArn"], @@ -17634,8 +19005,7 @@ }, "GetInvitationsCountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetInvitationsCountResponse":{ "type":"structure", @@ -17648,8 +19018,7 @@ }, "GetMasterAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetMasterAccountResponse":{ "type":"structure", @@ -17683,6 +19052,69 @@ } } }, + "GetResourcesStatisticsV2Request":{ + "type":"structure", + "required":["GroupByRules"], + "members":{ + "GroupByRules":{ + "shape":"ResourceGroupByRules", + "documentation":"

    How resource statistics should be aggregated and organized in the response.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    Sorts aggregated statistics.

    " + }, + "MaxStatisticResults":{ + "shape":"MaxStatisticResults", + "documentation":"

    The maximum number of results to be returned.

    " + } + } + }, + "GetResourcesStatisticsV2Response":{ + "type":"structure", + "required":["GroupByResults"], + "members":{ + "GroupByResults":{ + "shape":"GroupByResults", + "documentation":"

    The aggregated statistics about resources based on the specified grouping rule.

    " + } + } + }, + "GetResourcesV2Request":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ResourcesFilters", + "documentation":"

    Filters resources based on a set of criteria.

    " + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

    The finding attributes used to sort the list of returned findings.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    " + } + } + }, + "GetResourcesV2Response":{ + "type":"structure", + "required":["Resources"], + "members":{ + "Resources":{ + "shape":"Resources", + "documentation":"

    Filters resources based on a set of criteria.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + } + } + }, "GetSecurityControlDefinitionRequest":{ "type":"structure", "required":["SecurityControlId"], @@ -17702,6 +19134,105 @@ "SecurityControlDefinition":{"shape":"SecurityControlDefinition"} } }, + "GroupByField":{ + "type":"string", + "enum":[ + "activity_name", + "cloud.account.uid", + "cloud.provider", + "cloud.region", + "compliance.assessments.name", + "compliance.status", + "compliance.control", + "finding_info.title", + "finding_info.types", + "metadata.product.name", + "metadata.product.uid", + "resources.type", + "resources.uid", + "severity", + "status", + "vulnerabilities.fix_coverage", + "class_name" + ] + }, + "GroupByResult":{ + "type":"structure", + "members":{ + "GroupByField":{ + "shape":"NonEmptyString", + "documentation":"

    The attribute by which filtered security findings should be grouped.

    " + }, + "GroupByValues":{ + "shape":"GroupByValues", + "documentation":"

    An array of grouped values and their respective counts for each GroupByField.

    " + } + }, + "documentation":"

    Represents finding statistics grouped by GroupedByField.

    " + }, + "GroupByResults":{ + "type":"list", + "member":{"shape":"GroupByResult"} + }, + "GroupByRule":{ + "type":"structure", + "required":["GroupByField"], + "members":{ + "Filters":{ + "shape":"OcsfFindingFilters", + "documentation":"

    The criteria used to select which security findings should be included in the grouping operation.

    " + }, + "GroupByField":{ + "shape":"GroupByField", + "documentation":"

    The attribute by which filtered findings should be grouped.

    " + } + }, + "documentation":"

    Defines the how the finding attribute should be grouped.

    " + }, + "GroupByRules":{ + "type":"list", + "member":{"shape":"GroupByRule"} + }, + "GroupByValue":{ + "type":"structure", + "members":{ + "FieldValue":{ + "shape":"NonEmptyString", + "documentation":"

    The value of the field by which findings are grouped.

    " + }, + "Count":{ + "shape":"Integer", + "documentation":"

    The number of findings for a specific FieldValue and GroupByField.

    " + } + }, + "documentation":"

    Represents individual aggregated results when grouping security findings for each GroupByField.

    " + }, + "GroupByValues":{ + "type":"list", + "member":{"shape":"GroupByValue"} + }, + "HealthCheck":{ + "type":"structure", + "required":[ + "ConnectorStatus", + "LastCheckedAt" + ], + "members":{ + "ConnectorStatus":{ + "shape":"ConnectorStatus", + "documentation":"

    The status of the connectorV2.

    " + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

    The message for the reason of connectorStatus change.

    " + }, + "LastCheckedAt":{ + "shape":"Timestamp", + "documentation":"

    ISO 8601 UTC timestamp for the time check the health status of the connectorV2.

    " + } + }, + "documentation":"

    Information about the operational status and health of a connectorV2.

    " + }, "IcmpTypeCode":{ "type":"structure", "members":{ @@ -17905,6 +19436,18 @@ "type":"list", "member":{"shape":"IntegrationType"} }, + "IntegrationV2Type":{ + "type":"string", + "enum":[ + "SEND_FINDINGS_TO_SECURITY_HUB", + "RECEIVE_FINDINGS_FROM_SECURITY_HUB", + "UPDATE_FINDINGS_IN_SECURITY_HUB" + ] + }, + "IntegrationV2TypeList":{ + "type":"list", + "member":{"shape":"IntegrationV2Type"} + }, "InternalException":{ "type":"structure", "members":{ @@ -17915,6 +19458,16 @@ "error":{"httpStatusCode":500}, "exception":true }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request has failed due to an internal failure of the service.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, "InvalidAccessException":{ "type":"structure", "members":{ @@ -18038,6 +19591,53 @@ "type":"list", "member":{"shape":"Ipv6CidrBlockAssociation"} }, + "JiraCloudDetail":{ + "type":"structure", + "members":{ + "CloudId":{ + "shape":"NonEmptyString", + "documentation":"

    The cloud id of the Jira Cloud.

    " + }, + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

    The projectKey of Jira Cloud.

    " + }, + "Domain":{ + "shape":"NonEmptyString", + "documentation":"

    The URL domain of your Jira Cloud instance.

    " + }, + "AuthUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The URL to provide to customers for OAuth auth code flow.

    " + }, + "AuthStatus":{ + "shape":"ConnectorAuthStatus", + "documentation":"

    The status of the authorization between Jira Cloud and the service.

    " + } + }, + "documentation":"

    Information about the configuration and status of a Jira Cloud integration.

    " + }, + "JiraCloudProviderConfiguration":{ + "type":"structure", + "members":{ + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

    The project key for a JiraCloud instance.

    " + } + }, + "documentation":"

    The initial configuration settings required to establish an integration between Security Hub and Jira Cloud.

    " + }, + "JiraCloudUpdateConfiguration":{ + "type":"structure", + "required":["ProjectKey"], + "members":{ + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

    The project key for a JiraCloud instance.

    " + } + }, + "documentation":"

    The parameters used to modify an existing Jira Cloud integration.

    " + }, "KeywordFilter":{ "type":"structure", "members":{ @@ -18062,6 +19662,36 @@ "error":{"httpStatusCode":429}, "exception":true }, + "ListAggregatorsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListAggregatorsV2Response":{ + "type":"structure", + "members":{ + "AggregatorsV2":{ + "shape":"AggregatorV2List", + "documentation":"

    An array of aggregators.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + } + } + }, "ListAutomationRulesRequest":{ "type":"structure", "members":{ @@ -18092,6 +19722,36 @@ } } }, + "ListAutomationRulesV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListAutomationRulesV2Response":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"AutomationRulesMetadataListV2", + "documentation":"

    An array of automation rules.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + } + } + }, "ListConfigurationPoliciesRequest":{ "type":"structure", "members":{ @@ -18152,6 +19812,49 @@ } } }, + "ListConnectorsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token per the Amazon Web Services Pagination standard

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "ProviderName":{ + "shape":"ConnectorProviderName", + "documentation":"

    The name of the third-party provider.

    ", + "location":"querystring", + "locationName":"ProviderName" + }, + "ConnectorStatus":{ + "shape":"ConnectorStatus", + "documentation":"

    The status for the connectorV2.

    ", + "location":"querystring", + "locationName":"ConnectorStatus" + } + } + }, + "ListConnectorsV2Response":{ + "type":"structure", + "required":["Connectors"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results. Otherwise, this parameter is null.

    " + }, + "Connectors":{ + "shape":"ConnectorSummaryList", + "documentation":"

    An array of connectorV2 summaries.

    " + } + } + }, "ListEnabledProductsForImportRequest":{ "type":"structure", "members":{ @@ -18292,6 +19995,12 @@ "documentation":"

    The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", "location":"querystring", "locationName":"NextToken" + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

    The feature where the delegated administrator account is listed. Defaults to Security Hub if not specified.

    ", + "location":"querystring", + "locationName":"Feature" } } }, @@ -18305,6 +20014,10 @@ "NextToken":{ "shape":"NextToken", "documentation":"

    The pagination token to use to request the next page of results.

    " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

    The feature where the delegated administrator account is listed. Defaults to Security Hub CSPM if not specified.

    " } } }, @@ -18510,6 +20223,11 @@ "max":100, "min":1 }, + "MaxStatisticResults":{ + "type":"integer", + "max":400, + "min":1 + }, "Member":{ "type":"structure", "members":{ @@ -18550,6 +20268,12 @@ "type":"list", "member":{"shape":"Member"} }, + "MetadataUidList":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":0 + }, "Network":{ "type":"structure", "members":{ @@ -18835,61 +20559,257 @@ }, "documentation":"

    The updated note.

    " }, - "NumberFilter":{ + "NumberFilter":{ + "type":"structure", + "members":{ + "Gte":{ + "shape":"Double", + "documentation":"

    The greater-than-equal condition to be applied to a single field when querying for findings.

    " + }, + "Lte":{ + "shape":"Double", + "documentation":"

    The less-than-equal condition to be applied to a single field when querying for findings.

    " + }, + "Eq":{ + "shape":"Double", + "documentation":"

    The equal-to condition to be applied to a single field when querying for findings.

    " + }, + "Gt":{ + "shape":"Double", + "documentation":"

    The greater-than condition to be applied to a single field when querying for findings.

    " + }, + "Lt":{ + "shape":"Double", + "documentation":"

    The less-than condition to be applied to a single field when querying for findings.

    " + } + }, + "documentation":"

    A number filter for querying findings.

    " + }, + "NumberFilterList":{ + "type":"list", + "member":{"shape":"NumberFilter"} + }, + "Occurrences":{ + "type":"structure", + "members":{ + "LineRanges":{ + "shape":"Ranges", + "documentation":"

    Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.

    " + }, + "OffsetRanges":{ + "shape":"Ranges", + "documentation":"

    Occurrences of sensitive data detected in a binary text file.

    " + }, + "Pages":{ + "shape":"Pages", + "documentation":"

    Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file.

    " + }, + "Records":{ + "shape":"Records", + "documentation":"

    Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file.

    " + }, + "Cells":{ + "shape":"Cells", + "documentation":"

    Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files.

    " + } + }, + "documentation":"

    The detected occurrences of sensitive data.

    " + }, + "OcsfBooleanField":{ + "type":"string", + "enum":[ + "compliance.assessments.meets_criteria", + "vulnerabilities.is_exploit_available", + "vulnerabilities.is_fix_available" + ] + }, + "OcsfBooleanFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfBooleanField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"BooleanFilter"} + }, + "documentation":"

    Enables filtering of security findings based on boolean field values in OCSF.

    " + }, + "OcsfBooleanFilterList":{ + "type":"list", + "member":{"shape":"OcsfBooleanFilter"} + }, + "OcsfDateField":{ + "type":"string", + "enum":[ + "finding_info.created_time_dt", + "finding_info.first_seen_time_dt", + "finding_info.last_seen_time_dt", + "finding_info.modified_time_dt" + ] + }, + "OcsfDateFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfDateField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"DateFilter"} + }, + "documentation":"

    Enables filtering of security findings based on date and timestamp fields in OCSF.

    " + }, + "OcsfDateFilterList":{ + "type":"list", + "member":{"shape":"OcsfDateFilter"} + }, + "OcsfFinding":{ + "type":"structure", + "members":{}, + "document":true + }, + "OcsfFindingFilters":{ + "type":"structure", + "members":{ + "CompositeFilters":{ + "shape":"CompositeFilterList", + "documentation":"

    Enables the creation of complex filtering conditions by combining filter criteria.

    " + }, + "CompositeOperator":{ + "shape":"AllowedOperators", + "documentation":"

    The logical operators used to combine the filtering on multiple CompositeFilters.

    " + } + }, + "documentation":"

    Specifies the filtering criteria for security findings using OCSF.

    " + }, + "OcsfFindingIdentifier":{ + "type":"structure", + "required":[ + "CloudAccountUid", + "FindingInfoUid", + "MetadataProductUid" + ], + "members":{ + "CloudAccountUid":{ + "shape":"NonEmptyString", + "documentation":"

    Finding cloud.account.uid, which is a unique identifier in the Amazon Web Services account..

    " + }, + "FindingInfoUid":{ + "shape":"NonEmptyString", + "documentation":"

    Finding finding_info.uid, which is a unique identifier for the finding from the finding provider.

    " + }, + "MetadataProductUid":{ + "shape":"NonEmptyString", + "documentation":"

    Finding metadata.product.uid, which is a unique identifier for the product.

    " + } + }, + "documentation":"

    Provides a standard to identify security findings using OCSF.

    " + }, + "OcsfFindingIdentifierList":{ + "type":"list", + "member":{"shape":"OcsfFindingIdentifier"}, + "max":100, + "min":0 + }, + "OcsfFindingsList":{ + "type":"list", + "member":{"shape":"OcsfFinding"} + }, + "OcsfMapField":{ + "type":"string", + "enum":["resources.tags"] + }, + "OcsfMapFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfMapField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"MapFilter"} + }, + "documentation":"

    Enables filtering of security findings based on map field values in OCSF.

    " + }, + "OcsfMapFilterList":{ + "type":"list", + "member":{"shape":"OcsfMapFilter"} + }, + "OcsfNumberField":{ + "type":"string", + "enum":[ + "activity_id", + "compliance.status_id", + "confidence_score", + "severity_id", + "status_id", + "finding_info.related_events_count" + ] + }, + "OcsfNumberFilter":{ "type":"structure", "members":{ - "Gte":{ - "shape":"Double", - "documentation":"

    The greater-than-equal condition to be applied to a single field when querying for findings.

    " - }, - "Lte":{ - "shape":"Double", - "documentation":"

    The less-than-equal condition to be applied to a single field when querying for findings.

    " - }, - "Eq":{ - "shape":"Double", - "documentation":"

    The equal-to condition to be applied to a single field when querying for findings.

    " - }, - "Gt":{ - "shape":"Double", - "documentation":"

    The greater-than condition to be applied to a single field when querying for findings.

    " + "FieldName":{ + "shape":"OcsfNumberField", + "documentation":"

    The name of the field.

    " }, - "Lt":{ - "shape":"Double", - "documentation":"

    The less-than condition to be applied to a single field when querying for findings.

    " - } + "Filter":{"shape":"NumberFilter"} }, - "documentation":"

    A number filter for querying findings.

    " + "documentation":"

    Enables filtering of security findings based on numerical field values in OCSF.

    " }, - "NumberFilterList":{ + "OcsfNumberFilterList":{ "type":"list", - "member":{"shape":"NumberFilter"} + "member":{"shape":"OcsfNumberFilter"} }, - "Occurrences":{ + "OcsfStringField":{ + "type":"string", + "enum":[ + "metadata.uid", + "activity_name", + "cloud.account.uid", + "cloud.provider", + "cloud.region", + "compliance.assessments.category", + "compliance.assessments.name", + "compliance.control", + "compliance.status", + "compliance.standards", + "finding_info.desc", + "finding_info.src_url", + "finding_info.title", + "finding_info.types", + "finding_info.uid", + "finding_info.related_events.uid", + "finding_info.related_events.product.uid", + "finding_info.related_events.title", + "metadata.product.name", + "metadata.product.uid", + "metadata.product.vendor_name", + "remediation.desc", + "remediation.references", + "resources.cloud_partition", + "resources.region", + "resources.type", + "resources.uid", + "severity", + "status", + "comment", + "vulnerabilities.fix_coverage", + "class_name" + ] + }, + "OcsfStringFilter":{ "type":"structure", "members":{ - "LineRanges":{ - "shape":"Ranges", - "documentation":"

    Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.

    " - }, - "OffsetRanges":{ - "shape":"Ranges", - "documentation":"

    Occurrences of sensitive data detected in a binary text file.

    " - }, - "Pages":{ - "shape":"Pages", - "documentation":"

    Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file.

    " - }, - "Records":{ - "shape":"Records", - "documentation":"

    Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file.

    " + "FieldName":{ + "shape":"OcsfStringField", + "documentation":"

    The name of the field.

    " }, - "Cells":{ - "shape":"Cells", - "documentation":"

    Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files.

    " - } + "Filter":{"shape":"StringFilter"} }, - "documentation":"

    The detected occurrences of sensitive data.

    " + "documentation":"

    Enables filtering of security findings based on string field values in OCSF.

    " + }, + "OcsfStringFilterList":{ + "type":"list", + "member":{"shape":"OcsfStringFilter"} }, "OrganizationConfiguration":{ "type":"structure", @@ -19250,10 +21170,48 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "ProductV2":{ + "type":"structure", + "members":{ + "ProductV2Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the productV2.

    " + }, + "CompanyName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the organization or vendor that provides the productV2.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    Detailed information about the productV2.

    " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

    The domains or functional areas the productV2 addresses.

    " + }, + "IntegrationV2Types":{ + "shape":"IntegrationV2TypeList", + "documentation":"

    The type of integration.

    " + }, + "MarketplaceUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The console URL where you can purchase or subscribe to products.

    " + }, + "ActivationUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The URL to the serviceV@ or productV2 documentation about the integration, which includes how to activate the integration.

    " + } + }, + "documentation":"

    Defines the structure for the productV2.

    " + }, "ProductsList":{ "type":"list", "member":{"shape":"Product"} }, + "ProductsV2List":{ + "type":"list", + "member":{"shape":"ProductV2"} + }, "PropagatingVgwSetDetails":{ "type":"structure", "members":{ @@ -19268,6 +21226,61 @@ "type":"list", "member":{"shape":"PropagatingVgwSetDetails"} }, + "ProviderConfiguration":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudProviderConfiguration", + "documentation":"

    The configuration settings required to establish an integration with Jira Cloud.

    " + }, + "ServiceNow":{ + "shape":"ServiceNowProviderConfiguration", + "documentation":"

    The configuration settings required to establish an integration with ServiceNow ITSM.

    " + } + }, + "documentation":"

    The initial configuration settings required to establish an integration between Security Hub and third-party provider.

    ", + "union":true + }, + "ProviderDetail":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudDetail", + "documentation":"

    Details about a Jira Cloud integration.

    " + }, + "ServiceNow":{ + "shape":"ServiceNowDetail", + "documentation":"

    Details about a ServiceNow ITSM integration.

    " + } + }, + "documentation":"

    The third-party provider detail for a service configuration.

    ", + "union":true + }, + "ProviderSummary":{ + "type":"structure", + "members":{ + "ProviderName":{ + "shape":"ConnectorProviderName", + "documentation":"

    The name of the provider.

    " + }, + "ConnectorStatus":{ + "shape":"ConnectorStatus", + "documentation":"

    The status for the connectorV2.

    " + } + }, + "documentation":"

    The connectorV2 third-party provider configuration summary.

    " + }, + "ProviderUpdateConfiguration":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudUpdateConfiguration", + "documentation":"

    The parameters required to update the configuration for a Jira Cloud integration.

    " + } + }, + "documentation":"

    The parameters required to update the configuration of an integration provider.

    ", + "union":true + }, "Range":{ "type":"structure", "members":{ @@ -19431,6 +21444,24 @@ "type":"string", "pattern":"^arn:aws:securityhub:.*" }, + "ResourceCategory":{ + "type":"string", + "enum":[ + "Compute", + "Database", + "Storage", + "Code", + "AI/ML", + "Identity", + "Network", + "Other" + ] + }, + "ResourceConfig":{ + "type":"structure", + "members":{}, + "document":true + }, "ResourceConflictException":{ "type":"structure", "members":{ @@ -19776,84 +21807,413 @@ "shape":"AwsAppSyncGraphQlApiDetails", "documentation":"

    Provides details about an AppSync Graph QL API, which lets you query multiple databases, microservices, and APIs from a single GraphQL endpoint.

    " }, - "AwsEventSchemasRegistry":{ - "shape":"AwsEventSchemasRegistryDetails", - "documentation":"

    A schema defines the structure of events that are sent to Amazon EventBridge. Schema registries are containers for schemas. They collect and organize schemas so that your schemas are in logical groups.

    " + "AwsEventSchemasRegistry":{ + "shape":"AwsEventSchemasRegistryDetails", + "documentation":"

    A schema defines the structure of events that are sent to Amazon EventBridge. Schema registries are containers for schemas. They collect and organize schemas so that your schemas are in logical groups.

    " + }, + "AwsGuardDutyDetector":{ + "shape":"AwsGuardDutyDetectorDetails", + "documentation":"

    Provides details about an Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector is required for GuardDuty to become operational.

    " + }, + "AwsStepFunctionStateMachine":{ + "shape":"AwsStepFunctionStateMachineDetails", + "documentation":"

    Provides details about an Step Functions state machine, which is a workflow consisting of a series of event-driven steps.

    " + }, + "AwsAthenaWorkGroup":{ + "shape":"AwsAthenaWorkGroupDetails", + "documentation":"

    Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, applications, or workloads. It also helps you set limits on data processing and track costs.

    " + }, + "AwsEventsEventbus":{ + "shape":"AwsEventsEventbusDetails", + "documentation":"

    Provides details about Amazon EventBridge event bus for an endpoint. An event bus is a router that receives events and delivers them to zero or more destinations, or targets.

    " + }, + "AwsDmsEndpoint":{ + "shape":"AwsDmsEndpointDetails", + "documentation":"

    Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

    " + }, + "AwsEventsEndpoint":{ + "shape":"AwsEventsEndpointDetails", + "documentation":"

    Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

    " + }, + "AwsDmsReplicationTask":{ + "shape":"AwsDmsReplicationTaskDetails", + "documentation":"

    Provides details about an DMS replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

    " + }, + "AwsDmsReplicationInstance":{ + "shape":"AwsDmsReplicationInstanceDetails", + "documentation":"

    Provides details about an DMS replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

    " + }, + "AwsRoute53HostedZone":{ + "shape":"AwsRoute53HostedZoneDetails", + "documentation":"

    Provides details about an Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

    " + }, + "AwsMskCluster":{ + "shape":"AwsMskClusterDetails", + "documentation":"

    Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

    " + }, + "AwsS3AccessPoint":{ + "shape":"AwsS3AccessPointDetails", + "documentation":"

    Provides details about an Amazon Simple Storage Service (Amazon S3) access point. S3 access points are named network endpoints that are attached to S3 buckets that you can use to perform S3 object operations.

    " + }, + "AwsEc2ClientVpnEndpoint":{ + "shape":"AwsEc2ClientVpnEndpointDetails", + "documentation":"

    Provides details about an Client VPN endpoint. A Client VPN endpoint is the resource that you create and configure to enable and manage client VPN sessions. It's the termination point for all client VPN sessions.

    " + } + }, + "documentation":"

    Additional details about a resource related to a finding.

    To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

    If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

    You also use the Other object to populate the details when the selected type does not have a corresponding object.

    " + }, + "ResourceFindingsSummary":{ + "type":"structure", + "required":[ + "FindingType", + "ProductName", + "TotalFindings" + ], + "members":{ + "FindingType":{ + "shape":"NonEmptyString", + "documentation":"

    The category or classification of the security finding.

    " + }, + "ProductName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the product associated with the security finding.

    " + }, + "TotalFindings":{ + "shape":"Integer", + "documentation":"

    The total count of security findings.

    " + }, + "Severities":{ + "shape":"ResourceSeverityBreakdown", + "documentation":"

    A breakdown of security findings by their severity levels.

    " + } + }, + "documentation":"

    A list of summaries for all finding types on a resource.

    " + }, + "ResourceFindingsSummaryList":{ + "type":"list", + "member":{"shape":"ResourceFindingsSummary"} + }, + "ResourceGroupByField":{ + "type":"string", + "enum":[ + "account_id", + "region", + "resource_category", + "resource_type", + "resource_name", + "findings_summary.finding_type" + ] + }, + "ResourceGroupByRule":{ + "type":"structure", + "required":["GroupByField"], + "members":{ + "GroupByField":{ + "shape":"ResourceGroupByField", + "documentation":"

    Specifies the attribute that resources should be grouped by.

    " + }, + "Filters":{ + "shape":"ResourcesFilters", + "documentation":"

    The criteria used to select resources and associated security findings.

    " + } + }, + "documentation":"

    Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.

    " + }, + "ResourceGroupByRules":{ + "type":"list", + "member":{"shape":"ResourceGroupByRule"} + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request was rejected because it conflicts with the resource's availability. For example, you tried to update a security control that's currently in the UPDATING state.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request was rejected because we can't find the specified resource.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceResult":{ + "type":"structure", + "required":[ + "ResourceId", + "AccountId", + "Region", + "ResourceDetailCaptureTimeDt", + "ResourceConfig" + ], + "members":{ + "ResourceArn":{ + "shape":"NonEmptyString", + "documentation":"

    Specifies the ARN that uniquely identifies a resource.

    " + }, + "ResourceId":{ + "shape":"NonEmptyString", + "documentation":"

    The unique identifier for a resource.

    " + }, + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services account that owns the resource.

    " + }, + "Region":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services Region where the resource is located.

    " + }, + "ResourceCategory":{ + "shape":"ResourceCategory", + "documentation":"

    The grouping where the resource belongs.

    " + }, + "ResourceType":{ + "shape":"NonEmptyString", + "documentation":"

    The type of resource.

    " + }, + "ResourceName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the resource.

    " + }, + "ResourceCreationTimeDt":{ + "shape":"NonEmptyString", + "documentation":"

    The time when the resource was created.

    " + }, + "ResourceDetailCaptureTimeDt":{ + "shape":"NonEmptyString", + "documentation":"

    The timestamp when information about the resource was captured.

    " + }, + "FindingsSummary":{ + "shape":"ResourceFindingsSummaryList", + "documentation":"

    An aggregated view of security findings associated with a resource.

    " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

    The key-value pairs associated with a resource.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    The configuration details of a resource.

    " + } + }, + "documentation":"

    Provides comprehensive details about an Amazon Web Services resource and its associated security findings.

    " + }, + "ResourceSeverityBreakdown":{ + "type":"structure", + "members":{ + "Other":{ + "shape":"Integer", + "documentation":"

    The number of findings not in any of the severity categories.

    " + }, + "Fatal":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level of fatal.

    " }, - "AwsGuardDutyDetector":{ - "shape":"AwsGuardDutyDetectorDetails", - "documentation":"

    Provides details about an Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector is required for GuardDuty to become operational.

    " + "Critical":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level of critical.

    " }, - "AwsStepFunctionStateMachine":{ - "shape":"AwsStepFunctionStateMachineDetails", - "documentation":"

    Provides details about an Step Functions state machine, which is a workflow consisting of a series of event-driven steps.

    " + "High":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level of high.

    " }, - "AwsAthenaWorkGroup":{ - "shape":"AwsAthenaWorkGroupDetails", - "documentation":"

    Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, applications, or workloads. It also helps you set limits on data processing and track costs.

    " + "Medium":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level of medium.

    " }, - "AwsEventsEventbus":{ - "shape":"AwsEventsEventbusDetails", - "documentation":"

    Provides details about Amazon EventBridge event bus for an endpoint. An event bus is a router that receives events and delivers them to zero or more destinations, or targets.

    " + "Low":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level of low.

    " }, - "AwsDmsEndpoint":{ - "shape":"AwsDmsEndpointDetails", - "documentation":"

    Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

    " + "Informational":{ + "shape":"Integer", + "documentation":"

    The number of findings that provide security-related information.

    " }, - "AwsEventsEndpoint":{ - "shape":"AwsEventsEndpointDetails", - "documentation":"

    Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

    " + "Unknown":{ + "shape":"Integer", + "documentation":"

    The number of findings with a severity level cannot be determined.

    " + } + }, + "documentation":"

    A comprehensive distribution of security findings by severity level for Amazon Web Services resources.

    " + }, + "ResourceTag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier or name of the tag.

    " }, - "AwsDmsReplicationTask":{ - "shape":"AwsDmsReplicationTaskDetails", - "documentation":"

    Provides details about an DMS replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

    " + "Value":{ + "shape":"NonEmptyString", + "documentation":"

    The data associated with the tag key.

    " + } + }, + "documentation":"

    Represents tag information associated with Amazon Web Services resources.

    " + }, + "ResourceTagList":{ + "type":"list", + "member":{"shape":"ResourceTag"} + }, + "Resources":{ + "type":"list", + "member":{"shape":"ResourceResult"} + }, + "ResourcesCompositeFilter":{ + "type":"structure", + "members":{ + "StringFilters":{ + "shape":"ResourcesStringFilterList", + "documentation":"

    Enables filtering based on string field values.

    " }, - "AwsDmsReplicationInstance":{ - "shape":"AwsDmsReplicationInstanceDetails", - "documentation":"

    Provides details about an DMS replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

    " + "DateFilters":{ + "shape":"ResourcesDateFilterList", + "documentation":"

    Enables filtering based on date and timestamp field values.

    " }, - "AwsRoute53HostedZone":{ - "shape":"AwsRoute53HostedZoneDetails", - "documentation":"

    Provides details about an Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

    " + "NumberFilters":{ + "shape":"ResourcesNumberFilterList", + "documentation":"

    Enables filtering based on numerical field values.

    " }, - "AwsMskCluster":{ - "shape":"AwsMskClusterDetails", - "documentation":"

    Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

    " + "MapFilters":{ + "shape":"ResourcesMapFilterList", + "documentation":"

    Enables filtering based on map-based field values.

    " }, - "AwsS3AccessPoint":{ - "shape":"AwsS3AccessPointDetails", - "documentation":"

    Provides details about an Amazon Simple Storage Service (Amazon S3) access point. S3 access points are named network endpoints that are attached to S3 buckets that you can use to perform S3 object operations.

    " + "Operator":{ + "shape":"AllowedOperators", + "documentation":"

    The logical operator used to combine multiple filter conditions.

    " + } + }, + "documentation":"

    Enables the creation of criteria for Amazon Web Services resources in Security Hub.

    " + }, + "ResourcesCompositeFilterList":{ + "type":"list", + "member":{"shape":"ResourcesCompositeFilter"} + }, + "ResourcesDateField":{ + "type":"string", + "enum":[ + "resource_detail_capture_time_dt", + "resource_creation_time_dt" + ] + }, + "ResourcesDateFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"ResourcesDateField", + "documentation":"

    The name of the field.

    " }, - "AwsEc2ClientVpnEndpoint":{ - "shape":"AwsEc2ClientVpnEndpointDetails", - "documentation":"

    Provides details about an Client VPN endpoint. A Client VPN endpoint is the resource that you create and configure to enable and manage client VPN sessions. It's the termination point for all client VPN sessions.

    " + "Filter":{"shape":"DateFilter"} + }, + "documentation":"

    Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

    " + }, + "ResourcesDateFilterList":{ + "type":"list", + "member":{"shape":"ResourcesDateFilter"} + }, + "ResourcesFilters":{ + "type":"structure", + "members":{ + "CompositeFilters":{ + "shape":"ResourcesCompositeFilterList", + "documentation":"

    A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

    " + }, + "CompositeOperator":{ + "shape":"AllowedOperators", + "documentation":"

    The logical operator used to combine multiple filter conditions in the structure.

    " } }, - "documentation":"

    Additional details about a resource related to a finding.

    To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

    If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

    You also use the Other object to populate the details when the selected type does not have a corresponding object.

    " + "documentation":"

    Enables filtering of Amazon Web Services resources based on data.

    " }, - "ResourceInUseException":{ + "ResourcesMapField":{ + "type":"string", + "enum":["tags"] + }, + "ResourcesMapFilter":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"}, - "Code":{"shape":"NonEmptyString"} + "FieldName":{ + "shape":"ResourcesMapField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"MapFilter"} }, - "documentation":"

    The request was rejected because it conflicts with the resource's availability. For example, you tried to update a security control that's currently in the UPDATING state.

    ", - "error":{"httpStatusCode":400}, - "exception":true + "documentation":"

    Enables filtering of Amazon Web Services resources based on key-value map attributes.

    " }, - "ResourceList":{ + "ResourcesMapFilterList":{ "type":"list", - "member":{"shape":"Resource"} + "member":{"shape":"ResourcesMapFilter"} }, - "ResourceNotFoundException":{ + "ResourcesNumberField":{ + "type":"string", + "enum":[ + "findings_summary.total_findings", + "findings_summary.severities.other", + "findings_summary.severities.fatal", + "findings_summary.severities.critical", + "findings_summary.severities.high", + "findings_summary.severities.medium", + "findings_summary.severities.low", + "findings_summary.severities.informational", + "findings_summary.severities.unknown" + ] + }, + "ResourcesNumberFilter":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"}, - "Code":{"shape":"NonEmptyString"} + "FieldName":{ + "shape":"ResourcesNumberField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"NumberFilter"} }, - "documentation":"

    The request was rejected because we can't find the specified resource.

    ", - "error":{"httpStatusCode":404}, - "exception":true + "documentation":"

    Enables filtering of Amazon Web Services resources based on numerical values.

    " + }, + "ResourcesNumberFilterList":{ + "type":"list", + "member":{"shape":"ResourcesNumberFilter"} + }, + "ResourcesStringField":{ + "type":"string", + "enum":[ + "resource_arn", + "resource_id", + "account_id", + "region", + "resource_category", + "resource_type", + "resource_name", + "findings_summary.finding_type", + "findings_summary.product_name" + ] + }, + "ResourcesStringFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"ResourcesStringField", + "documentation":"

    The name of the field.

    " + }, + "Filter":{"shape":"StringFilter"} + }, + "documentation":"

    Enables filtering of Amazon Web Services resources based on string field values.

    " + }, + "ResourcesStringFilterList":{ + "type":"list", + "member":{"shape":"ResourcesStringFilter"} }, "Result":{ "type":"structure", @@ -20294,6 +22654,11 @@ "max":1000, "min":1 }, + "RuleOrderValueV2":{ + "type":"float", + "max":1000.0, + "min":1.0 + }, "RuleStatus":{ "type":"string", "enum":[ @@ -20301,6 +22666,13 @@ "DISABLED" ] }, + "RuleStatusV2":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "SecurityControl":{ "type":"structure", "required":[ @@ -20472,6 +22844,13 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "SecurityHubFeature":{ + "type":"string", + "enum":[ + "SecurityHub", + "SecurityHubV2" + ] + }, "SecurityHubPolicy":{ "type":"structure", "members":{ @@ -20534,6 +22913,11 @@ "type":"list", "member":{"shape":"SensitiveDataResult"} }, + "SensitiveNonEmptyString":{ + "type":"string", + "pattern":".*\\S.*", + "sensitive":true + }, "Sequence":{ "type":"structure", "members":{ @@ -20560,6 +22944,48 @@ }, "documentation":"

    Contains information about an Amazon GuardDuty Extended Threat Detection attack sequence finding. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

    " }, + "ServiceNowDetail":{ + "type":"structure", + "required":["AuthStatus"], + "members":{ + "InstanceName":{ + "shape":"NonEmptyString", + "documentation":"

    The instanceName of ServiceNow ITSM.

    " + }, + "ClientId":{ + "shape":"NonEmptyString", + "documentation":"

    The clientId of ServiceNow ITSM.

    " + }, + "AuthStatus":{ + "shape":"ConnectorAuthStatus", + "documentation":"

    The status of the authorization between Jira Cloud and the service.

    " + } + }, + "documentation":"

    Information about a ServiceNow ITSM integration.

    " + }, + "ServiceNowProviderConfiguration":{ + "type":"structure", + "required":[ + "InstanceName", + "ClientId", + "ClientSecret" + ], + "members":{ + "InstanceName":{ + "shape":"NonEmptyString", + "documentation":"

    The instance name of ServiceNow ITSM.

    " + }, + "ClientId":{ + "shape":"NonEmptyString", + "documentation":"

    The client ID of ServiceNow ITSM.

    " + }, + "ClientSecret":{ + "shape":"SensitiveNonEmptyString", + "documentation":"

    The client secret of ServiceNow ITSM.

    " + } + }, + "documentation":"

    The initial configuration settings required to establish an integration between Security Hub and ServiceNow ITSM.

    " + }, "Severity":{ "type":"structure", "members":{ @@ -21196,8 +23622,7 @@ }, "StartConfigurationPolicyDisassociationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "StatelessCustomActionDefinition":{ "type":"structure", @@ -21287,7 +23712,7 @@ }, "Comparison":{ "shape":"StringFilterComparison", - "documentation":"

    The condition to apply to a string value when filtering Security Hub findings.

    To search for values that have the filter value, use one of the following comparison operators:

    • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

    • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

    • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

    CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

    To search for values that don’t have the filter value, use one of the following comparison operators:

    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

    • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

    • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

    NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

    You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

    For example, for the following filters, Security Hub first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

    • ResourceType PREFIX AwsIam

    • ResourceType PREFIX AwsEc2

    • ResourceType NOT_EQUALS AwsIamPolicy

    • ResourceType NOT_EQUALS AwsEc2NetworkInterface

    CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub User Guide.

    " + "documentation":"

    The condition to apply to a string value when filtering Security Hub findings.

    To search for values that have the filter value, use one of the following comparison operators:

    • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

    • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

    • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

    CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

    To search for values that don’t have the filter value, use one of the following comparison operators:

    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

    • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

    • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

    NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

    You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

    For example, for the following filters, Security Hub first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

    • ResourceType PREFIX AwsIam

    • ResourceType PREFIX AwsEc2

    • ResourceType NOT_EQUALS AwsIamPolicy

    • ResourceType NOT_EQUALS AwsEc2NetworkInterface

    CONTAINS and NOT_CONTAINS operators can be used only with automation rules V1. CONTAINS_WORD operator is only supported in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourceStatisticsV2 APIs. For more information, see Automation rules in the Security Hub User Guide.

    " } }, "documentation":"

    A string filter for filtering Security Hub findings.

    " @@ -21300,7 +23725,8 @@ "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", - "NOT_CONTAINS" + "NOT_CONTAINS", + "CONTAINS_WORD" ] }, "StringFilterList":{ @@ -21373,8 +23799,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -21494,6 +23919,16 @@ "type":"list", "member":{"shape":"Threat"} }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The limit on the number of requests per second was exceeded.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, "Timestamp":{ "type":"timestamp", "timestampFormat":"iso8601" @@ -21656,8 +24091,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateActionTargetRequest":{ "type":"structure", @@ -21681,9 +24115,92 @@ }, "UpdateActionTargetResponse":{ "type":"structure", + "members":{} + }, + "UpdateAggregatorV2Request":{ + "type":"structure", + "required":[ + "AggregatorV2Arn", + "RegionLinkingMode" + ], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Aggregator V2.

    ", + "location":"uri", + "locationName":"AggregatorV2Arn" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

    " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

    A list of Amazon Web Services Regions linked to the aggegation Region.

    " + } + } + }, + "UpdateAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Aggregator V2.

    " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Web Services Region where data is aggregated.

    " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

    Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

    " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

    A list of Amazon Web Services Regions linked to the aggegation Region.

    " + } + } + }, + "UpdateAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the automation rule.

    ", + "location":"uri", + "locationName":"Identifier" + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

    The status of the automation rule.

    " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

    Represents a value for the rule priority.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the automation rule.

    " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the automation rule.

    " + }, + "Criteria":{ + "shape":"Criteria", + "documentation":"

    The filtering type and configuration of the automation rule.

    " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

    A list of actions to be performed when the rule criteria is met.

    " + } } }, + "UpdateAutomationRuleV2Response":{ + "type":"structure", + "members":{} + }, "UpdateAutomationRulesRequestItem":{ "type":"structure", "required":["RuleArn"], @@ -21790,6 +24307,34 @@ } } }, + "UpdateConnectorV2Request":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

    The UUID of the connectorV2 to identify connectorV2 resource.

    ", + "location":"uri", + "locationName":"ConnectorId" + }, + "ClientSecret":{ + "shape":"SensitiveNonEmptyString", + "documentation":"

    The clientSecret of ServiceNow.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description of the connectorV2.

    " + }, + "Provider":{ + "shape":"ProviderUpdateConfiguration", + "documentation":"

    The third-party provider’s service configuration.

    " + } + } + }, + "UpdateConnectorV2Response":{ + "type":"structure", + "members":{} + }, "UpdateFindingAggregatorRequest":{ "type":"structure", "required":[ @@ -21852,8 +24397,7 @@ }, "UpdateFindingsResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateInsightRequest":{ "type":"structure", @@ -21881,8 +24425,7 @@ }, "UpdateInsightResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateOrganizationConfigurationRequest":{ "type":"structure", @@ -21901,8 +24444,7 @@ }, "UpdateOrganizationConfigurationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateSecurityControlRequest":{ "type":"structure", @@ -21927,8 +24469,7 @@ }, "UpdateSecurityControlResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateSecurityHubConfigurationRequest":{ "type":"structure", @@ -21945,8 +24486,7 @@ }, "UpdateSecurityHubConfigurationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateStandardsControlRequest":{ "type":"structure", @@ -21970,8 +24510,7 @@ }, "UpdateStandardsControlResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateStatus":{ "type":"string", @@ -21994,6 +24533,16 @@ }, "documentation":"

    Provides Amazon Web Services account information of the user involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

    " }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request has failed validation because it's missing required fields or has invalid inputs.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, "VerificationState":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json b/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json index a3fabadccb8..a91e98c4af3 100644 --- a/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json +++ b/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json @@ -53,7 +53,9 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

    The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

    Permissions

    The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

    Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

    Tags

    (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    SAML Configuration

    Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

    For more information, see the following resources:

    " + "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

    The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

    Permissions

    The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

    Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

    Tags

    (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    SAML Configuration

    Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

    For more information, see the following resources:

    ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "AssumeRoleWithWebIdentity":{ "name":"AssumeRoleWithWebIdentity", @@ -75,7 +77,9 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include the OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible identity provider such as Google or Amazon Cognito federated identities.

    For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

    To learn more about Amazon Cognito, see Amazon Cognito identity pools in Amazon Cognito Developer Guide.

    Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

    The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see Update the maximum session duration for a role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Permissions

    The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Tags

    (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    Identities

    Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

    Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

    For more information about how to use OIDC federation and the AssumeRoleWithWebIdentity API, see the following resources:

    " + "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include the OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible identity provider such as Google or Amazon Cognito federated identities.

    For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

    To learn more about Amazon Cognito, see Amazon Cognito identity pools in Amazon Cognito Developer Guide.

    Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

    The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see Update the maximum session duration for a role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Permissions

    The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Tags

    (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    Identities

    Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

    Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

    For more information about how to use OIDC federation and the AssumeRoleWithWebIdentity API, see the following resources:

    ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "AssumeRoot":{ "name":"AssumeRoot", @@ -552,8 +556,7 @@ }, "GetCallerIdentityRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetCallerIdentityResponse":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json b/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json index d3ef609ea26..cfe9f24360a 100644 --- a/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json +++ b/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json @@ -1155,6 +1155,36 @@ }, "documentation":"

    A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

    " }, + "ApplicationAttribute":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

    Specifies the attribute name.

    " + }, + "Values":{ + "shape":"AttributeValues", + "documentation":"

    Specifies the attribute value.

    " + } + }, + "documentation":"

    Application details defined during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

    " + }, + "ApplicationAttributes":{ + "type":"list", + "member":{"shape":"ApplicationAttribute"}, + "max":10, + "min":1 + }, + "ApplicationConfig":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"ApplicationAttributes", + "documentation":"

    Contains the attribute name and a list of values for that attribute.

    " + } + }, + "documentation":"

    A list of ApplicationAttributes that contains information about the application.

    " + }, "AsnList":{ "type":"list", "member":{"shape":"ASN"}, @@ -1217,6 +1247,23 @@ }, "documentation":"

    Specifies custom configurations for the associations between the web ACL and protected resources.

    Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

    You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

    For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

    " }, + "AttributeName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w\\-]+$" + }, + "AttributeValue":{ + "type":"string", + "max":64, + "min":1 + }, + "AttributeValues":{ + "type":"list", + "member":{"shape":"AttributeValue"}, + "max":10, + "min":1 + }, "BlockAction":{ "type":"structure", "members":{ @@ -1987,6 +2034,10 @@ "OnSourceDDoSProtectionConfig":{ "shape":"OnSourceDDoSProtectionConfig", "documentation":"

    Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, ACTIVE_UNDER_DDOS. If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.

    " + }, + "ApplicationConfig":{ + "shape":"ApplicationConfig", + "documentation":"

    Configures the ability for the WAF console to store and retrieve application attributes during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

    " } } }, @@ -6757,6 +6808,10 @@ "OnSourceDDoSProtectionConfig":{ "shape":"OnSourceDDoSProtectionConfig", "documentation":"

    Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.

    " + }, + "ApplicationConfig":{ + "shape":"ApplicationConfig", + "documentation":"

    Returns a list of ApplicationAttributes.

    " } }, "documentation":"

    A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner service, Amplify application, and Amazon Web Services Verified Access instance.

    " diff --git a/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json new file mode 100644 index 00000000000..7af7d5fc8bd --- /dev/null +++ b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://mpa-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://mpa.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json new file mode 100644 index 00000000000..afb955e9722 --- /dev/null +++ b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index ebaaa749e1f..91c72ad3b7e 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "marketplace-entitlement-service.2017-01-11": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "taxsettings.2018-05-10": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "resource-groups.2017-11-27": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "migration-hub.2017-05-31": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "ram.2018-01-04": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "ivs.2020-07-14": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "mgn.2020-02-26": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "qapps.2023-11-27": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "apptest.2022-12-06": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "snowball.2016-06-30": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "gamelift.2015-10-01": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "detective.2018-10-26": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "workdocs.2016-05-01": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "neptune.2014-10-31": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "m2.2021-04-28": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "support-app.2021-08-20": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "rekognition.2016-06-27": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "mediastore-data.2017-09-01": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "schemas.2019-12-02": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "billingconductor.2021-07-30": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "resiliencehub.2020-04-30": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "qldb.2019-01-02": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "codecommit.2015-04-13": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "medialive.2017-10-14": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "pinpoint.2016-12-01": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "database-migration-service.2016-01-01": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "connect.2017-08-08": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "account.2021-02-01": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "neptunedata.2023-08-01": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "shield.2016-06-02": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "controltower.2018-05-10": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "greengrassv2.2020-11-30": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "wisdom.2020-10-19": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "cloudformation.2010-05-15": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "amplifybackend.2020-08-11": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "inspector.2016-02-16": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "sagemaker.2017-07-24": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "evidently.2021-02-01": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "kafka.2018-11-14": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "cloudtrail.2013-11-01": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "braket.2019-09-01": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "workspaces.2015-04-08": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "iot.2015-05-28": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "identitystore.2020-06-15": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "api-gateway.2015-07-09": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "invoicing.2024-12-01": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "datazone.2018-05-10": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "signer.2017-08-25": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "acm.2015-12-08": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "socialmessaging.2024-01-01": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "connectparticipant.2018-09-07": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "mq.2017-11-27": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "appconfig.2019-10-09": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "route53profiles.2018-05-10": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "outposts.2019-12-03": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "emr-containers.2020-10-01": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "efs.2015-02-01": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "healthlake.2017-07-01": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "lookoutvision.2020-11-20": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "codestar-connections.2019-12-01": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "internetmonitor.2021-06-03": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "xray.2016-04-12": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "mturk.2017-01-17": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "scheduler.2021-06-30": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "billing.2023-09-07": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "workmail.2017-10-01": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "elasticache.2015-02-02": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "appsync.2017-07-25": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "kinesis-video.2017-09-30": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "chime.2018-05-01": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "codedeploy.2014-10-06": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "proton.2020-07-20": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "apprunner.2020-05-15": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "location.2020-11-19": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "polly.2016-06-10": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "inspector2.2020-06-08": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "s3tables.2018-05-10": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "mediaconvert.2017-08-29": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "rds-data.2018-08-01": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "iotanalytics.2017-11-27": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "mediatailor.2018-04-23": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "iot-wireless.2020-11-22": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "opsworkscm.2016-11-01": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "freetier.2023-09-07": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "machine-learning.2014-12-12": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "customer-profiles.2020-08-15": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "iotfleethub.2020-11-03": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "pricing.2017-10-15": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "clouddirectory.2017-01-11": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "mwaa.2020-07-01": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1499,7 +1499,7 @@ }, "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "greengrass.2017-06-07": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "codepipeline.2015-07-09": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "datasync.2018-11-09": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "wellarchitected.2020-03-31": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "comprehend.2017-11-27": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "transcribe.2017-10-26": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,20 @@ } } }, - "support.2013-04-15": { + "dax.2017-04-19": { + "imports": [ + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1651,9 @@ } } }, - "networkmanager.2019-07-05": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1662,9 @@ } } }, - "grafana.2020-08-18": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1673,9 @@ } } }, - "cognito-identity.2014-06-30": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1684,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1695,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1706,9 @@ } } }, - "cleanrooms.2022-02-17": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1717,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1728,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1739,9 @@ } } }, - "health.2016-08-04": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1750,9 @@ } } }, - "organizations.2016-11-28": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1761,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1772,9 @@ } } }, - "directory-service.2015-04-16": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1783,9 @@ } } }, - "global-accelerator.2018-08-08": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1794,9 @@ } } }, - "forecast.2018-06-26": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1805,9 @@ } } }, - "ebs.2019-11-02": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1816,9 @@ } } }, - "tnb.2008-10-21": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1827,9 @@ } } }, - "sts.2011-06-15": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1838,9 @@ } } }, - "eventbridge.2015-10-07": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1849,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1860,9 @@ } } }, - "sqs.2012-11-05": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1871,9 @@ } } }, - "app-mesh.2019-01-25": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1882,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1893,9 @@ } } }, - "appintegrations.2020-07-29": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1904,9 @@ } } }, - "iot-events-data.2018-10-23": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1915,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1926,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1937,9 @@ } } }, - "translate.2017-07-01": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1948,9 @@ } } }, - "geo-places.2020-11-19": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1959,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1970,9 @@ } } }, - "keyspaces.2022-02-10": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1981,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1992,9 @@ } } }, - "storage-gateway.2013-06-30": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +2003,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2014,9 @@ } } }, - "dsql.2018-05-10": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2025,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2036,9 @@ } } }, - "wafv2.2019-07-29": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2047,9 @@ } } }, - "fms.2018-01-01": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2058,9 @@ } } }, - "service-quotas.2019-06-24": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2069,9 @@ } } }, - "glue.2017-03-31": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2080,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2091,9 @@ } } }, - "notifications.2018-05-10": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2102,9 @@ } } }, - "ecr.2015-09-21": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2113,9 @@ } } }, - "ses.2010-12-01": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2124,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2135,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2146,9 @@ } } }, - "application-insights.2018-11-25": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2157,9 @@ } } }, - "ssm.2014-11-06": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2168,9 @@ } } }, - "opsworks.2013-02-18": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2179,9 @@ } } }, - "route-53-domains.2014-05-15": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2190,9 @@ } } }, - "s3-control.2018-08-20": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2201,9 @@ } } }, - "timestream-write.2018-11-01": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2212,9 @@ } } }, - "voice-id.2021-09-27": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2223,9 @@ } } }, - "lakeformation.2017-03-31": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2234,9 @@ } } }, - "codecatalyst.2022-09-28": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2245,9 @@ } } }, - "kinesis.2013-12-02": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2256,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2267,9 @@ } } }, - "cloudsearch.2013-01-01": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2278,9 @@ } } }, - "medical-imaging.2023-07-19": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2289,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2300,9 @@ } } }, - "inspector-scan.2023-08-08": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2311,9 @@ } } }, - "rbin.2021-06-15": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2322,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2333,9 @@ } } }, - "sns.2010-03-31": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2344,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2355,9 @@ } } }, - "dataexchange.2017-07-25": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2366,9 @@ } } }, - "eks.2017-11-01": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2377,9 @@ } } }, - "cloudfront.2020-05-31": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2388,9 @@ } } }, - "networkmonitor.2023-08-01": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2399,9 @@ } } }, - "appconfigdata.2021-11-11": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2410,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2421,9 @@ } } }, - "entityresolution.2018-05-10": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2432,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2443,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2454,9 @@ } } }, - "sfn.2016-11-23": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2465,9 @@ } } }, - "iot-events.2018-07-27": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2476,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2487,9 @@ } } }, - "iotsitewise.2019-12-02": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2498,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2509,9 @@ } } }, - "service-catalog.2015-12-10": { + "acm-pca.": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2520,9 @@ } } }, - "kms.2014-11-01": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2531,9 @@ } } }, - "appfabric.2023-05-19": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2542,9 @@ } } }, - "waf.2015-08-24": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2553,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2564,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2575,9 @@ } } }, - "acm-pca.": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2586,9 @@ } } }, - "timestream-query.2018-11-01": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2597,9 @@ } } }, - "robomaker.2018-06-29": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2608,9 @@ } } }, - "auto-scaling.2011-01-01": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2619,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2630,9 @@ } } }, - "cognito-sync.2014-06-30": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2641,9 @@ } } }, - "budgets.2016-10-20": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2652,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2663,9 @@ } } }, - "lambda.2015-03-31": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2674,9 @@ } } }, - "sms.2016-10-24": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2685,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2696,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2707,9 @@ } } }, - "geo-maps.2020-11-19": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2718,9 @@ } } }, - "frauddetector.2019-11-15": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2729,9 @@ } } }, - "emr-serverless.2021-07-13": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2740,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2751,9 @@ } } }, - "iam.2010-05-08": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2762,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2773,9 @@ } } }, - "backup.2018-11-15": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2784,9 @@ } } }, - "codeconnections.2023-12-01": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2795,9 @@ } } }, - "lightsail.2016-11-28": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2806,9 @@ } } }, - "databrew.2017-07-25": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2817,9 @@ } } }, - "qldb-session.2019-07-11": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2828,9 @@ } } }, - "s3.2006-03-01": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2839,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2850,9 @@ } } }, - "auditmanager.2017-07-25": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2861,9 @@ } } }, - "artifact.2018-05-10": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2872,9 @@ } } }, - "workspaces-web.2020-07-08": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2883,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2894,9 @@ } } }, - "finspace.2021-03-12": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2905,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2916,9 @@ } } }, - "redshift.2012-12-01": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2927,9 @@ } } }, - "amplify.2017-07-25": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2938,9 @@ } } }, - "bedrock.2023-04-20": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2949,9 @@ } } }, - "rum.2018-05-10": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2960,9 @@ } } }, - "waf-regional.2016-11-28": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2971,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2982,9 @@ } } }, - "emr.2009-03-31": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2993,9 @@ } } }, - "sso.2019-06-10": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +3004,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3015,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3026,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3037,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3048,9 @@ } } }, - "directory-service-data.2023-05-31": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3059,9 @@ } } }, - "fis.2020-12-01": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3070,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3081,9 @@ } } }, - "codeartifact.2018-09-22": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3092,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3103,9 @@ } } }, - "guardduty.2017-11-28": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3114,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3125,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3136,9 @@ } } }, - "data-pipeline.2012-10-29": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3147,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3158,9 @@ } } }, - "drs.2020-02-26": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3169,9 @@ } } }, - "neptune-graph.2023-11-29": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3180,9 @@ } } }, - "redshift-data.2019-12-20": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3191,9 @@ } } }, - "cloudwatch.2010-08-01": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3202,9 @@ } } }, - "athena.2017-05-18": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3213,9 @@ } } }, - "glacier.2012-06-01": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3224,9 @@ } } }, - "dynamodb.2012-08-10": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3235,9 @@ } } }, - "ivschat.2020-07-14": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3246,9 @@ } } }, - "ecr-public.2020-10-30": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3257,9 @@ } } }, - "appflow.2020-08-23": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3268,9 @@ } } }, - "route-53.2013-04-01": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3279,9 @@ } } }, - "personalize.2018-05-22": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3290,9 @@ } } }, - "route53resolver.2018-04-01": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3301,9 @@ } } }, - "repostspace.2022-05-13": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3312,9 @@ } } }, - "cloudhsm.2014-05-30": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3323,9 @@ } } }, - "eks-auth.2023-11-26": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3334,9 @@ } } }, - "groundstation.2019-05-23": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3345,9 @@ } } }, - "sesv2.2019-09-27": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3356,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3367,9 @@ } } }, - "snow-device-management.2021-08-04": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3378,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3389,9 @@ } } }, - "firehose.2015-08-04": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3400,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3411,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3422,9 @@ } } }, - "opensearch.2021-01-01": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3433,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3444,9 @@ } } }, - "managedblockchain.2018-09-24": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3455,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3466,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3468,7 +3479,7 @@ }, "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3488,9 @@ } } }, - "quicksight.2018-04-01": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3499,9 @@ } } }, - "ecs.2014-11-13": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3510,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3521,9 @@ } } }, - "pipes.2015-10-07": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3532,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3543,9 @@ } } }, - "cloud9.2017-09-23": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3554,9 @@ } } }, - "evs.2023-07-27": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3565,9 @@ } } }, - "textract.2018-06-27": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3576,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3587,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3598,9 @@ } } }, - "geo-routes.2020-11-19": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3609,9 @@ } } }, - "launch-wizard.2018-05-10": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3620,9 @@ } } }, - "codebuild.2016-10-06": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3631,9 @@ } } }, - "finspace-data.2020-07-13": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3642,9 @@ } } }, - "macie2.2020-01-01": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3653,9 @@ } } }, - "pi.2018-02-27": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3664,9 @@ } } }, - "docdb.2014-10-31": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3675,9 @@ } } }, - "codeguru-security.2018-05-10": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3686,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3697,9 @@ } } }, - "license-manager.2018-08-01": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3708,9 @@ } } }, - "securityhub.2018-10-26": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3719,9 @@ } } }, - "synthetics.2017-10-11": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3730,9 @@ } } }, - "application-signals.2024-04-15": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3741,9 @@ } } }, - "qconnect.2020-10-19": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3752,9 @@ } } }, - "ssm-sap.2018-05-10": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3763,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3774,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3785,9 @@ } } }, - "forecastquery.2018-06-26": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3796,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3807,9 @@ } } }, - "mediastore.2017-09-01": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3818,9 @@ } } }, - "rds.2014-10-31": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3829,9 @@ } } }, - "devops-guru.2020-12-01": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3840,9 @@ } } }, - "servicediscovery.2017-03-14": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3851,9 @@ } } }, - "batch.2016-08-10": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3862,9 @@ } } }, - "panorama.2019-07-24": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3873,9 @@ } } }, - "s3outposts.2017-07-25": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3884,9 @@ } } }, - "device-farm.2015-06-23": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3895,9 @@ } } }, - "secrets-manager.2017-10-17": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3906,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3917,9 @@ } } }, - "fsx.2018-03-01": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3928,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3939,9 @@ } } }, - "config-service.2014-11-12": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3950,9 @@ } } }, - "cost-explorer.2017-10-25": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3961,9 @@ } } }, - "personalize-events.2018-03-22": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3972,9 @@ } } }, - "imagebuilder.2019-12-02": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3983,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3994,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +4005,9 @@ } } }, - "connectcases.2022-10-03": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4016,9 @@ } } }, - "mailmanager.2023-10-17": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4027,9 @@ } } }, - "supplychain.2024-01-01": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4038,9 @@ } } }, - "dax.2017-04-19": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4049,9 @@ } } }, - "qbusiness.2023-11-27": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4060,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4071,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4082,9 @@ } } }, - "security-ir.2018-05-10": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4093,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4104,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4115,9 @@ } } }, - "oam.2022-06-10": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4126,9 @@ } } }, - "controlcatalog.2018-05-10": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4137,9 @@ } } }, - "omics.2022-11-28": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4148,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4159,9 @@ } } }, - "mediaconnect.2018-11-14": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4170,9 @@ } } }, - "sso-oidc.2019-06-10": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4181,9 @@ } } }, - "memorydb.2021-01-01": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4192,9 @@ } } }, - "amp.2020-08-01": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4203,9 @@ } } }, - "appstream.2016-12-01": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4214,9 @@ } } }, - "dlm.2018-01-12": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4225,9 @@ } } }, - "deadline.2023-10-12": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4236,9 @@ } } }, - "osis.2022-01-01": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4247,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4258,9 @@ } } }, - "direct-connect.2012-10-25": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4269,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4280,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4291,9 @@ } } }, - "mediapackage.2017-10-12": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4302,9 @@ } } }, - "b2bi.2022-06-23": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4313,9 @@ } } }, - "network-firewall.2020-11-12": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4324,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4335,9 @@ } } }, - "pcs.2023-02-10": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4346,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4357,9 @@ } } }, - "kendra.2019-02-03": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4368,9 @@ } } }, - "savingsplans.2019-06-28": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4379,9 @@ } } }, - "sso-admin.2020-07-20": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4390,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4401,9 @@ } } }, - "backupsearch.2018-05-10": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4412,9 @@ } } }, - "swf.2012-01-25": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4423,9 @@ } } }, - "transfer.2018-11-05": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4434,9 @@ } } }, - "backup-gateway.2021-01-01": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4445,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4456,9 @@ } } }, - "securitylake.2018-05-10": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4467,9 @@ } } }, - "chatbot.2017-10-11": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src4010812716/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { From effe842a34a17c68b74dfe8fdf3eef91f3c53785 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Wed, 18 Jun 2025 18:49:13 +0000 Subject: [PATCH 18/26] Update API model --- .../smithy/api-descriptions/aiops.json | 2169 +++++++++++++++++ .../smithy/api-descriptions/auto-scaling.json | 11 +- .../api-descriptions/cloudwatch-logs.json | 84 +- .../smithy/api-descriptions/s3.json | 241 +- .../smithy/api-descriptions/sagemaker.json | 6 + 5 files changed, 2490 insertions(+), 21 deletions(-) create mode 100644 tools/code-generation/smithy/api-descriptions/aiops.json diff --git a/tools/code-generation/smithy/api-descriptions/aiops.json b/tools/code-generation/smithy/api-descriptions/aiops.json new file mode 100644 index 00000000000..db73aa9b60f --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/aiops.json @@ -0,0 +1,2169 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.aiops#AIOps": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.aiops#ListTagsForResource" + }, + { + "target": "com.amazonaws.aiops#TagResource" + }, + { + "target": "com.amazonaws.aiops#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.aiops#InvestigationGroup" + }, + { + "target": "com.amazonaws.aiops#InvestigationGroupPolicy" + } + ], + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#ForbiddenException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "AIOps", + "arnNamespace": "aiops", + "cloudTrailEventSource": "aiops.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "aiops" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "X-Amz-Requested-Operation" + ] + }, + "smithy.api#documentation": "

    The Amazon Q Developer operational investigations feature is a generative AI-powered assistant that can help you respond to incidents in your system. It uses generative AI to scan your system's telemetry and quickly surface suggestions that might be related to your issue. These suggestions include metrics, logs, deployment events, and root-cause hypotheses.

    You can use API actions to create, manage, and delete investigation groups and investigation group policies. To start and manage investigations, you must use the CloudWatch console.

    ", + "smithy.api#title": "AWS AI Ops", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-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://aiops-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://aiops.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": { + "url": "https://aiops.us-east-1.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://aiops-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://aiops-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://aiops.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://aiops.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://aiops-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://aiops-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://aiops.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://aiops.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://aiops-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://aiops.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://aiops-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://aiops.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" + } + }, + "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" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.aiops#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    You don't have sufficient permissions to perform this action.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.aiops#ChatConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#ChatConfigurationArns": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#ChatConfigurationArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.aiops#ChatbotNotificationChannel": { + "type": "map", + "key": { + "target": "com.amazonaws.aiops#SNSTopicArn" + }, + "value": { + "target": "com.amazonaws.aiops#ChatConfigurationArns" + } + }, + "com.amazonaws.aiops#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    This operation couldn't be completed because of a conflict in resource states.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.aiops#CreateInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#CreateInvestigationGroupInput" + }, + "output": { + "target": "com.amazonaws.aiops#CreateInvestigationGroupOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates an investigation group in your account. Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.

    Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:

    • Who can access the investigations

    • Whether investigation data is encrypted with a customer managed Key Management Service key.

    • How long investigations and their data are retained by default.

    Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region

    To create an investigation group and set up Amazon Q Developer operational investigations, you must be signed in to an IAM principal that has the either the AIOpsConsoleAdminPolicy or the AdministratorAccess IAM policy attached, or to an account that has similar permissions.

    You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with CreateInvestigationGroup and you want to enable alarms to do this, you must use PutInvestigationGroupPolicy to create a resource policy that grants this permission to CloudWatch alarms.

    For more information about configuring CloudWatch alarms to work with Amazon Q Developer operational investigations, see

    ", + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/investigationGroups" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateInvestigationGroupUnauthorized", + "params": { + "name": "test-smoke", + "roleArn": "arn:aws:iam::123456789012:role/assistant-role" + }, + "expect": { + "failure": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.aiops#CreateInvestigationGroupInput": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

    A name for the investigation group.

    ", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

    Specify the ARN of the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

    For more information, see How to control what data Amazon Q has access to during investigations.

    ", + "smithy.api#required": {} + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

    " + } + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention", + "traits": { + "smithy.api#documentation": "

    Specify how long that investigation data is kept. For more information, see Operational investigation data retention.

    If you omit this parameter, the default of 90 days is used.

    " + } + }, + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

    A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the cloudwatch:TagResource permission.

    Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

    " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

    Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

    You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

    " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

    Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

    " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

    Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.aiops#CreateInvestigationGroupOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the investigation group that you just created.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes the specified investigation group from your account. You can currently have one investigation group per Region in your account. After you delete an investigation group, you can later create a new investigation group in the same Region.

    ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes the IAM resource policy from being associated with the investigation group that you specify.

    ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicyOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to remove the policy from.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to delete.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#EncryptionConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.aiops#EncryptionConfigurationType", + "traits": { + "smithy.api#documentation": "

    Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned kay.

    " + } + }, + "kmsKeyId": { + "target": "com.amazonaws.aiops#KmsKeyId", + "traits": { + "smithy.api#documentation": "

    If the investigation group uses a customer managed key for encryption, this field displays the ID of that key.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Use this structure to specify a customer managed KMS key to use to encrypt investigation data.

    " + } + }, + "com.amazonaws.aiops#EncryptionConfigurationType": { + "type": "enum", + "members": { + "AWS_OWNED_KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_OWNED_KEY" + } + }, + "CUSTOMER_MANAGED_KMS_KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOMER_MANAGED_KMS_KEY" + } + } + } + }, + "com.amazonaws.aiops#ForbiddenException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    Access id denied for this operation, or this operation is not valid for the specified resource.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.aiops#GetInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#GetInvestigationGroupRequest" + }, + "output": { + "target": "com.amazonaws.aiops#GetInvestigationGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns the configuration information for the specified investigation group.

    ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns the IAM resource policy that is associated with the specified investigation group.

    ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to view the policy of.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicyResponse": { + "type": "structure", + "members": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.

    " + } + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument", + "traits": { + "smithy.api#documentation": "

    The policy, in JSON format.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to view.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#GetInvestigationGroupResponse": { + "type": "structure", + "members": { + "createdBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

    The name of the user who created the investigation group.

    " + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date and time that the investigation group was created.

    " + } + }, + "lastModifiedBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

    The name of the user who created the investigation group.

    " + } + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The date and time that the investigation group was most recently modified.

    " + } + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

    The name of the investigation group.

    " + } + }, + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the investigation group.

    " + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the IAM role that the investigation group uses for permissions to gather data.

    " + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.

    " + } + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention", + "traits": { + "smithy.api#documentation": "

    Specifies how long that investigation data is kept.

    " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

    This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of Amazon Q in chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

    " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

    Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources.

    " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

    Specifies whether Amazon Q Developer operational investigationshas access to change events that are recorded by CloudTrail.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\-_\\/A-Za-z0-9:\\.]+$" + } + }, + "com.amazonaws.aiops#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    An internal server error occurred. You can try again later.

    ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.aiops#InvestigationGroup": { + "type": "resource", + "identifiers": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier" + } + }, + "properties": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn" + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits" + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn" + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration" + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention" + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp" + }, + "lastModifiedBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits" + }, + "createdBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits" + }, + "createdAt": { + "target": "smithy.api#Timestamp" + }, + "tags": { + "target": "com.amazonaws.aiops#Tags" + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries" + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel" + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean" + } + }, + "create": { + "target": "com.amazonaws.aiops#CreateInvestigationGroup" + }, + "read": { + "target": "com.amazonaws.aiops#GetInvestigationGroup" + }, + "update": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroup" + }, + "delete": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroup" + }, + "list": { + "target": "com.amazonaws.aiops#ListInvestigationGroups" + } + }, + "com.amazonaws.aiops#InvestigationGroupArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16}$" + } + }, + "com.amazonaws.aiops#InvestigationGroupIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?:[\\-_A-Za-z0-9]{1,512}|arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16})$" + } + }, + "com.amazonaws.aiops#InvestigationGroupPolicy": { + "type": "resource", + "identifiers": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier" + } + }, + "properties": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn" + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument" + } + }, + "put": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicy" + }, + "read": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicy" + }, + "delete": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicy" + } + }, + "com.amazonaws.aiops#InvestigationGroupPolicyDocument": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32768 + }, + "smithy.api#pattern": "^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$" + } + }, + "com.amazonaws.aiops#InvestigationGroups": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsModel" + } + }, + "com.amazonaws.aiops#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#ListInvestigationGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsInput" + }, + "output": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Returns the ARN and name of each investigation group in the account.

    ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "pageSize": "maxResults", + "outputToken": "nextToken", + "items": "investigationGroups" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.aiops#SensitiveStringWithLengthLimits", + "traits": { + "smithy.api#documentation": "

    Include this value, if it was returned by the previous operation, to get the next set of service operations.

    ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

    ", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsModel": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the investigation group.

    " + } + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

    The name of the investigation group.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    This structure contains information about one investigation group in the account.

    " + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.aiops#SensitiveStringWithLengthLimits", + "traits": { + "smithy.api#documentation": "

    Include this value in your next use of this operation to get the next set of service operations.

    " + } + }, + "investigationGroups": { + "target": "com.amazonaws.aiops#InvestigationGroups", + "traits": { + "smithy.api#documentation": "

    An array of structures, where each structure contains the information about one investigation group in the account.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Displays the tags associated with a Amazon Q Developer operational investigations resource. Currently, investigation groups support tagging.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#ListTagsForResourceOutput": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

    The list of tag keys and values associated with the resource you specified.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The ARN of the Amazon Q Developer operational investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

    The ARN format for an investigation group is arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id .

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates an IAM resource policy and assigns it to the specified investigation group.

    If you create your investigation group with CreateInvestigationGroup and you want to enable CloudWatch alarms to create investigations and add events to investigations, you must use this operation to create a policy similar to this example.

    { \"Version\": \"2008-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"aiops.alarms.cloudwatch.amazonaws.com\" }, \"Action\": [\"aiops:CreateInvestigation\", \"aiops:CreateInvestigationEvent\"], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"account-id\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:cloudwatch:region:account-id:alarm:*\" } } }] }

    ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to assign the policy to.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument", + "traits": { + "smithy.api#documentation": "

    The policy, in JSON format.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicyResponse": { + "type": "structure", + "members": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

    The ARN of the investigation group that will use this policy.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The specified resource doesn't exist.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.aiops#Retention": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 7, + "max": 90 + } + } + }, + "com.amazonaws.aiops#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#SNSTopicArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#SensitiveStringWithLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.aiops#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The resource that caused the quota exception.

    " + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The type of resource that caused the quota exception.

    " + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    This name of the service associated with the error.

    " + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    This quota that was exceeded.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    This request exceeds a service quota.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.aiops#StringWithPatternAndLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\-_A-Za-z0-9\\[\\]\\(\\)\\{\\}\\.: ]+$" + } + }, + "com.amazonaws.aiops#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" + } + }, + "com.amazonaws.aiops#TagKeyBoundaries": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#TagKey" + } + }, + "com.amazonaws.aiops#TagKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#TagKey" + }, + "traits": { + "smithy.api#length": { + "max": 50 + } + } + }, + "com.amazonaws.aiops#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Assigns one or more tags (key-value pairs) to the specified resource.

    Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

    Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

    You can associate as many as 50 tags with a resource.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

    The list of key-value pairs to associate with the resource.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.aiops#Tags": { + "type": "map", + "key": { + "target": "com.amazonaws.aiops#TagKey" + }, + "value": { + "target": "com.amazonaws.aiops#TagValue" + } + }, + "com.amazonaws.aiops#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The request was throttled because of quota limits. You can try again later.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.aiops#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes one or more tags from the specified resource.

    ", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.aiops#TagKeys", + "traits": { + "smithy.api#documentation": "

    The list of tag keys to remove from the resource.

    ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroupRequest" + }, + "output": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroupOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates the configuration of the specified investigation group.

    ", + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroupOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

    Specify either the name or the ARN of the investigation group that you want to modify.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

    Specify this field if you want to change the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.

    The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

    For more information, see EHow to control what data Amazon Q has access to during investigations.

    " + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

    " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

    Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

    You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

    " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

    Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

    " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

    Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

    " + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    This operation or its parameters aren't formatted correctly.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} \ No newline at end of file diff --git a/tools/code-generation/smithy/api-descriptions/auto-scaling.json b/tools/code-generation/smithy/api-descriptions/auto-scaling.json index 52375ee2e4b..7f184728002 100644 --- a/tools/code-generation/smithy/api-descriptions/auto-scaling.json +++ b/tools/code-generation/smithy/api-descriptions/auto-scaling.json @@ -976,6 +976,12 @@ "smithy.api#documentation": "

    The names of the Auto Scaling groups. By default, you can only specify up to 50 names. You can\n optionally increase this limit using the MaxRecords property.

    \n

    If you omit this property, all Auto Scaling groups are described.

    " } }, + "IncludeInstances": { + "target": "com.amazonaws.autoscaling#IncludeInstances", + "traits": { + "smithy.api#documentation": "

    \n Specifies whether to include information about Amazon EC2 instances in the response. When set to true (default), the response includes instance details.\n

    " + } + }, "NextToken": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { @@ -1355,7 +1361,7 @@ "name": "autoscaling" }, "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Amazon EC2 Auto Scaling\n

    Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

    \n

    For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

    ", + "smithy.api#documentation": "Amazon EC2 Auto Scaling\n

    The DescribeAutoScalingGroups API operation might be throttled when retrieving details for an Auto Scaling group that contains many instances. By default, this operation returns details for all instances in the group. \n To help prevent throttling, you can set the IncludeInstances parameter to false to exclude instance details from the response.

    \n

    Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

    \n

    For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

    ", "smithy.api#title": "Auto Scaling", "smithy.api#xmlNamespace": { "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" @@ -6470,6 +6476,9 @@ "com.amazonaws.autoscaling#IncludeDeletedGroups": { "type": "boolean" }, + "com.amazonaws.autoscaling#IncludeInstances": { + "type": "boolean" + }, "com.amazonaws.autoscaling#Instance": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json b/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json index 783f7afd5c5..64732430d60 100644 --- a/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json +++ b/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json @@ -4178,6 +4178,41 @@ "smithy.api#default": 0 } }, + "com.amazonaws.cloudwatchlogs#EventSource": { + "type": "enum", + "members": { + "CLOUD_TRAIL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CloudTrail" + } + }, + "ROUTE53_RESOLVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Route53Resolver" + } + }, + "VPC_FLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPCFlow" + } + }, + "EKS_AUDIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKSAudit" + } + }, + "AWSWAF": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWSWAF" + } + } + } + }, "com.amazonaws.cloudwatchlogs#EventsLimit": { "type": "integer", "traits": { @@ -8642,6 +8677,17 @@ } } }, + "com.amazonaws.cloudwatchlogs#OCSFVersion": { + "type": "enum", + "members": { + "V1_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "V1.1" + } + } + } + }, "com.amazonaws.cloudwatchlogs#OpenSearchApplication": { "type": "structure", "members": { @@ -9241,6 +9287,34 @@ "smithy.api#documentation": "

    Use this processor to parse Route 53 vended logs, extract fields, and and convert them into a JSON format. This processor always\n processes the entire log event message.\n For more information about this processor including examples, see \n parseRoute53.

    \n \n

    If you use this processor, it must be the first processor in your transformer.

    \n
    " } }, + "com.amazonaws.cloudwatchlogs#ParseToOCSF": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.cloudwatchlogs#Source", + "traits": { + "smithy.api#documentation": "

    The path to the field in the log event that you want to parse. If you omit this value, the whole log message is parsed.

    " + } + }, + "eventSource": { + "target": "com.amazonaws.cloudwatchlogs#EventSource", + "traits": { + "smithy.api#documentation": "

    Specify the service or process that produces the log events that will be converted with this processor.

    ", + "smithy.api#required": {} + } + }, + "ocsfVersion": { + "target": "com.amazonaws.cloudwatchlogs#OCSFVersion", + "traits": { + "smithy.api#documentation": "

    Specify which version of the OCSF schema to use for the transformed log events.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    This processor converts logs into Open Cybersecurity Schema Framework (OCSF) events.

    \n

    For more information about this processor including examples, see \n parseToOSCF in the CloudWatch Logs User Guide.

    " + } + }, "com.amazonaws.cloudwatchlogs#ParseVPC": { "type": "structure", "members": { @@ -9502,6 +9576,12 @@ "smithy.api#documentation": "

    Use this parameter to include the \n parseRoute53 processor in your transformer.

    \n

    If you use this processor, it must be the first processor in your transformer.

    " } }, + "parseToOCSF": { + "target": "com.amazonaws.cloudwatchlogs#ParseToOCSF", + "traits": { + "smithy.api#documentation": "

    Use this processor to convert logs into Open Cybersecurity Schema Framework (OCSF) format

    " + } + }, "parsePostgres": { "target": "com.amazonaws.cloudwatchlogs#ParsePostgres", "traits": { @@ -9925,7 +10005,7 @@ "logType": { "target": "com.amazonaws.cloudwatchlogs#LogType", "traits": { - "smithy.api#documentation": "

    Defines the type of log that the source is sending.

    \n
      \n
    • \n

      For Amazon Bedrock, the valid value is \n APPLICATION_LOGS.

      \n
    • \n
    • \n

      For CloudFront, the valid value is \n ACCESS_LOGS.

      \n
    • \n
    • \n

      For Amazon CodeWhisperer, the valid value is \n EVENT_LOGS.

      \n
    • \n
    • \n

      For Elemental MediaPackage, the valid values are \n EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

      \n
    • \n
    • \n

      For Elemental MediaTailor, the valid values are \n AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

      \n
    • \n
    • \n

      For IAM Identity Center, the valid value is \n ERROR_LOGS.

      \n
    • \n
    • \n

      For Amazon Q, the valid value is \n EVENT_LOGS.

      \n
    • \n
    • \n

      For Amazon SES mail manager, the valid value is \n APPLICATION_LOG.

      \n
    • \n
    • \n

      For Amazon WorkMail, the valid values are \n ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, \n and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

      \n
    • \n
    ", + "smithy.api#documentation": "

    Defines the type of log that the source is sending.

    \n
      \n
    • \n

      For Amazon Bedrock, the valid value is \n APPLICATION_LOGS.

      \n
    • \n
    • \n

      For CloudFront, the valid value is \n ACCESS_LOGS.

      \n
    • \n
    • \n

      For Amazon CodeWhisperer, the valid value is \n EVENT_LOGS.

      \n
    • \n
    • \n

      For Elemental MediaPackage, the valid values are \n EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

      \n
    • \n
    • \n

      For Elemental MediaTailor, the valid values are \n AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

      \n
    • \n
    • \n

      For Entity Resolution, the valid value is \n WORKFLOW_LOGS.

      \n
    • \n
    • \n

      For IAM Identity Center, the valid value is \n ERROR_LOGS.

      \n
    • \n
    • \n

      For Amazon Q, the valid value is \n EVENT_LOGS.

      \n
    • \n
    • \n

      For Amazon SES mail manager, the valid values are \n APPLICATION_LOG and TRAFFIC_POLICY_DEBUG_LOGS.

      \n
    • \n
    • \n

      For Amazon WorkMail, the valid values are \n ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, \n and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

      \n
    • \n
    ", "smithy.api#required": {} } }, @@ -10246,7 +10326,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Uploads a batch of log events to the specified log stream.

    \n \n

    The sequence token is now ignored in PutLogEvents\n actions. PutLogEvents\n actions are always accepted and never return InvalidSequenceTokenException or\n DataAlreadyAcceptedException even if the sequence token is not valid. You can use\n parallel PutLogEvents actions on the same log stream.

    \n
    \n

    The batch of events must satisfy the following constraints:

    \n
      \n
    • \n

      The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

      \n
    • \n
    • \n

      None of the log events in the batch can be more than 2 hours in the future.

      \n
    • \n
    • \n

      None of the log events in the batch can be more than 14 days in the past. Also,\n none of the log events can be from earlier than the retention period of the log\n group.

      \n
    • \n
    • \n

      The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time that the event occurred, expressed as the number of milliseconds\n after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell\n and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format:\n yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

      \n
    • \n
    • \n

      A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

      \n
    • \n
    • \n

      Each log event can be no larger than 1 MB.

      \n
    • \n
    • \n

      The maximum number of log events in a batch is 10,000.

      \n
    • \n
    • \n \n

      The quota of five requests per second per log stream\n has been removed. Instead, PutLogEvents actions are throttled based on a \n per-second per-account quota. You can request an increase to the per-second throttling\n quota by using the Service Quotas service.

      \n
      \n
    • \n
    \n

    If a call to PutLogEvents returns \"UnrecognizedClientException\" the most\n likely cause is a non-valid Amazon Web Services access key ID or secret key.

    " + "smithy.api#documentation": "

    Uploads a batch of log events to the specified log stream.

    \n \n

    The sequence token is now ignored in PutLogEvents\n actions. PutLogEvents\n actions are always accepted and never return InvalidSequenceTokenException or\n DataAlreadyAcceptedException even if the sequence token is not valid. You can use\n parallel PutLogEvents actions on the same log stream.

    \n
    \n

    The batch of events must satisfy the following constraints:

    \n
      \n
    • \n

      The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

      \n
    • \n
    • \n

      Events more than 2 hours in the future are rejected while processing remaining valid events.

      \n
    • \n
    • \n

      Events older than 14 days or preceding the log group's retention period are rejected while processing remaining valid events.

      \n
    • \n
    • \n

      The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time that the event occurred, expressed as the number of milliseconds\n after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell\n and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format:\n yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

      \n
    • \n
    • \n

      A batch of log events in a single request must be in a chronological order. Otherwise, the operation fails.

      \n
    • \n
    • \n

      Each log event can be no larger than 1 MB.

      \n
    • \n
    • \n

      The maximum number of log events in a batch is 10,000.

      \n
    • \n
    • \n

      For valid events (within 14 days in the past to 2 hours in future), the time span in a single batch cannot exceed 24 hours. Otherwise, the operation fails.

      \n
    • \n
    \n \n

    The quota of five requests per second per log stream\n has been removed. Instead, PutLogEvents actions are throttled based on a \n per-second per-account quota. You can request an increase to the per-second throttling\n quota by using the Service Quotas service.

    \n
    \n

    If a call to PutLogEvents returns \"UnrecognizedClientException\" the most\n likely cause is a non-valid Amazon Web Services access key ID or secret key.

    " } }, "com.amazonaws.cloudwatchlogs#PutLogEventsRequest": { diff --git a/tools/code-generation/smithy/api-descriptions/s3.json b/tools/code-generation/smithy/api-descriptions/s3.json index 79f2ed97d60..50754da435d 100644 --- a/tools/code-generation/smithy/api-descriptions/s3.json +++ b/tools/code-generation/smithy/api-descriptions/s3.json @@ -533,6 +533,9 @@ { "target": "com.amazonaws.s3#PutPublicAccessBlock" }, + { + "target": "com.amazonaws.s3#RenameObject" + }, { "target": "com.amazonaws.s3#RestoreObject" }, @@ -21804,6 +21807,9 @@ } } }, + "com.amazonaws.s3#ClientToken": { + "type": "string" + }, "com.amazonaws.s3#Code": { "type": "string" }, @@ -22289,7 +22295,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a copy of an object that is already stored in Amazon S3.

    \n \n

    You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

    \n
    \n

    You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

    \n \n
      \n
    • \n

      Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

      \n
    • \n
    \n
    \n

    Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

    \n \n

    Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

    \n
    \n
    \n
    Authentication and authorization
    \n
    \n

    All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

    \n

    \n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

    \n

    Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

    \n
    \n
    Permissions
    \n
    \n

    You must have read access to the source object and\n write access to the destination bucket.

    \n
      \n
    • \n

      \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

      \n
        \n
      • \n

        If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

        \n
      • \n
      • \n

        If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

      \n
        \n
      • \n

        If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

        \n
      • \n
      • \n

        If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

        \n
      • \n
      \n

      If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

      \n

      For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    Response and special errors
    \n
    \n

    When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

    \n
      \n
    • \n

      If the copy is successful, you receive a response with information about\n the copied object.

      \n
    • \n
    • \n

      A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

      \n
        \n
      • \n

        If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

        \n
      • \n
      • \n

        If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

        \n

        If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

        \n
      • \n
      \n
    • \n
    \n
    \n
    Charge
    \n
    \n

    The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

    \n
    \n
    HTTP Host header syntax
    \n
    \n
      \n
    • \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      \n
    • \n
    • \n

      \n Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the \n form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

      \n
    • \n
    \n
    \n
    \n

    The following operations are related to CopyObject:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    Creates a copy of an object that is already stored in Amazon S3.

    \n \n

    You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

    \n
    \n

    You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

    \n \n
      \n
    • \n

      Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

      \n
    • \n
    \n
    \n

    Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

    \n \n

    Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

    \n
    \n
    \n
    Authentication and authorization
    \n
    \n

    All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

    \n

    \n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

    \n

    Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

    \n
    \n
    Permissions
    \n
    \n

    You must have read access to the source object and\n write access to the destination bucket.

    \n
      \n
    • \n

      \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

      \n
        \n
      • \n

        If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

        \n
      • \n
      • \n

        If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

      \n
        \n
      • \n

        If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

        \n
      • \n
      • \n

        If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

        \n
      • \n
      \n

      If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

      \n

      For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    Response and special errors
    \n
    \n

    When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

    \n
      \n
    • \n

      If the copy is successful, you receive a response with information about\n the copied object.

      \n
    • \n
    • \n

      A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

      \n
        \n
      • \n

        If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

        \n
      • \n
      • \n

        If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

        \n

        If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

        \n
      • \n
      \n
    • \n
    \n
    \n
    Charge
    \n
    \n

    The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

    \n
    \n
    HTTP Host header syntax
    \n
    \n
      \n
    • \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

      \n
    • \n
    • \n

      \n Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the \n form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

      \n
    • \n
    \n
    \n
    \n

    The following operations are related to CopyObject:

    \n ", "smithy.api#examples": [ { "title": "To copy an object", @@ -22868,7 +22874,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

    This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

    \n
    \n

    Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

    \n

    There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

    \n \n
      \n
    • \n

      \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

      \n
        \n
      • \n

        \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

        \n
      • \n
      • \n

        \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

        \n
      • \n
      • \n

        \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

        \n \n

        To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

        \n

        For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

        \n
        \n
      • \n
      • \n

        \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

      \n \n

      The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

      \n

      For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

      \n
      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to CreateBucket:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

    \n
    \n

    Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

    \n

    There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

    \n \n
      \n
    • \n

      \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

      \n
        \n
      • \n

        \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

        \n
      • \n
      • \n

        \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

        \n
      • \n
      • \n

        \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

        \n \n

        To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

        \n

        For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

        \n
        \n
      • \n
      • \n

        \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

      \n \n

      The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

      \n

      For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

      \n
      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to CreateBucket:

    \n ", "smithy.api#examples": [ { "title": "To create a bucket in a specific region", @@ -23116,7 +23122,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

    This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

    \n \n

    After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

    \n
    \n

    If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

    \n \n
      \n
    • \n

      \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    \n
    Request signing
    \n
    \n

    For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    Encryption
    \n
    \n
      \n
    • \n

      \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

      \n
        \n
      • \n

        Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

        \n
          \n
        • \n

          \n x-amz-server-side-encryption\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-aws-kms-key-id\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-context\n

          \n
        • \n
        \n \n
          \n
        • \n

          If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

          \n
        • \n
        • \n

          To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

          \n
        • \n
        • \n

          If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

          \n
        • \n
        • \n

          All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

          \n
        • \n
        \n
        \n

        For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

        \n
          \n
        • \n

          \n x-amz-server-side-encryption-customer-algorithm\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-customer-key\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-customer-key-MD5\n

          \n
        • \n
        \n

        For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n

      In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

      \n \n

      When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

      \n
      \n \n

      For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

      \n
      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to CreateMultipartUpload:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

    \n \n

    After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

    \n
    \n

    If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

    \n \n
      \n
    • \n

      \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n
    \n
    Request signing
    \n
    \n

    For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    Encryption
    \n
    \n
      \n
    • \n

      \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

      \n
        \n
      • \n

        Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

        \n
          \n
        • \n

          \n x-amz-server-side-encryption\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-aws-kms-key-id\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-context\n

          \n
        • \n
        \n \n
          \n
        • \n

          If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

          \n
        • \n
        • \n

          To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

          \n
        • \n
        • \n

          If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

          \n
        • \n
        • \n

          All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

          \n
        • \n
        \n
        \n

        For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

        \n
          \n
        • \n

          \n x-amz-server-side-encryption-customer-algorithm\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-customer-key\n

          \n
        • \n
        • \n

          \n x-amz-server-side-encryption-customer-key-MD5\n

          \n
        • \n
        \n

        For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n

      In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

      \n \n

      When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

      \n
      \n \n

      For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

      \n
      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to CreateMultipartUpload:

    \n ", "smithy.api#examples": [ { "title": "To initiate a multipart upload", @@ -23917,6 +23923,13 @@ "smithy.api#httpQuery": "id", "smithy.api#required": {} } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

    ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -25692,7 +25705,7 @@ "target": "com.amazonaws.s3#GetBucketAclOutput" }, "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    This implementation of the GET action uses the acl subresource\n to return the access control list (ACL) of a bucket. To use GET to return the\n ACL of the bucket, you must have the READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

    \n

    When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

    \n

    When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership,\n requests to read ACLs are still supported and return the\n bucket-owner-full-control ACL with the owner being the account that\n created the bucket. For more information, see Controlling object\n ownership and disabling ACLs in the\n Amazon S3 User Guide.

    \n
    \n

    The following operations are related to GetBucketAcl:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    This implementation of the GET action uses the acl subresource\n to return the access control list (ACL) of a bucket. To use GET to return the\n ACL of the bucket, you must have the READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

    \n

    When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

    \n

    When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership,\n requests to read ACLs are still supported and return the\n bucket-owner-full-control ACL with the owner being the account that\n created the bucket. For more information, see Controlling object\n ownership and disabling ACLs in the\n Amazon S3 User Guide.

    \n
    \n

    The following operations are related to GetBucketAcl:

    \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?acl", @@ -26034,6 +26047,13 @@ "smithy.api#httpQuery": "id", "smithy.api#required": {} } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

    ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -26292,7 +26312,7 @@ "target": "com.amazonaws.s3#GetBucketLoggingOutput" }, "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns the logging status of a bucket and the permissions users have to view and modify\n that status.

    \n

    The following operations are related to GetBucketLogging:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns the logging status of a bucket and the permissions users have to view and modify\n that status.

    \n

    The following operations are related to GetBucketLogging:

    \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?logging", @@ -26562,7 +26582,7 @@ "target": "com.amazonaws.s3#GetBucketOwnershipControlsOutput" }, "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:GetBucketOwnershipControls permission. For more information\n about Amazon S3 permissions, see Specifying permissions in a\n policy.

    \n

    For information about Amazon S3 Object Ownership, see Using Object\n Ownership.

    \n

    The following operations are related to GetBucketOwnershipControls:

    \n ", + "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:GetBucketOwnershipControls permission. For more information\n about Amazon S3 permissions, see Specifying permissions in a\n policy.

    \n \n

    A bucket doesn't have OwnershipControls settings in the following cases:

    \n
      \n
    • \n

      The bucket was created before the BucketOwnerEnforced ownership setting was introduced and you've never explicitly applied this value

      \n
    • \n
    • \n

      You've manually deleted the bucket ownership control value using the DeleteBucketOwnershipControls API operation.

      \n
    • \n
    \n

    By default, Amazon S3 sets OwnershipControls for all newly created buckets.

    \n
    \n

    For information about Amazon S3 Object Ownership, see Using Object\n Ownership.

    \n

    The following operations are related to GetBucketOwnershipControls:

    \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?ownershipControls", @@ -27530,7 +27550,7 @@ "Parts": { "target": "com.amazonaws.s3#PartsList", "traits": { - "smithy.api#documentation": "

    A container for elements related to a particular part. A response can contain zero or\n more Parts elements.

    \n \n
      \n
    • \n

      \n General purpose buckets - For\n GetObjectAttributes, if a additional checksum (including\n x-amz-checksum-crc32, x-amz-checksum-crc32c,\n x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't\n applied to the object specified in the request, the response doesn't return\n Part.

      \n
    • \n
    • \n

      \n Directory buckets - For\n GetObjectAttributes, no matter whether a additional checksum is\n applied to the object specified in the request, the response returns\n Part.

      \n
    • \n
    \n
    ", + "smithy.api#documentation": "

    A container for elements related to a particular part. A response can contain zero or\n more Parts elements.

    \n \n
      \n
    • \n

      \n General purpose buckets - For\n GetObjectAttributes, if an additional checksum (including\n x-amz-checksum-crc32, x-amz-checksum-crc32c,\n x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't\n applied to the object specified in the request, the response doesn't return\n the Part element.

      \n
    • \n
    • \n

      \n Directory buckets - For\n GetObjectAttributes, regardless of whether an additional checksum is\n applied to the object specified in the request, the response returns\n the Part element.

      \n
    • \n
    \n
    ", "smithy.api#xmlFlattened": {}, "smithy.api#xmlName": "Part" } @@ -29106,6 +29126,13 @@ "smithy.api#httpHeader": "x-amz-mp-parts-count" } }, + "TagCount": { + "target": "com.amazonaws.s3#TagCount", + "traits": { + "smithy.api#documentation": "

    The number of tags, if any, on the object, when you have the relevant permission to read\n object tags.

    \n

    You can use GetObjectTagging to retrieve\n the tag set associated with an object.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    ", + "smithy.api#httpHeader": "x-amz-tagging-count" + } + }, "ObjectLockMode": { "target": "com.amazonaws.s3#ObjectLockMode", "traits": { @@ -29306,6 +29333,15 @@ "com.amazonaws.s3#ID": { "type": "string" }, + "com.amazonaws.s3#IdempotencyParameterMismatch": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

    Parameters on this idempotent request are inconsistent with parameters used in previous request(s).\n

    \n

    For a list of error codes and more information on Amazon S3 errors, see Error\n codes.

    \n \n

    Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

    \n
    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.s3#IfMatch": { "type": "string" }, @@ -30347,6 +30383,13 @@ "smithy.api#documentation": "

    The ContinuationToken that represents a placeholder from where this request\n should begin.

    ", "smithy.api#httpQuery": "continuation-token" } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

    ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -30537,7 +30580,7 @@ "target": "com.amazonaws.s3#ListBucketsOutput" }, "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use\n this operation, you must add the s3:ListAllMyBuckets policy action.

    \n

    For information about Amazon S3 buckets, see Creating, configuring, and\n working with Amazon S3 buckets.

    \n \n

    We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for \n Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved \n general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. \n All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota \n greater than 10,000.

    \n
    ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use\n this operation, you must add the s3:ListAllMyBuckets policy action.

    \n

    For information about Amazon S3 buckets, see Creating, configuring, and\n working with Amazon S3 buckets.

    \n \n

    We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for \n Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved \n general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. \n All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota \n greater than 10,000.

    \n
    ", "smithy.api#examples": [ { "title": "To list all buckets", @@ -30726,7 +30769,7 @@ "target": "com.amazonaws.s3#ListMultipartUploadsOutput" }, "traits": { - "smithy.api#documentation": "

    This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

    \n \n

    \n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

    \n
    \n

    The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

    \n \n

    \n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

    \n
    \n

    For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    Sorting of multipart uploads in response
    \n
    \n
      \n
    • \n

      \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

      \n
        \n
      • \n

        Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

        \n
      • \n
      • \n

        Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to ListMultipartUploads:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

    \n \n

    \n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

    \n
    \n

    The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

    \n \n

    \n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

    \n
    \n

    For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    Sorting of multipart uploads in response
    \n
    \n
      \n
    • \n

      \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

      \n
        \n
      • \n

        Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

        \n
      • \n
      • \n

        Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to ListMultipartUploads:

    \n ", "smithy.api#examples": [ { "title": "List next set of multipart uploads when previous result is truncated", @@ -30999,7 +31042,7 @@ "target": "com.amazonaws.s3#ListObjectVersionsOutput" }, "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

    \n \n

    To use this operation, you must have permission to perform the\n s3:ListBucketVersions action. Be aware of the name difference.

    \n
    \n \n

    A 200 OK response can contain valid or invalid XML. Make sure to design\n your application to parse the contents of the response and handle it\n appropriately.

    \n
    \n

    To use this operation, you must have READ access to the bucket.

    \n

    The following operations are related to ListObjectVersions:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

    \n \n

    To use this operation, you must have permission to perform the\n s3:ListBucketVersions action. Be aware of the name difference.

    \n
    \n \n

    A 200 OK response can contain valid or invalid XML. Make sure to design\n your application to parse the contents of the response and handle it\n appropriately.

    \n
    \n

    To use this operation, you must have READ access to the bucket.

    \n

    The following operations are related to ListObjectVersions:

    \n ", "smithy.api#examples": [ { "title": "To list object versions", @@ -31242,7 +31285,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

    \n \n

    This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

    \n
    \n

    The following operations are related to ListObjects:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

    \n \n

    This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

    \n
    \n

    The following operations are related to ListObjects:

    \n ", "smithy.api#examples": [ { "title": "To list objects in a bucket", @@ -31564,7 +31607,7 @@ "ContinuationToken": { "target": "com.amazonaws.s3#Token", "traits": { - "smithy.api#documentation": "

    If ContinuationToken was sent with the request, it is included in the\n response. You can use the returned ContinuationToken for pagination of the\n list response. You can use this ContinuationToken for pagination of the list\n results.

    " + "smithy.api#documentation": "

    If ContinuationToken was sent with the request, it is included in the\n response. You can use the returned ContinuationToken for pagination of the\n list response.

    " } }, "NextContinuationToken": { @@ -31692,7 +31735,7 @@ "target": "com.amazonaws.s3#ListPartsOutput" }, "traits": { - "smithy.api#documentation": "

    Lists the parts that have been uploaded for a specific multipart upload.

    \n

    To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

    \n

    The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

    \n

    For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

      \n

      If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to ListParts:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    Lists the parts that have been uploaded for a specific multipart upload.

    \n

    To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

    \n

    The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

    \n

    For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

      \n

      If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    The following operations are related to ListParts:

    \n ", "smithy.api#examples": [ { "title": "To list parts of a multipart upload.", @@ -33229,7 +33272,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Container for the owner's display name and ID.

    " + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    Container for the owner's display name and ID.

    " } }, "com.amazonaws.s3#OwnerOverride": { @@ -33652,7 +33695,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set the ACL of a\n bucket, you must have the WRITE_ACP permission.

    \n

    You can use one of the following two ways to set a bucket's permissions:

    \n
      \n
    • \n

      Specify the ACL in the request body

      \n
    • \n
    • \n

      Specify permissions using request headers

      \n
    • \n
    \n \n

    You cannot specify access permission using both the body and the request\n headers.

    \n
    \n

    Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n

    You can set access permissions by using one of the following methods:

    \n
      \n
    • \n

      Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned\n ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other\n access control-specific headers in your request. For more information, see\n Canned\n ACL.

      \n
    • \n
    • \n

      Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use the x-amz-acl header to set a canned\n ACL. These parameters map to the set of permissions that Amazon S3 supports in an\n ACL. For more information, see Access Control List (ACL)\n Overview.

      \n

      You specify each grantee as a type=value pair, where the type is one of\n the following:

      \n
        \n
      • \n

        \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

        \n
      • \n
      • \n

        \n uri – if you are granting permissions to a predefined\n group

        \n
      • \n
      • \n

        \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

        \n \n

        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

        \n
          \n
        • \n

          US East (N. Virginia)

          \n
        • \n
        • \n

          US West (N. California)

          \n
        • \n
        • \n

          US West (Oregon)

          \n
        • \n
        • \n

          Asia Pacific (Singapore)

          \n
        • \n
        • \n

          Asia Pacific (Sydney)

          \n
        • \n
        • \n

          Asia Pacific (Tokyo)

          \n
        • \n
        • \n

          Europe (Ireland)

          \n
        • \n
        • \n

          South America (São Paulo)

          \n
        • \n
        \n

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

        \n
        \n
      • \n
      \n

      For example, the following x-amz-grant-write header grants\n create, overwrite, and delete objects permission to LogDelivery group\n predefined by Amazon S3 and two Amazon Web Services accounts identified by their email\n addresses.

      \n

      \n x-amz-grant-write:\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\",\n id=\"555566667777\" \n

      \n
    • \n
    \n

    You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways:

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      DisplayName is optional and ignored in the request

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>&\n

      \n

      The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n
    \n
    \n

    The following operations are related to PutBucketAcl:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set the ACL of a\n bucket, you must have the WRITE_ACP permission.

    \n

    You can use one of the following two ways to set a bucket's permissions:

    \n
      \n
    • \n

      Specify the ACL in the request body

      \n
    • \n
    • \n

      Specify permissions using request headers

      \n
    • \n
    \n \n

    You cannot specify access permission using both the body and the request\n headers.

    \n
    \n

    Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n

    You can set access permissions by using one of the following methods:

    \n
      \n
    • \n

      Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned\n ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other\n access control-specific headers in your request. For more information, see\n Canned\n ACL.

      \n
    • \n
    • \n

      Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use the x-amz-acl header to set a canned\n ACL. These parameters map to the set of permissions that Amazon S3 supports in an\n ACL. For more information, see Access Control List (ACL)\n Overview.

      \n

      You specify each grantee as a type=value pair, where the type is one of\n the following:

      \n
        \n
      • \n

        \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

        \n
      • \n
      • \n

        \n uri – if you are granting permissions to a predefined\n group

        \n
      • \n
      • \n

        \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

        \n \n

        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

        \n
          \n
        • \n

          US East (N. Virginia)

          \n
        • \n
        • \n

          US West (N. California)

          \n
        • \n
        • \n

          US West (Oregon)

          \n
        • \n
        • \n

          Asia Pacific (Singapore)

          \n
        • \n
        • \n

          Asia Pacific (Sydney)

          \n
        • \n
        • \n

          Asia Pacific (Tokyo)

          \n
        • \n
        • \n

          Europe (Ireland)

          \n
        • \n
        • \n

          South America (São Paulo)

          \n
        • \n
        \n

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

        \n
        \n
      • \n
      \n

      For example, the following x-amz-grant-write header grants\n create, overwrite, and delete objects permission to LogDelivery group\n predefined by Amazon S3 and two Amazon Web Services accounts identified by their email\n addresses.

      \n

      \n x-amz-grant-write:\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\",\n id=\"555566667777\" \n

      \n
    • \n
    \n

    You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      DisplayName is optional and ignored in the request

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>&\n

      \n

      The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n
    \n
    \n

    The following operations are related to PutBucketAcl:

    \n ", "smithy.api#examples": [ { "title": "Put bucket acl", @@ -34067,6 +34110,13 @@ "smithy.api#required": {} } }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

    ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } + }, "IntelligentTieringConfiguration": { "target": "com.amazonaws.s3#IntelligentTieringConfiguration", "traits": { @@ -34277,7 +34327,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as\n the source bucket. To set the logging status of a bucket, you must be the bucket\n owner.

    \n

    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

    \n \n

    If the target bucket for log delivery uses the bucket owner enforced setting for S3\n Object Ownership, you can't use the Grantee request element to grant access\n to others. Permissions can only be granted using policies. For more information, see\n Permissions for server access log delivery in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights (by\n using request elements) in the following ways:

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      \n DisplayName is optional and ignored in the request.

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>\n

      \n

      The grantee is resolved to the CanonicalUser and, in a\n response to a GETObjectAcl request, appears as the\n CanonicalUser.

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    \n
    \n
    \n

    To enable logging, you use LoggingEnabled and its children request\n elements. To disable logging, you use an empty BucketLoggingStatus request\n element:

    \n

    \n \n

    \n

    For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

    \n

    For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

    \n

    The following operations are related to PutBucketLogging:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n \n

    This operation is not supported for directory buckets.

    \n
    \n

    Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as\n the source bucket. To set the logging status of a bucket, you must be the bucket\n owner.

    \n

    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

    \n \n

    If the target bucket for log delivery uses the bucket owner enforced setting for S3\n Object Ownership, you can't use the Grantee request element to grant access\n to others. Permissions can only be granted using policies. For more information, see\n Permissions for server access log delivery in the\n Amazon S3 User Guide.

    \n
    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights (by\n using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      \n DisplayName is optional and ignored in the request.

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>\n

      \n

      The grantee is resolved to the CanonicalUser and, in a\n response to a GETObjectAcl request, appears as the\n CanonicalUser.

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    \n
    \n
    \n

    To enable logging, you use LoggingEnabled and its children request\n elements. To disable logging, you use an empty BucketLoggingStatus request\n element:

    \n

    \n \n

    \n

    For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

    \n

    For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

    \n

    The following operations are related to PutBucketLogging:

    \n ", "smithy.api#examples": [ { "title": "Set logging configuration for a bucket", @@ -35176,7 +35226,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

    Adds an object to a bucket.

    \n \n
      \n
    • \n

      Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

      \n
    • \n
    • \n

      If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n

    Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

    \n
      \n
    • \n

      \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      \n
    • \n
    • \n

      \n If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

      \n

      Expects the * character (asterisk).

      \n

      For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.\n

      \n \n

      This functionality is not supported for S3 on Outposts.

      \n
      \n
    • \n
    • \n

      \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      \n
    • \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

      \n
        \n
      • \n

        \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

        \n
      • \n
      • \n

        \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

        \n
      • \n
      • \n

        \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n

      If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

      \n
    • \n
    \n
    \n
    Data integrity with Content-MD5
    \n
    \n
      \n
    • \n

      \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

      \n
    • \n
    • \n

      \n Directory bucket -\n This functionality is not supported for directory buckets.

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    For more information about related Amazon S3 APIs, see the following:

    \n ", + "smithy.api#documentation": "\n

    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

    \n

    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

    \n
    \n

    Adds an object to a bucket.

    \n \n
      \n
    • \n

      Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

      \n
    • \n
    • \n

      If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

      \n
    • \n
    • \n

      \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
    \n

    Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

    \n
      \n
    • \n

      \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      \n
    • \n
    • \n

      \n If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

      \n

      Expects the * character (asterisk).

      \n

      For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.\n

      \n \n

      This functionality is not supported for S3 on Outposts.

      \n
      \n
    • \n
    • \n

      \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      \n
    • \n
    \n
    \n
    Permissions
    \n
    \n
      \n
    • \n

      \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

      \n
        \n
      • \n

        \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

        \n
      • \n
      • \n

        \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

        \n
      • \n
      • \n

        \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

        \n
      • \n
      \n
    • \n
    • \n

      \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

      \n

      If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

      \n
    • \n
    \n
    \n
    Data integrity with Content-MD5
    \n
    \n
      \n
    • \n

      \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

      \n
    • \n
    • \n

      \n Directory bucket -\n This functionality is not supported for directory buckets.

      \n
    • \n
    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    \n

    For more information about related Amazon S3 APIs, see the following:

    \n ", "smithy.api#examples": [ { "title": "To create an object.", @@ -35307,7 +35357,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have the WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

    \n

    This functionality is not supported for Amazon S3 on Outposts.

    \n

    Depending on your application needs, you can choose to set the ACL on an object using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, you can continue to use that approach.\n For more information, see Access Control List (ACL) Overview\n in the Amazon S3 User Guide.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n

    You can set access permissions using one of the following methods:

    \n
      \n
    • \n

      Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has\n a predefined set of grantees and permissions. Specify the canned ACL name as\n the value of x-amz-acl. If you use this header, you cannot use\n other access control-specific headers in your request. For more information,\n see Canned\n ACL.

      \n
    • \n
    • \n

      Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use x-amz-acl header to set a canned ACL.\n These parameters map to the set of permissions that Amazon S3 supports in an ACL.\n For more information, see Access Control List (ACL)\n Overview.

      \n

      You specify each grantee as a type=value pair, where the type is one of\n the following:

      \n
        \n
      • \n

        \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

        \n
      • \n
      • \n

        \n uri – if you are granting permissions to a predefined\n group

        \n
      • \n
      • \n

        \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

        \n \n

        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

        \n
          \n
        • \n

          US East (N. Virginia)

          \n
        • \n
        • \n

          US West (N. California)

          \n
        • \n
        • \n

          US West (Oregon)

          \n
        • \n
        • \n

          Asia Pacific (Singapore)

          \n
        • \n
        • \n

          Asia Pacific (Sydney)

          \n
        • \n
        • \n

          Asia Pacific (Tokyo)

          \n
        • \n
        • \n

          Europe (Ireland)

          \n
        • \n
        • \n

          South America (São Paulo)

          \n
        • \n
        \n

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

        \n
        \n
      • \n
      \n

      For example, the following x-amz-grant-read header grants\n list objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

      \n

      \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

      \n
    • \n
    \n

    You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways:

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      DisplayName is optional and ignored in the request.

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>lt;/Grantee>\n

      \n

      The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n
    \n
    Versioning
    \n
    \n

    The ACL of an object is set at the object version level. By default, PUT sets\n the ACL of the current version of an object. To set the ACL of a different\n version, use the versionId subresource.

    \n
    \n
    \n

    The following operations are related to PutObjectAcl:

    \n ", + "smithy.api#documentation": "\n

    This operation is not supported for directory buckets.

    \n
    \n

    Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have the WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

    \n

    This functionality is not supported for Amazon S3 on Outposts.

    \n

    Depending on your application needs, you can choose to set the ACL on an object using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, you can continue to use that approach.\n For more information, see Access Control List (ACL) Overview\n in the Amazon S3 User Guide.

    \n \n

    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

    \n
    \n
    \n
    Permissions
    \n
    \n

    You can set access permissions using one of the following methods:

    \n
      \n
    • \n

      Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has\n a predefined set of grantees and permissions. Specify the canned ACL name as\n the value of x-amz-acl. If you use this header, you cannot use\n other access control-specific headers in your request. For more information,\n see Canned\n ACL.

      \n
    • \n
    • \n

      Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use x-amz-acl header to set a canned ACL.\n These parameters map to the set of permissions that Amazon S3 supports in an ACL.\n For more information, see Access Control List (ACL)\n Overview.

      \n

      You specify each grantee as a type=value pair, where the type is one of\n the following:

      \n
        \n
      • \n

        \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

        \n
      • \n
      • \n

        \n uri – if you are granting permissions to a predefined\n group

        \n
      • \n
      • \n

        \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

        \n \n

        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

        \n
          \n
        • \n

          US East (N. Virginia)

          \n
        • \n
        • \n

          US West (N. California)

          \n
        • \n
        • \n

          US West (Oregon)

          \n
        • \n
        • \n

          Asia Pacific (Singapore)

          \n
        • \n
        • \n

          Asia Pacific (Sydney)

          \n
        • \n
        • \n

          Asia Pacific (Tokyo)

          \n
        • \n
        • \n

          Europe (Ireland)

          \n
        • \n
        • \n

          South America (São Paulo)

          \n
        • \n
        \n

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

        \n
        \n
      • \n
      \n

      For example, the following x-amz-grant-read header grants\n list objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

      \n

      \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

      \n
    • \n
    \n

    You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

    \n
    \n
    Grantee Values
    \n
    \n

    You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

    \n
      \n
    • \n

      By the person's ID:

      \n

      \n <>ID<><>GranteesEmail<>\n \n

      \n

      DisplayName is optional and ignored in the request.

      \n
    • \n
    • \n

      By URI:

      \n

      \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

      \n
    • \n
    • \n

      By Email address:

      \n

      \n <>Grantees@email.com<>lt;/Grantee>\n

      \n

      The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n
    \n
    Versioning
    \n
    \n

    The ACL of an object is set at the object version level. By default, PUT sets\n the ACL of the current version of an object. To set the ACL of a different\n version, use the versionId subresource.

    \n
    \n
    \n

    The following operations are related to PutObjectAcl:

    \n ", "smithy.api#examples": [ { "title": "To grant permissions using object ACL", @@ -36558,6 +36608,161 @@ } } }, + "com.amazonaws.s3#RenameObject": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3#RenameObjectRequest" + }, + "output": { + "target": "com.amazonaws.s3#RenameObjectOutput" + }, + "errors": [ + { + "target": "com.amazonaws.s3#IdempotencyParameterMismatch" + } + ], + "traits": { + "smithy.api#documentation": "

    Renames an existing object in a directory bucket that uses the S3 Express One Zone\n storage class. You can use RenameObject by specifying an existing object’s\n name as the source and the new name of the object as the destination within the same\n directory bucket.

    \n \n

    \n RenameObject is only supported for objects stored in the S3 Express One Zone\n storage class.

    \n
    \n

    To prevent overwriting an object, you can use the If-None-Match conditional header.

    \n
      \n
    • \n

      \n If-None-Match - Renames the object only if\n an object with the specified name does not already exist in the directory bucket. If\n you don't want to overwrite an existing object, you can add the\n If-None-Match conditional header with the value ‘*’ in\n the RenameObject request. Amazon S3 then returns a 412 Precondition\n Failed error if the object with the specified name already exists. \n For more information, see RFC 7232.

      \n
    • \n
    \n
    \n
    Permissions
    \n
    \n

    To grant access to the RenameObject operation on a directory bucket, we recommend that you\n use the CreateSession operation for session-based authorization.\n Specifically, you grant the s3express:CreateSession permission to the\n directory bucket in a bucket policy or an IAM identity-based policy. Then, you\n make the CreateSession API call on the directory bucket to obtain a\n session token. With the session token in your request header, you can make API\n requests to this operation. After the session token expires, you make another\n CreateSession API call to generate a new session token for use.\n The Amazon Web Services CLI and SDKs will create and manage your session including refreshing\n the session token automatically to avoid service interruptions when a session\n expires. In your bucket policy, you can specify the\n s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. A\n ReadWrite session is required for executing all the Zonal endpoint\n API operations, including RenameObject. For more information about\n authorization, see \n CreateSession\n . To learn more about Zonal endpoint APT operations, see Authorizing Zonal endpoint API\n operations with CreateSession in the Amazon S3 User\n Guide.

    \n
    \n
    HTTP Host header syntax
    \n
    \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
    \n
    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/{Bucket}/{Key+}?renameObject", + "code": 200 + } + } + }, + "com.amazonaws.s3#RenameObjectOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3#RenameObjectRequest": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.s3#BucketName", + "traits": { + "smithy.api#documentation": "

    The bucket name of the directory bucket containing the object.

    \n

    You must use virtual-hosted-style requests in the format\n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. \n Directory bucket names must be unique in the chosen\n Availability Zone. Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example,\n amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket\n naming rules in the Amazon S3 User Guide.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + }, + "Key": { + "target": "com.amazonaws.s3#ObjectKey", + "traits": { + "smithy.api#documentation": "

    Key name of the object to rename.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } + } + }, + "RenameSource": { + "target": "com.amazonaws.s3#RenameSource", + "traits": { + "smithy.api#documentation": "

    Specifies the source for the rename operation. The value must be URL encoded.

    ", + "smithy.api#httpHeader": "x-amz-rename-source", + "smithy.api#required": {} + } + }, + "DestinationIfMatch": { + "target": "com.amazonaws.s3#IfMatch", + "traits": { + "smithy.api#documentation": "

    Renames the object only if the ETag (entity tag) value provided during the operation\n matches the ETag of the object in S3. The If-Match header field makes the\n request method conditional on ETags. If the ETag values do not match, the operation returns\n a 412 Precondition Failed error.

    \n

    Expects the ETag value as a string.

    ", + "smithy.api#httpHeader": "If-Match" + } + }, + "DestinationIfNoneMatch": { + "target": "com.amazonaws.s3#IfNoneMatch", + "traits": { + "smithy.api#documentation": "

    Renames the object only if the destination does not already exist in the specified\n directory bucket. If the object does exist when you send a request with\n If-None-Match:*, the S3 API will return a 412 Precondition\n Failed error, preventing an overwrite. The If-None-Match header\n prevents overwrites of existing data by validating that there's not an object with the same\n key name already in your directory bucket.

    \n

    Expects the * character (asterisk).

    ", + "smithy.api#httpHeader": "If-None-Match" + } + }, + "DestinationIfModifiedSince": { + "target": "com.amazonaws.s3#IfModifiedSince", + "traits": { + "smithy.api#documentation": "

    Renames the object if the destination exists and if it has been modified since the\n specified time.

    ", + "smithy.api#httpHeader": "If-Modified-Since" + } + }, + "DestinationIfUnmodifiedSince": { + "target": "com.amazonaws.s3#IfUnmodifiedSince", + "traits": { + "smithy.api#documentation": "

    Renames the object if it hasn't been modified since the specified time.

    ", + "smithy.api#httpHeader": "If-Unmodified-Since" + } + }, + "SourceIfMatch": { + "target": "com.amazonaws.s3#RenameSourceIfMatch", + "traits": { + "smithy.api#documentation": "

    Renames the object if the source exists and if its entity tag (ETag) matches the\n specified ETag.

    ", + "smithy.api#httpHeader": "x-amz-rename-source-if-match" + } + }, + "SourceIfNoneMatch": { + "target": "com.amazonaws.s3#RenameSourceIfNoneMatch", + "traits": { + "smithy.api#documentation": "

    Renames the object if the source exists and if its entity tag (ETag) is different than\n the specified ETag. If an asterisk (*) character is provided, the operation\n will fail and return a 412 Precondition Failed error.

    ", + "smithy.api#httpHeader": "x-amz-rename-source-if-none-match" + } + }, + "SourceIfModifiedSince": { + "target": "com.amazonaws.s3#RenameSourceIfModifiedSince", + "traits": { + "smithy.api#documentation": "

    Renames the object if the source exists and if it has been modified since the specified time.

    ", + "smithy.api#httpHeader": "x-amz-rename-source-if-modified-since" + } + }, + "SourceIfUnmodifiedSince": { + "target": "com.amazonaws.s3#RenameSourceIfUnmodifiedSince", + "traits": { + "smithy.api#documentation": "

    Renames the object if the source exists and hasn't been modified since the specified time.

    ", + "smithy.api#httpHeader": "x-amz-rename-source-if-unmodified-since" + } + }, + "ClientToken": { + "target": "com.amazonaws.s3#ClientToken", + "traits": { + "smithy.api#documentation": "

    A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126.\n RenameObject supports idempotency using a client token. To make an\n idempotent API request using RenameObject, specify a client token in the\n request. You should not reuse the same client token for other API requests. If you retry a\n request that completed successfully using the same client token and the same parameters,\n the retry succeeds without performing any further actions. If you retry a successful\n request using the same client token, but one or more of the parameters are different, the\n retry fails and an IdempotentParameterMismatch error is returned.

    ", + "smithy.api#httpHeader": "x-amz-client-token", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3#RenameSource": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\/?.+\\/.+$" + } + }, + "com.amazonaws.s3#RenameSourceIfMatch": { + "type": "string" + }, + "com.amazonaws.s3#RenameSourceIfModifiedSince": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "http-date" + } + }, + "com.amazonaws.s3#RenameSourceIfNoneMatch": { + "type": "string" + }, + "com.amazonaws.s3#RenameSourceIfUnmodifiedSince": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "http-date" + } + }, "com.amazonaws.s3#ReplaceKeyPrefixWith": { "type": "string" }, diff --git a/tools/code-generation/smithy/api-descriptions/sagemaker.json b/tools/code-generation/smithy/api-descriptions/sagemaker.json index 469f8958e50..e7afa45c8a3 100644 --- a/tools/code-generation/smithy/api-descriptions/sagemaker.json +++ b/tools/code-generation/smithy/api-descriptions/sagemaker.json @@ -7601,6 +7601,12 @@ "smithy.api#enumValue": "ml.p5en.48xlarge" } }, + "ML_P6_B200_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.p6-b200.48xlarge" + } + }, "ML_TRN2_48XLARGE": { "target": "smithy.api#Unit", "traits": { From c051e364cae2361477f6b39f4077984257ff5976 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Wed, 18 Jun 2025 18:57:15 +0000 Subject: [PATCH 19/26] Add support for p6-b200 instance type for SageMaker Hyperpod Add IncludeInstances parameter to DescribeAutoScalingGroups API Added CloudWatch Logs Transformer support for converting CloudTrail, VPC Flow, EKS Audit, AWS WAF and Route53 Resolver logs to OCSF v1.1 format. This is the initial SDK release for Amazon AI Operations (AIOps). AIOps is a generative AI-powered assistant that helps you respond to incidents in your system by scanning your system's telemetry and quickly surface suggestions that might be related to your issue. Added support for renaming objects within the same bucket using the new RenameObject API. --- VERSION | 2 +- .../src/aws-cpp-sdk-aiops/CMakeLists.txt | 76 + .../include/aws/aiops/AIOpsClient.h | 423 +++++ .../include/aws/aiops/AIOpsEndpointProvider.h | 61 + .../include/aws/aiops/AIOpsEndpointRules.h | 23 + .../include/aws/aiops/AIOpsErrorMarshaller.h | 23 + .../include/aws/aiops/AIOpsErrors.h | 75 + .../include/aws/aiops/AIOpsRequest.h | 46 + .../aws/aiops/AIOpsServiceClientModel.h | 131 ++ .../include/aws/aiops/AIOps_EXPORTS.h | 32 + .../model/CreateInvestigationGroupRequest.h | 209 +++ .../model/CreateInvestigationGroupResult.h | 65 + .../DeleteInvestigationGroupPolicyRequest.h | 55 + .../DeleteInvestigationGroupPolicyResult.h | 51 + .../model/DeleteInvestigationGroupRequest.h | 55 + .../aws/aiops/model/EncryptionConfiguration.h | 76 + .../aiops/model/EncryptionConfigurationType.h | 31 + .../GetInvestigationGroupPolicyRequest.h | 55 + .../model/GetInvestigationGroupPolicyResult.h | 80 + .../model/GetInvestigationGroupRequest.h | 55 + .../aiops/model/GetInvestigationGroupResult.h | 240 +++ .../model/ListInvestigationGroupsModel.h | 75 + .../model/ListInvestigationGroupsRequest.h | 75 + .../model/ListInvestigationGroupsResult.h | 85 + .../aiops/model/ListTagsForResourceRequest.h | 60 + .../aiops/model/ListTagsForResourceResult.h | 71 + .../PutInvestigationGroupPolicyRequest.h | 70 + .../model/PutInvestigationGroupPolicyResult.h | 65 + .../model/ServiceQuotaExceededException.h | 117 ++ .../aws/aiops/model/TagResourceRequest.h | 77 + .../aws/aiops/model/TagResourceResult.h | 51 + .../aws/aiops/model/UntagResourceRequest.h | 81 + .../aws/aiops/model/UntagResourceResult.h | 51 + .../model/UpdateInvestigationGroupRequest.h | 169 ++ .../model/UpdateInvestigationGroupResult.h | 51 + .../aws-cpp-sdk-aiops/source/AIOpsClient.cpp | 536 ++++++ .../source/AIOpsEndpointProvider.cpp | 16 + .../source/AIOpsEndpointRules.cpp | 175 ++ .../source/AIOpsErrorMarshaller.cpp | 22 + .../aws-cpp-sdk-aiops/source/AIOpsErrors.cpp | 60 + .../aws-cpp-sdk-aiops/source/AIOpsRequest.cpp | 14 + .../model/CreateInvestigationGroupRequest.cpp | 92 + .../model/CreateInvestigationGroupResult.cpp | 44 + .../DeleteInvestigationGroupPolicyRequest.cpp | 22 + .../DeleteInvestigationGroupPolicyResult.cpp | 39 + .../model/DeleteInvestigationGroupRequest.cpp | 22 + .../source/model/EncryptionConfiguration.cpp | 61 + .../model/EncryptionConfigurationType.cpp | 72 + .../GetInvestigationGroupPolicyRequest.cpp | 22 + .../GetInvestigationGroupPolicyResult.cpp | 49 + .../model/GetInvestigationGroupRequest.cpp | 22 + .../model/GetInvestigationGroupResult.cpp | 114 ++ .../model/ListInvestigationGroupsModel.cpp | 62 + .../model/ListInvestigationGroupsRequest.cpp | 43 + .../model/ListInvestigationGroupsResult.cpp | 53 + .../model/ListTagsForResourceRequest.cpp | 22 + .../model/ListTagsForResourceResult.cpp | 48 + .../PutInvestigationGroupPolicyRequest.cpp | 30 + .../PutInvestigationGroupPolicyResult.cpp | 44 + .../model/ServiceQuotaExceededException.cpp | 95 + .../source/model/TagResourceRequest.cpp | 35 + .../source/model/TagResourceResult.cpp | 39 + .../source/model/UntagResourceRequest.cpp | 39 + .../source/model/UntagResourceResult.cpp | 39 + .../model/UpdateInvestigationGroupRequest.cpp | 69 + .../model/UpdateInvestigationGroupResult.cpp | 39 + .../aws/autoscaling/AutoScalingClient.h | 14 +- .../model/DescribeAutoScalingGroupsRequest.h | 15 + .../DescribeAutoScalingGroupsRequest.cpp | 5 + .../include/aws/logs/CloudWatchLogsClient.h | 38 +- .../include/aws/logs/model/EventSource.h | 34 + .../include/aws/logs/model/OCSFVersion.h | 30 + .../include/aws/logs/model/ParseToOCSF.h | 95 + .../include/aws/logs/model/Processor.h | 17 + .../aws/logs/model/PutDeliverySourceRequest.h | 10 +- .../source/model/EventSource.cpp | 93 + .../source/model/OCSFVersion.cpp | 65 + .../source/model/ParseToOCSF.cpp | 71 + .../source/model/Processor.cpp | 11 + .../include/aws/s3-crt/S3CrtClient.h | 354 +++- .../include/aws/s3-crt/S3CrtErrors.h | 1 + .../aws/s3-crt/S3CrtServiceClientModel.h | 5 + ...etIntelligentTieringConfigurationRequest.h | 19 + ...etIntelligentTieringConfigurationRequest.h | 19 + .../s3-crt/model/GetObjectAttributesParts.h | 11 +- .../aws/s3-crt/model/HeadObjectResult.h | 16 + ...tIntelligentTieringConfigurationsRequest.h | 19 + .../aws/s3-crt/model/ListObjectsV2Result.h | 3 +- .../include/aws/s3-crt/model/Owner.h | 9 + ...etIntelligentTieringConfigurationRequest.h | 19 + .../aws/s3-crt/model/RenameObjectRequest.h | 286 +++ .../aws/s3-crt/model/RenameObjectResult.h | 51 + .../aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp | 53 + .../aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp | 11 +- ...IntelligentTieringConfigurationRequest.cpp | 13 + ...IntelligentTieringConfigurationRequest.cpp | 13 + .../source/model/HeadObjectResult.cpp | 7 + ...ntelligentTieringConfigurationsRequest.cpp | 13 + ...IntelligentTieringConfigurationRequest.cpp | 13 + .../source/model/RenameObjectRequest.cpp | 128 ++ .../source/model/RenameObjectResult.cpp | 42 + .../aws-cpp-sdk-s3/include/aws/s3/S3Client.h | 354 +++- .../aws-cpp-sdk-s3/include/aws/s3/S3Errors.h | 1 + .../include/aws/s3/S3ServiceClientModel.h | 5 + ...etIntelligentTieringConfigurationRequest.h | 19 + ...etIntelligentTieringConfigurationRequest.h | 19 + .../aws/s3/model/GetObjectAttributesParts.h | 11 +- .../include/aws/s3/model/HeadObjectResult.h | 16 + ...tIntelligentTieringConfigurationsRequest.h | 19 + .../aws/s3/model/ListObjectsV2Result.h | 3 +- .../include/aws/s3/model/Owner.h | 9 + ...etIntelligentTieringConfigurationRequest.h | 19 + .../aws/s3/model/RenameObjectRequest.h | 286 +++ .../include/aws/s3/model/RenameObjectResult.h | 51 + .../src/aws-cpp-sdk-s3/source/S3Client.cpp | 53 + .../src/aws-cpp-sdk-s3/source/S3Errors.cpp | 11 +- ...IntelligentTieringConfigurationRequest.cpp | 13 + ...IntelligentTieringConfigurationRequest.cpp | 13 + .../source/model/HeadObjectResult.cpp | 7 + ...ntelligentTieringConfigurationsRequest.cpp | 13 + ...IntelligentTieringConfigurationRequest.cpp | 13 + .../source/model/RenameObjectRequest.cpp | 128 ++ .../source/model/RenameObjectResult.cpp | 42 + .../aws/sagemaker/model/ClusterInstanceType.h | 1 + .../source/model/ClusterInstanceType.cpp | 7 + .../AIOpsEndpointProviderTests.cpp | 428 +++++ .../aiops-gen-tests/AIOpsIncludeTests.cpp | 53 + .../tests/aiops-gen-tests/CMakeLists.txt | 42 + generated/tests/aiops-gen-tests/RunTests.cpp | 29 + .../CloudWatchLogsIncludeTests.cpp | 3 + .../s3-crt-gen-tests/S3CrtIncludeTests.cpp | 2 + .../tests/s3-gen-tests/S3IncludeTests.cpp | 2 + .../include/aws/core/VersionConfig.h | 4 +- .../aiops-2018-05-10.normal.json | 843 +++++++++ .../autoscaling-2011-01-01.normal.json | 7 +- .../logs-2014-03-28.normal.json | 44 +- .../s3-2006-03-01.normal.json | 190 +- .../sagemaker-2017-07-24.normal.json | 1 + .../aiops-2018-05-10.endpoint-rule-set.json | 350 ++++ .../aiops-2018-05-10.endpoint-tests.json | 314 ++++ .../codegen/cpp-smoke-tests/smithy-build.json | 1637 +++++++++-------- 141 files changed, 10637 insertions(+), 1029 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-aiops/CMakeLists.txt create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp create mode 100644 generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h create mode 100644 generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h create mode 100644 generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp create mode 100644 generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h create mode 100644 generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h create mode 100644 generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp create mode 100644 generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp create mode 100644 generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp create mode 100644 generated/tests/aiops-gen-tests/CMakeLists.txt create mode 100644 generated/tests/aiops-gen-tests/RunTests.cpp create mode 100644 tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json create mode 100644 tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json create mode 100644 tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json diff --git a/VERSION b/VERSION index aa00aa5d0a5..6d433588b7c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.590 \ No newline at end of file +1.11.591 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt b/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt new file mode 100644 index 00000000000..f10eb67fd7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-aiops "C++ SDK for the AWS aiops service" aws-cpp-sdk-core) + +file(GLOB AWS_AIOPS_HEADERS + "include/aws/aiops/*.h" +) + +file(GLOB AWS_AIOPS_MODEL_HEADERS + "include/aws/aiops/model/*.h" +) + +file(GLOB AWS_AIOPS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_AIOPS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB AIOPS_UNIFIED_HEADERS + ${AWS_AIOPS_HEADERS} + ${AWS_AIOPS_MODEL_HEADERS} +) + +file(GLOB AIOPS_UNITY_SRC + ${AWS_AIOPS_SOURCE} + ${AWS_AIOPS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("AIOPS" AIOPS_UNITY_SRC) +endif() + +file(GLOB AIOPS_SRC + ${AIOPS_UNIFIED_HEADERS} + ${AIOPS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\aiops" FILES ${AWS_AIOPS_HEADERS}) + source_group("Header Files\\aws\\aiops\\model" FILES ${AWS_AIOPS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_AIOPS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_AIOPS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(AIOPS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${AIOPS_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_AIOPS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_AIOPS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/aiops) +install (FILES ${AWS_AIOPS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/aiops/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h new file mode 100644 index 00000000000..ab9102853d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h @@ -0,0 +1,423 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ + /** + *

    The Amazon Q Developer operational investigations feature is a generative + * AI-powered assistant that can help you respond to incidents in your system. It + * uses generative AI to scan your system's telemetry and quickly surface + * suggestions that might be related to your issue. These suggestions include + * metrics, logs, deployment events, and root-cause hypotheses.

    You can use + * API actions to create, manage, and delete investigation groups and investigation + * group policies. To start and manage investigations, you must use the CloudWatch + * console.

    + */ + class AWS_AIOPS_API AIOpsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef AIOpsClientConfiguration ClientConfigurationType; + typedef AIOpsEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + AIOpsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + AIOpsClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~AIOpsClient(); + + /** + *

    Creates an investigation group in your account. Creating an + * investigation group is a one-time setup task for each Region in your account. It + * is a necessary task to be able to perform investigations.

    Settings in the + * investigation group help you centrally manage the common properties of your + * investigations, such as the following:

    • Who can access the + * investigations

    • Whether investigation data is encrypted with a + * customer managed Key Management Service key.

    • How long + * investigations and their data are retained by default.

    + *

    Currently, you can have one investigation group in each Region in your + * account. Each investigation in a Region is a part of the investigation group in + * that Region

    To create an investigation group and set up Amazon Q + * Developer operational investigations, you must be signed in to an IAM principal + * that has the either the AIOpsConsoleAdminPolicy or the + * AdministratorAccess IAM policy attached, or to an account that has + * similar permissions.

    You can configure CloudWatch alarms to + * start investigations and add events to investigations. If you create your + * investigation group with CreateInvestigationGroup and you want to + * enable alarms to do this, you must use PutInvestigationGroupPolicy + * to create a resource policy that grants this permission to CloudWatch alarms. + *

    For more information about configuring CloudWatch alarms to work with + * Amazon Q Developer operational investigations, see

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::CreateInvestigationGroupOutcome CreateInvestigationGroup(const Model::CreateInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for CreateInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateInvestigationGroupOutcomeCallable CreateInvestigationGroupCallable(const CreateInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::CreateInvestigationGroup, request); + } + + /** + * An Async wrapper for CreateInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateInvestigationGroupAsync(const CreateInvestigationGroupRequestT& request, const CreateInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::CreateInvestigationGroup, request, handler, context); + } + + /** + *

    Deletes the specified investigation group from your account. You can + * currently have one investigation group per Region in your account. After you + * delete an investigation group, you can later create a new investigation group in + * the same Region.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteInvestigationGroupOutcome DeleteInvestigationGroup(const Model::DeleteInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for DeleteInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInvestigationGroupOutcomeCallable DeleteInvestigationGroupCallable(const DeleteInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::DeleteInvestigationGroup, request); + } + + /** + * An Async wrapper for DeleteInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInvestigationGroupAsync(const DeleteInvestigationGroupRequestT& request, const DeleteInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::DeleteInvestigationGroup, request, handler, context); + } + + /** + *

    Removes the IAM resource policy from being associated with the investigation + * group that you specify.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteInvestigationGroupPolicyOutcome DeleteInvestigationGroupPolicy(const Model::DeleteInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for DeleteInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInvestigationGroupPolicyOutcomeCallable DeleteInvestigationGroupPolicyCallable(const DeleteInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::DeleteInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for DeleteInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInvestigationGroupPolicyAsync(const DeleteInvestigationGroupPolicyRequestT& request, const DeleteInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::DeleteInvestigationGroupPolicy, request, handler, context); + } + + /** + *

    Returns the configuration information for the specified investigation + * group.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetInvestigationGroupOutcome GetInvestigationGroup(const Model::GetInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for GetInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvestigationGroupOutcomeCallable GetInvestigationGroupCallable(const GetInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::GetInvestigationGroup, request); + } + + /** + * An Async wrapper for GetInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvestigationGroupAsync(const GetInvestigationGroupRequestT& request, const GetInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::GetInvestigationGroup, request, handler, context); + } + + /** + *

    Returns the IAM resource policy that is associated with the specified + * investigation group.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetInvestigationGroupPolicyOutcome GetInvestigationGroupPolicy(const Model::GetInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for GetInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvestigationGroupPolicyOutcomeCallable GetInvestigationGroupPolicyCallable(const GetInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::GetInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for GetInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvestigationGroupPolicyAsync(const GetInvestigationGroupPolicyRequestT& request, const GetInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::GetInvestigationGroupPolicy, request, handler, context); + } + + /** + *

    Returns the ARN and name of each investigation group in the + * account.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListInvestigationGroupsOutcome ListInvestigationGroups(const Model::ListInvestigationGroupsRequest& request = {}) const; + + /** + * A Callable wrapper for ListInvestigationGroups that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInvestigationGroupsOutcomeCallable ListInvestigationGroupsCallable(const ListInvestigationGroupsRequestT& request = {}) const + { + return SubmitCallable(&AIOpsClient::ListInvestigationGroups, request); + } + + /** + * An Async wrapper for ListInvestigationGroups that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInvestigationGroupsAsync(const ListInvestigationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListInvestigationGroupsRequestT& request = {}) const + { + return SubmitAsync(&AIOpsClient::ListInvestigationGroups, request, handler, context); + } + + /** + *

    Displays the tags associated with a Amazon Q Developer operational + * investigations resource. Currently, investigation groups support + * tagging.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::ListTagsForResource, request, handler, context); + } + + /** + *

    Creates an IAM resource policy and assigns it to the specified investigation + * group.

    If you create your investigation group with + * CreateInvestigationGroup and you want to enable CloudWatch alarms + * to create investigations and add events to investigations, you must use this + * operation to create a policy similar to this example.

    { "Version": + * "2008-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": + * "aiops.alarms.cloudwatch.amazonaws.com" }, "Action": + * ["aiops:CreateInvestigation", "aiops:CreateInvestigationEvent"], "Resource": + * "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" + * }, "ArnLike": { "aws:SourceArn": + * "arn:aws:cloudwatch:region:account-id:alarm:*" } } }] } + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::PutInvestigationGroupPolicyOutcome PutInvestigationGroupPolicy(const Model::PutInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for PutInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutInvestigationGroupPolicyOutcomeCallable PutInvestigationGroupPolicyCallable(const PutInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::PutInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for PutInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutInvestigationGroupPolicyAsync(const PutInvestigationGroupPolicyRequestT& request, const PutInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::PutInvestigationGroupPolicy, request, handler, context); + } + + /** + *

    Assigns one or more tags (key-value pairs) to the specified resource.

    + *

    Tags can help you organize and categorize your resources. You can also use + * them to scope user permissions by granting a user permission to access or change + * only resources with certain tag values.

    Tags don't have any semantic + * meaning to Amazon Web Services and are interpreted strictly as strings of + * characters.

    You can associate as many as 50 tags with a + * resource.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::TagResource, request, handler, context); + } + + /** + *

    Removes one or more tags from the specified resource.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::UntagResource, request, handler, context); + } + + /** + *

    Updates the configuration of the specified investigation group.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateInvestigationGroupOutcome UpdateInvestigationGroup(const Model::UpdateInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for UpdateInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateInvestigationGroupOutcomeCallable UpdateInvestigationGroupCallable(const UpdateInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::UpdateInvestigationGroup, request); + } + + /** + * An Async wrapper for UpdateInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateInvestigationGroupAsync(const UpdateInvestigationGroupRequestT& request, const UpdateInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::UpdateInvestigationGroup, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const AIOpsClientConfiguration& clientConfiguration); + + AIOpsClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h new file mode 100644 index 00000000000..0db7dd8cbc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace AIOps +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using AIOpsClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; +using AIOpsBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the AIOps Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using AIOpsEndpointProviderBase = + EndpointProviderBase; + +using AIOpsDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_AIOPS_API AIOpsEndpointProvider : public AIOpsDefaultEpProviderBase +{ +public: + using AIOpsResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + AIOpsEndpointProvider() + : AIOpsDefaultEpProviderBase(Aws::AIOps::AIOpsEndpointRules::GetRulesBlob(), Aws::AIOps::AIOpsEndpointRules::RulesBlobSize) + {} + + ~AIOpsEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h new file mode 100644 index 00000000000..8c4cb24298a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AIOps +{ +class AIOpsEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h new file mode 100644 index 00000000000..66fd626c6d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_AIOPS_API AIOpsErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h new file mode 100644 index 00000000000..ff9ab0f49d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +enum class AIOpsErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + FORBIDDEN, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_AIOPS_API AIOpsError : public Aws::Client::AWSError +{ +public: + AIOpsError() {} + AIOpsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace AIOpsErrorMapper +{ + AWS_AIOPS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h new file mode 100644 index 00000000000..b36f403ca8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ + class AWS_AIOPS_API AIOpsRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~AIOpsRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2018-05-10")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h new file mode 100644 index 00000000000..f6f1175ee44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in AIOpsClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in AIOpsClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace AIOps + { + using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; + using AIOpsEndpointProviderBase = Aws::AIOps::Endpoint::AIOpsEndpointProviderBase; + using AIOpsEndpointProvider = Aws::AIOps::Endpoint::AIOpsEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in AIOpsClient header */ + class CreateInvestigationGroupRequest; + class DeleteInvestigationGroupRequest; + class DeleteInvestigationGroupPolicyRequest; + class GetInvestigationGroupRequest; + class GetInvestigationGroupPolicyRequest; + class ListInvestigationGroupsRequest; + class ListTagsForResourceRequest; + class PutInvestigationGroupPolicyRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateInvestigationGroupRequest; + /* End of service model forward declarations required in AIOpsClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateInvestigationGroupOutcome; + typedef Aws::Utils::Outcome DeleteInvestigationGroupOutcome; + typedef Aws::Utils::Outcome DeleteInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome GetInvestigationGroupOutcome; + typedef Aws::Utils::Outcome GetInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome ListInvestigationGroupsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome PutInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateInvestigationGroupOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateInvestigationGroupOutcomeCallable; + typedef std::future DeleteInvestigationGroupOutcomeCallable; + typedef std::future DeleteInvestigationGroupPolicyOutcomeCallable; + typedef std::future GetInvestigationGroupOutcomeCallable; + typedef std::future GetInvestigationGroupPolicyOutcomeCallable; + typedef std::future ListInvestigationGroupsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future PutInvestigationGroupPolicyOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateInvestigationGroupOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class AIOpsClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateInvestigationGroupResponseReceivedHandler; + typedef std::function&) > DeleteInvestigationGroupResponseReceivedHandler; + typedef std::function&) > DeleteInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > GetInvestigationGroupResponseReceivedHandler; + typedef std::function&) > GetInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > ListInvestigationGroupsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > PutInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateInvestigationGroupResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h new file mode 100644 index 00000000000..bffe4aab1a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_AIOPS_EXPORTS + #define AWS_AIOPS_API __declspec(dllexport) + #else + #define AWS_AIOPS_API __declspec(dllimport) + #endif /* AWS_AIOPS_EXPORTS */ + #define AWS_AIOPS_EXTERN + #else + #define AWS_AIOPS_API + #define AWS_AIOPS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_AIOPS_API + #define AWS_AIOPS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h new file mode 100644 index 00000000000..439e330a938 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class CreateInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API CreateInvestigationGroupRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    A name for the investigation group.

    + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateInvestigationGroupRequest& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specify the ARN of the IAM role that Amazon Q Developer operational + * investigations will use when it gathers investigation data. The permissions in + * this role determine which of your resources that Amazon Q Developer operational + * investigations will have access to during investigations.

    For more + * information, see How + * to control what data Amazon Q has access to during investigations.

    + */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + CreateInvestigationGroupRequest& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Use this structure if you want to use a customer managed KMS key to encrypt + * your investigation data. If you omit this parameter, Amazon Q Developer + * operational investigations will use an Amazon Web Services key to encrypt the + * data. For more information, see Encryption + * of investigation data.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + CreateInvestigationGroupRequest& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specify how long that investigation data is kept. For more information, see + * Operational + * investigation data retention.

    If you omit this parameter, the + * default of 90 days is used.

    + */ + inline long long GetRetentionInDays() const { return m_retentionInDays; } + inline bool RetentionInDaysHasBeenSet() const { return m_retentionInDaysHasBeenSet; } + inline void SetRetentionInDays(long long value) { m_retentionInDaysHasBeenSet = true; m_retentionInDays = value; } + inline CreateInvestigationGroupRequest& WithRetentionInDays(long long value) { SetRetentionInDays(value); return *this;} + ///@} + + ///@{ + /** + *

    A list of key-value pairs to associate with the investigation group. You can + * associate as many as 50 tags with an investigation group. To be able to + * associate tags when you create the investigation group, you must have the + * cloudwatch:TagResource permission.

    Tags can help you + * organize and categorize your resources. You can also use them to scope user + * permissions by granting a user permission to access or change only resources + * with certain tag values.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateInvestigationGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateInvestigationGroupRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    Enter the existing custom tag keys for custom applications in your system. + * Resource tags help Amazon Q narrow the search space when it is unable to + * discover definite relationships between resources. For example, to discover that + * an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover + * this relationship using data sources such as X-Ray and CloudWatch Application + * Signals. However, if you haven't deployed these features, Amazon Q will attempt + * to identify possible relationships. Tag boundaries can be used to narrow the + * resources that will be discovered by Amazon Q in these cases.

    You don't + * need to enter tags created by myApplications or CloudFormation, because Amazon Q + * can automatically detect those tags.

    + */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + inline bool TagKeyBoundariesHasBeenSet() const { return m_tagKeyBoundariesHasBeenSet; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + CreateInvestigationGroupRequest& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + CreateInvestigationGroupRequest& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Use this structure to integrate Amazon Q Developer operational investigations + * with Amazon Q in chat applications. This structure is a string array. For the + * first string, specify the ARN of an Amazon SNS topic. For the array of strings, + * specify the ARNs of one or more Amazon Q in chat applications configurations + * that you want to associate with that topic. For more information about these + * configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

    + */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + inline bool ChatbotNotificationChannelHasBeenSet() const { return m_chatbotNotificationChannelHasBeenSet; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + CreateInvestigationGroupRequest& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + CreateInvestigationGroupRequest& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    Specify true to enable Amazon Q Developer operational + * investigations to have access to change events that are recorded by CloudTrail. + * The default is true.

    + */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline bool IsCloudTrailEventHistoryEnabledHasBeenSet() const { return m_isCloudTrailEventHistoryEnabledHasBeenSet; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline CreateInvestigationGroupRequest& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + long long m_retentionInDays{0}; + bool m_retentionInDaysHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h new file mode 100644 index 00000000000..3c040776bba --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class CreateInvestigationGroupResult + { + public: + AWS_AIOPS_API CreateInvestigationGroupResult() = default; + AWS_AIOPS_API CreateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API CreateInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the investigation group that you just created.

    + */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + CreateInvestigationGroupResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..de91e8e33f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class DeleteInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API DeleteInvestigationGroupPolicyRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to remove the policy from.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..e9c7a6cf19a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class DeleteInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h new file mode 100644 index 00000000000..4f6cc0b42e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class DeleteInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API DeleteInvestigationGroupRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to delete.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h new file mode 100644 index 00000000000..a9937a9fdf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

    Use this structure to specify a customer managed KMS key to use to encrypt + * investigation data.

    See Also:

    AWS + * API Reference

    + */ + class EncryptionConfiguration + { + public: + AWS_AIOPS_API EncryptionConfiguration() = default; + AWS_AIOPS_API EncryptionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API EncryptionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Displays whether investigation data is encrypted by a customer managed key or + * an Amazon Web Services owned kay.

    + */ + inline EncryptionConfigurationType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(EncryptionConfigurationType value) { m_typeHasBeenSet = true; m_type = value; } + inline EncryptionConfiguration& WithType(EncryptionConfigurationType value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

    If the investigation group uses a customer managed key for encryption, this + * field displays the ID of that key.

    + */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + EncryptionConfiguration& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + private: + + EncryptionConfigurationType m_type{EncryptionConfigurationType::NOT_SET}; + bool m_typeHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h new file mode 100644 index 00000000000..555c6a2f070 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + enum class EncryptionConfigurationType + { + NOT_SET, + AWS_OWNED_KEY, + CUSTOMER_MANAGED_KMS_KEY + }; + +namespace EncryptionConfigurationTypeMapper +{ +AWS_AIOPS_API EncryptionConfigurationType GetEncryptionConfigurationTypeForName(const Aws::String& name); + +AWS_AIOPS_API Aws::String GetNameForEncryptionConfigurationType(EncryptionConfigurationType value); +} // namespace EncryptionConfigurationTypeMapper +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..6b336ebf0cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class GetInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API GetInvestigationGroupPolicyRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to view the policy of.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..0ed82077554 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class GetInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API GetInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API GetInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API GetInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the investigation group that you want to + * view the policy of.

    + */ + inline const Aws::String& GetInvestigationGroupArn() const { return m_investigationGroupArn; } + template + void SetInvestigationGroupArn(InvestigationGroupArnT&& value) { m_investigationGroupArnHasBeenSet = true; m_investigationGroupArn = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithInvestigationGroupArn(InvestigationGroupArnT&& value) { SetInvestigationGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The policy, in JSON format.

    + */ + inline const Aws::String& GetPolicy() const { return m_policy; } + template + void SetPolicy(PolicyT&& value) { m_policyHasBeenSet = true; m_policy = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithPolicy(PolicyT&& value) { SetPolicy(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_investigationGroupArn; + bool m_investigationGroupArnHasBeenSet = false; + + Aws::String m_policy; + bool m_policyHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h new file mode 100644 index 00000000000..1838f8104fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class GetInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API GetInvestigationGroupRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to view.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h new file mode 100644 index 00000000000..0cec6724693 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h @@ -0,0 +1,240 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class GetInvestigationGroupResult + { + public: + AWS_AIOPS_API GetInvestigationGroupResult() = default; + AWS_AIOPS_API GetInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API GetInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The name of the user who created the investigation group.

    + */ + inline const Aws::String& GetCreatedBy() const { return m_createdBy; } + template + void SetCreatedBy(CreatedByT&& value) { m_createdByHasBeenSet = true; m_createdBy = std::forward(value); } + template + GetInvestigationGroupResult& WithCreatedBy(CreatedByT&& value) { SetCreatedBy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time that the investigation group was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetInvestigationGroupResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the user who created the investigation group.

    + */ + inline const Aws::String& GetLastModifiedBy() const { return m_lastModifiedBy; } + template + void SetLastModifiedBy(LastModifiedByT&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::forward(value); } + template + GetInvestigationGroupResult& WithLastModifiedBy(LastModifiedByT&& value) { SetLastModifiedBy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time that the investigation group was most recently + * modified.

    + */ + inline const Aws::Utils::DateTime& GetLastModifiedAt() const { return m_lastModifiedAt; } + template + void SetLastModifiedAt(LastModifiedAtT&& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = std::forward(value); } + template + GetInvestigationGroupResult& WithLastModifiedAt(LastModifiedAtT&& value) { SetLastModifiedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the investigation group.

    + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetInvestigationGroupResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the investigation group.

    + */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + GetInvestigationGroupResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the IAM role that the investigation group uses for permissions to + * gather data.

    + */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + GetInvestigationGroupResult& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the customer managed KMS key that the investigation group uses to + * encrypt data, if there is one. If not, the investigation group uses an Amazon + * Web Services key to encrypt the data.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + GetInvestigationGroupResult& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies how long that investigation data is kept.

    + */ + inline long long GetRetentionInDays() const { return m_retentionInDays; } + inline void SetRetentionInDays(long long value) { m_retentionInDaysHasBeenSet = true; m_retentionInDays = value; } + inline GetInvestigationGroupResult& WithRetentionInDays(long long value) { SetRetentionInDays(value); return *this;} + ///@} + + ///@{ + /** + *

    This structure is a string array. The first string is the ARN of a Amazon SNS + * topic. The array of strings display the ARNs of Amazon Q in chat applications + * configurations that are associated with that topic. For more information about + * these configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

    + */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + GetInvestigationGroupResult& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + GetInvestigationGroupResult& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    Displays the custom tag keys for custom applications in your system that you + * have specified in the investigation group. Resource tags help Amazon Q narrow + * the search space when it is unable to discover definite relationships between + * resources.

    + */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + GetInvestigationGroupResult& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + GetInvestigationGroupResult& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Specifies whether Amazon Q Developer operational investigationshas access to + * change events that are recorded by CloudTrail.

    + */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline GetInvestigationGroupResult& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::String m_lastModifiedBy; + bool m_lastModifiedByHasBeenSet = false; + + Aws::Utils::DateTime m_lastModifiedAt{}; + bool m_lastModifiedAtHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + long long m_retentionInDays{0}; + bool m_retentionInDaysHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h new file mode 100644 index 00000000000..711b25c6265 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

    This structure contains information about one investigation group in the + * account.

    See Also:

    AWS + * API Reference

    + */ + class ListInvestigationGroupsModel + { + public: + AWS_AIOPS_API ListInvestigationGroupsModel() = default; + AWS_AIOPS_API ListInvestigationGroupsModel(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API ListInvestigationGroupsModel& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the investigation group.

    + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + ListInvestigationGroupsModel& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the investigation group.

    + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ListInvestigationGroupsModel& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h new file mode 100644 index 00000000000..98d07f58bcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AIOps +{ +namespace Model +{ + + /** + */ + class ListInvestigationGroupsRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API ListInvestigationGroupsRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListInvestigationGroups"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + AWS_AIOPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInvestigationGroupsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

    + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListInvestigationGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h new file mode 100644 index 00000000000..d09ccc35b59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class ListInvestigationGroupsResult + { + public: + AWS_AIOPS_API ListInvestigationGroupsResult() = default; + AWS_AIOPS_API ListInvestigationGroupsResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API ListInvestigationGroupsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    Include this value in your next use of this operation to get the next set of + * service operations.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInvestigationGroupsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    An array of structures, where each structure contains the information about + * one investigation group in the account.

    + */ + inline const Aws::Vector& GetInvestigationGroups() const { return m_investigationGroups; } + template> + void SetInvestigationGroups(InvestigationGroupsT&& value) { m_investigationGroupsHasBeenSet = true; m_investigationGroups = std::forward(value); } + template> + ListInvestigationGroupsResult& WithInvestigationGroups(InvestigationGroupsT&& value) { SetInvestigationGroups(std::forward(value)); return *this;} + template + ListInvestigationGroupsResult& AddInvestigationGroups(InvestigationGroupsT&& value) { m_investigationGroupsHasBeenSet = true; m_investigationGroups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListInvestigationGroupsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_investigationGroups; + bool m_investigationGroupsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..9d7c95a4a2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API ListTagsForResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the Amazon Q Developer operational investigations resource that + * you want to view tags for. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

    The ARN format for an + * investigation group is + * arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id + * .

    + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ListTagsForResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..2bf79045026 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_AIOPS_API ListTagsForResourceResult() = default; + AWS_AIOPS_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of tag keys and values associated with the resource you + * specified.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + ListTagsForResourceResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + ListTagsForResourceResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListTagsForResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..1c9acf23170 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class PutInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API PutInvestigationGroupPolicyRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to assign the policy to.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + PutInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The policy, in JSON format.

    + */ + inline const Aws::String& GetPolicy() const { return m_policy; } + inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; } + template + void SetPolicy(PolicyT&& value) { m_policyHasBeenSet = true; m_policy = std::forward(value); } + template + PutInvestigationGroupPolicyRequest& WithPolicy(PolicyT&& value) { SetPolicy(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_policy; + bool m_policyHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..74f1d1b9845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class PutInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API PutInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API PutInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API PutInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN of the investigation group that will use this policy.

    + */ + inline const Aws::String& GetInvestigationGroupArn() const { return m_investigationGroupArn; } + template + void SetInvestigationGroupArn(InvestigationGroupArnT&& value) { m_investigationGroupArnHasBeenSet = true; m_investigationGroupArn = std::forward(value); } + template + PutInvestigationGroupPolicyResult& WithInvestigationGroupArn(InvestigationGroupArnT&& value) { SetInvestigationGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + PutInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_investigationGroupArn; + bool m_investigationGroupArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..c465468b030 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

    This request exceeds a service quota.

    See Also:

    AWS + * API Reference

    + */ + class ServiceQuotaExceededException + { + public: + AWS_AIOPS_API ServiceQuotaExceededException() = default; + AWS_AIOPS_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ServiceQuotaExceededException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The resource that caused the quota exception.

    + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of resource that caused the quota exception.

    + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    This name of the service associated with the error.

    + */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ServiceQuotaExceededException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    This quota that was exceeded.

    + */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ServiceQuotaExceededException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h new file mode 100644 index 00000000000..362b024a53d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API TagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource that you want to apply the + * tags to. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

    + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + TagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of key-value pairs to associate with the resource.

    + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagResourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagResourceRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h new file mode 100644 index 00000000000..71f3c575ddb --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_AIOPS_API TagResourceResult() = default; + AWS_AIOPS_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + TagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h new file mode 100644 index 00000000000..04b51a2a605 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AIOps +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API UntagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + AWS_AIOPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource that you want to remove the + * tags from. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

    + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + UntagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of tag keys to remove from the resource.

    + */ + inline const Aws::Vector& GetTagKeys() const { return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + template> + void SetTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::forward(value); } + template> + UntagResourceRequest& WithTagKeys(TagKeysT&& value) { SetTagKeys(std::forward(value)); return *this;} + template + UntagResourceRequest& AddTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h new file mode 100644 index 00000000000..c4672d9461e --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_AIOPS_API UntagResourceResult() = default; + AWS_AIOPS_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UntagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h new file mode 100644 index 00000000000..b268b28f7b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h @@ -0,0 +1,169 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class UpdateInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API UpdateInvestigationGroupRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    Specify either the name or the ARN of the investigation group that you want + * to modify.

    + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specify this field if you want to change the IAM role that Amazon Q Developer + * operational investigations will use when it gathers investigation data. To do + * so, specify the ARN of the new role.

    The permissions in this role + * determine which of your resources that Amazon Q Developer operational + * investigations will have access to during investigations.

    For more + * information, see EHow + * to control what data Amazon Q has access to during investigations.

    + */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Use this structure if you want to use a customer managed KMS key to encrypt + * your investigation data. If you omit this parameter, Amazon Q Developer + * operational investigations will use an Amazon Web Services key to encrypt the + * data. For more information, see Encryption + * of investigation data.

    + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Enter the existing custom tag keys for custom applications in your system. + * Resource tags help Amazon Q narrow the search space when it is unable to + * discover definite relationships between resources. For example, to discover that + * an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover + * this relationship using data sources such as X-Ray and CloudWatch Application + * Signals. However, if you haven't deployed these features, Amazon Q will attempt + * to identify possible relationships. Tag boundaries can be used to narrow the + * resources that will be discovered by Amazon Q in these cases.

    You don't + * need to enter tags created by myApplications or CloudFormation, because Amazon Q + * can automatically detect those tags.

    + */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + inline bool TagKeyBoundariesHasBeenSet() const { return m_tagKeyBoundariesHasBeenSet; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + UpdateInvestigationGroupRequest& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + UpdateInvestigationGroupRequest& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

    Use this structure to integrate Amazon Q Developer operational investigations + * with Amazon Q in chat applications. This structure is a string array. For the + * first string, specify the ARN of an Amazon SNS topic. For the array of strings, + * specify the ARNs of one or more Amazon Q in chat applications configurations + * that you want to associate with that topic. For more information about these + * configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

    + */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + inline bool ChatbotNotificationChannelHasBeenSet() const { return m_chatbotNotificationChannelHasBeenSet; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + UpdateInvestigationGroupRequest& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + UpdateInvestigationGroupRequest& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    Specify true to enable Amazon Q Developer operational + * investigations to have access to change events that are recorded by CloudTrail. + * The default is true.

    + */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline bool IsCloudTrailEventHistoryEnabledHasBeenSet() const { return m_isCloudTrailEventHistoryEnabledHasBeenSet; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline UpdateInvestigationGroupRequest& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h new file mode 100644 index 00000000000..7138989b8b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class UpdateInvestigationGroupResult + { + public: + AWS_AIOPS_API UpdateInvestigationGroupResult() = default; + AWS_AIOPS_API UpdateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API UpdateInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp new file mode 100644 index 00000000000..e4b1e1f5c2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp @@ -0,0 +1,536 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::AIOps; +using namespace Aws::AIOps::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace AIOps + { + const char SERVICE_NAME[] = "aiops"; + const char ALLOCATION_TAG[] = "AIOpsClient"; + } +} +const char* AIOpsClient::GetServiceName() {return SERVICE_NAME;} +const char* AIOpsClient::GetAllocationTag() {return ALLOCATION_TAG;} + +AIOpsClient::AIOpsClient(const AIOps::AIOpsClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const AIOps::AIOpsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const AIOps::AIOpsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + AIOpsClient::AIOpsClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +AIOpsClient::~AIOpsClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& AIOpsClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void AIOpsClient::init(const AIOps::AIOpsClientConfiguration& config) +{ + AWSClient::SetServiceClientName("AIOps"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void AIOpsClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateInvestigationGroupOutcome AIOpsClient::CreateInvestigationGroup(const CreateInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(CreateInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateInvestigationGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateInvestigationGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups"); + return CreateInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteInvestigationGroupOutcome AIOpsClient::DeleteInvestigationGroup(const DeleteInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInvestigationGroup", "Required field: Identifier, is not set"); + return DeleteInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInvestigationGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteInvestigationGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return DeleteInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteInvestigationGroupPolicyOutcome AIOpsClient::DeleteInvestigationGroupPolicy(const DeleteInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return DeleteInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInvestigationGroupPolicy", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteInvestigationGroupPolicyOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return DeleteInvestigationGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetInvestigationGroupOutcome AIOpsClient::GetInvestigationGroup(const GetInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetInvestigationGroup", "Required field: Identifier, is not set"); + return GetInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvestigationGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetInvestigationGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return GetInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetInvestigationGroupPolicyOutcome AIOpsClient::GetInvestigationGroupPolicy(const GetInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return GetInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvestigationGroupPolicy", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetInvestigationGroupPolicyOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return GetInvestigationGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListInvestigationGroupsOutcome AIOpsClient::ListInvestigationGroups(const ListInvestigationGroupsRequest& request) const +{ + AWS_OPERATION_GUARD(ListInvestigationGroups); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInvestigationGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInvestigationGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInvestigationGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInvestigationGroups", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListInvestigationGroupsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListInvestigationGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups"); + return ListInvestigationGroupsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome AIOpsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutInvestigationGroupPolicyOutcome AIOpsClient::PutInvestigationGroupPolicy(const PutInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(PutInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return PutInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutInvestigationGroupPolicy", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutInvestigationGroupPolicyOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return PutInvestigationGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome AIOpsClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome AIOpsClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateInvestigationGroupOutcome AIOpsClient::UpdateInvestigationGroup(const UpdateInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateInvestigationGroup", "Required field: Identifier, is not set"); + return UpdateInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateInvestigationGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateInvestigationGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return UpdateInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp new file mode 100644 index 00000000000..19bce6f075b --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp new file mode 100644 index 00000000000..4bf0f031e1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace AIOps +{ +const size_t AIOpsEndpointRules::RulesBlobStrLen = 3720; +const size_t AIOpsEndpointRules::RulesBlobSize = 3721; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T', +'h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', +'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', +'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', +' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', +'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', +'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', +'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', +'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', +'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', +'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', +'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', +'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', +'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', +' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', +'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', +'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', +'s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','a','i','o','p','s','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', +'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', +'I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a', +'b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b', +'o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S', +'"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','i','o','p','s','-','f','i','p', +'s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r', +'t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F', +'I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','a','i','o','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a', +'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','a','i','o','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s', +'i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* AIOpsEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp new file mode 100644 index 00000000000..427dd2057b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::AIOps; + +AWSError AIOpsErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = AIOpsErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp new file mode 100644 index 00000000000..e906c715afd --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::AIOps; +using namespace Aws::AIOps::Model; + +namespace Aws +{ +namespace AIOps +{ +template<> AWS_AIOPS_API ServiceQuotaExceededException AIOpsError::GetModeledError() +{ + assert(this->GetErrorType() == AIOpsErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +namespace AIOpsErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int FORBIDDEN_HASH = HashingUtils::HashString("ForbiddenException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(AIOpsErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(AIOpsErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(AIOpsErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + else if (hashCode == FORBIDDEN_HASH) + { + return AWSError(static_cast(AIOpsErrors::FORBIDDEN), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace AIOpsErrorMapper +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp new file mode 100644 index 00000000000..e16cfba1d07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace AIOps +{ +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..98afa3ed9de --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateInvestigationGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + + if(m_retentionInDaysHasBeenSet) + { + payload.WithInt64("retentionInDays", m_retentionInDays); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_tagKeyBoundariesHasBeenSet) + { + Aws::Utils::Array tagKeyBoundariesJsonList(m_tagKeyBoundaries.size()); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString(m_tagKeyBoundaries[tagKeyBoundariesIndex]); + } + payload.WithArray("tagKeyBoundaries", std::move(tagKeyBoundariesJsonList)); + + } + + if(m_chatbotNotificationChannelHasBeenSet) + { + JsonValue chatbotNotificationChannelJsonMap; + for(auto& chatbotNotificationChannelItem : m_chatbotNotificationChannel) + { + Aws::Utils::Array chatConfigurationArnsJsonList(chatbotNotificationChannelItem.second.size()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString(chatbotNotificationChannelItem.second[chatConfigurationArnsIndex]); + } + chatbotNotificationChannelJsonMap.WithArray(chatbotNotificationChannelItem.first, std::move(chatConfigurationArnsJsonList)); + } + payload.WithObject("chatbotNotificationChannel", std::move(chatbotNotificationChannelJsonMap)); + + } + + if(m_isCloudTrailEventHistoryEnabledHasBeenSet) + { + payload.WithBool("isCloudTrailEventHistoryEnabled", m_isCloudTrailEventHistoryEnabled); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp new file mode 100644 index 00000000000..7a2d031b6cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateInvestigationGroupResult::CreateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateInvestigationGroupResult& CreateInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..fe349806e48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteInvestigationGroupPolicyRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..8d7dcf4d860 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteInvestigationGroupPolicyResult::DeleteInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteInvestigationGroupPolicyResult& DeleteInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..cf91a9bbfc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteInvestigationGroupRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp new file mode 100644 index 00000000000..d1f794d895d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +EncryptionConfiguration::EncryptionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +EncryptionConfiguration& EncryptionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = EncryptionConfigurationTypeMapper::GetEncryptionConfigurationTypeForName(jsonValue.GetString("type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + m_kmsKeyIdHasBeenSet = true; + } + return *this; +} + +JsonValue EncryptionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", EncryptionConfigurationTypeMapper::GetNameForEncryptionConfigurationType(m_type)); + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp new file mode 100644 index 00000000000..715bd9dfe09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace AIOps + { + namespace Model + { + namespace EncryptionConfigurationTypeMapper + { + + static const int AWS_OWNED_KEY_HASH = HashingUtils::HashString("AWS_OWNED_KEY"); + static const int CUSTOMER_MANAGED_KMS_KEY_HASH = HashingUtils::HashString("CUSTOMER_MANAGED_KMS_KEY"); + + + EncryptionConfigurationType GetEncryptionConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_OWNED_KEY_HASH) + { + return EncryptionConfigurationType::AWS_OWNED_KEY; + } + else if (hashCode == CUSTOMER_MANAGED_KMS_KEY_HASH) + { + return EncryptionConfigurationType::CUSTOMER_MANAGED_KMS_KEY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EncryptionConfigurationType::NOT_SET; + } + + Aws::String GetNameForEncryptionConfigurationType(EncryptionConfigurationType enumValue) + { + switch(enumValue) + { + case EncryptionConfigurationType::NOT_SET: + return {}; + case EncryptionConfigurationType::AWS_OWNED_KEY: + return "AWS_OWNED_KEY"; + case EncryptionConfigurationType::CUSTOMER_MANAGED_KMS_KEY: + return "CUSTOMER_MANAGED_KMS_KEY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EncryptionConfigurationTypeMapper + } // namespace Model + } // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..acacbb3883d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetInvestigationGroupPolicyRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..7d25b90d9b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvestigationGroupPolicyResult::GetInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetInvestigationGroupPolicyResult& GetInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("investigationGroupArn")) + { + m_investigationGroupArn = jsonValue.GetString("investigationGroupArn"); + m_investigationGroupArnHasBeenSet = true; + } + if(jsonValue.ValueExists("policy")) + { + m_policy = jsonValue.GetString("policy"); + m_policyHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..ba827971be3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetInvestigationGroupRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp new file mode 100644 index 00000000000..c9915c66f49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvestigationGroupResult::GetInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetInvestigationGroupResult& GetInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + m_createdByHasBeenSet = true; + } + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("lastModifiedBy")) + { + m_lastModifiedBy = jsonValue.GetString("lastModifiedBy"); + m_lastModifiedByHasBeenSet = true; + } + if(jsonValue.ValueExists("lastModifiedAt")) + { + m_lastModifiedAt = jsonValue.GetDouble("lastModifiedAt"); + m_lastModifiedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("roleArn")) + { + m_roleArn = jsonValue.GetString("roleArn"); + m_roleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + m_encryptionConfigurationHasBeenSet = true; + } + if(jsonValue.ValueExists("retentionInDays")) + { + m_retentionInDays = jsonValue.GetInt64("retentionInDays"); + m_retentionInDaysHasBeenSet = true; + } + if(jsonValue.ValueExists("chatbotNotificationChannel")) + { + Aws::Map chatbotNotificationChannelJsonMap = jsonValue.GetObject("chatbotNotificationChannel").GetAllObjects(); + for(auto& chatbotNotificationChannelItem : chatbotNotificationChannelJsonMap) + { + Aws::Utils::Array chatConfigurationArnsJsonList = chatbotNotificationChannelItem.second.AsArray(); + Aws::Vector chatConfigurationArnsList; + chatConfigurationArnsList.reserve((size_t)chatConfigurationArnsJsonList.GetLength()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsList.push_back(chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString()); + } + m_chatbotNotificationChannel[chatbotNotificationChannelItem.first] = std::move(chatConfigurationArnsList); + } + m_chatbotNotificationChannelHasBeenSet = true; + } + if(jsonValue.ValueExists("tagKeyBoundaries")) + { + Aws::Utils::Array tagKeyBoundariesJsonList = jsonValue.GetArray("tagKeyBoundaries"); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + m_tagKeyBoundaries.push_back(tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString()); + } + m_tagKeyBoundariesHasBeenSet = true; + } + if(jsonValue.ValueExists("isCloudTrailEventHistoryEnabled")) + { + m_isCloudTrailEventHistoryEnabled = jsonValue.GetBool("isCloudTrailEventHistoryEnabled"); + m_isCloudTrailEventHistoryEnabledHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp new file mode 100644 index 00000000000..3adb38f8445 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +ListInvestigationGroupsModel::ListInvestigationGroupsModel(JsonView jsonValue) +{ + *this = jsonValue; +} + +ListInvestigationGroupsModel& ListInvestigationGroupsModel::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + return *this; +} + +JsonValue ListInvestigationGroupsModel::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp new file mode 100644 index 00000000000..0196600777b --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListInvestigationGroupsRequest::SerializePayload() const +{ + return {}; +} + +void ListInvestigationGroupsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp new file mode 100644 index 00000000000..851acc446a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInvestigationGroupsResult::ListInvestigationGroupsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInvestigationGroupsResult& ListInvestigationGroupsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("investigationGroups")) + { + Aws::Utils::Array investigationGroupsJsonList = jsonValue.GetArray("investigationGroups"); + for(unsigned investigationGroupsIndex = 0; investigationGroupsIndex < investigationGroupsJsonList.GetLength(); ++investigationGroupsIndex) + { + m_investigationGroups.push_back(investigationGroupsJsonList[investigationGroupsIndex].AsObject()); + } + m_investigationGroupsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..9707eb8f87a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..80e914204c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..af8c3a228ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String PutInvestigationGroupPolicyRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_policyHasBeenSet) + { + payload.WithString("policy", m_policy); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..af28eae0873 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutInvestigationGroupPolicyResult::PutInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutInvestigationGroupPolicyResult& PutInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("investigationGroupArn")) + { + m_investigationGroupArn = jsonValue.GetString("investigationGroupArn"); + m_investigationGroupArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..49c33f7e588 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + m_quotaCodeHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..e11ad017555 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..6789342d19c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..120c7544a6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..eb3f0f9ce74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..478f59e806c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateInvestigationGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + + if(m_tagKeyBoundariesHasBeenSet) + { + Aws::Utils::Array tagKeyBoundariesJsonList(m_tagKeyBoundaries.size()); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString(m_tagKeyBoundaries[tagKeyBoundariesIndex]); + } + payload.WithArray("tagKeyBoundaries", std::move(tagKeyBoundariesJsonList)); + + } + + if(m_chatbotNotificationChannelHasBeenSet) + { + JsonValue chatbotNotificationChannelJsonMap; + for(auto& chatbotNotificationChannelItem : m_chatbotNotificationChannel) + { + Aws::Utils::Array chatConfigurationArnsJsonList(chatbotNotificationChannelItem.second.size()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString(chatbotNotificationChannelItem.second[chatConfigurationArnsIndex]); + } + chatbotNotificationChannelJsonMap.WithArray(chatbotNotificationChannelItem.first, std::move(chatConfigurationArnsJsonList)); + } + payload.WithObject("chatbotNotificationChannel", std::move(chatbotNotificationChannelJsonMap)); + + } + + if(m_isCloudTrailEventHistoryEnabledHasBeenSet) + { + payload.WithBool("isCloudTrailEventHistoryEnabled", m_isCloudTrailEventHistoryEnabled); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp new file mode 100644 index 00000000000..e29105520fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateInvestigationGroupResult::UpdateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateInvestigationGroupResult& UpdateInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h index 6aaa19f367b..a298c5e62e2 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h @@ -17,10 +17,16 @@ namespace Aws namespace AutoScaling { /** - * Amazon EC2 Auto Scaling

    Amazon EC2 Auto Scaling is - * designed to automatically launch and terminate EC2 instances based on - * user-defined scaling policies, scheduled actions, and health checks.

    For - * more information, see the Amazon EC2 Auto Scaling

    The DescribeAutoScalingGroups + * API operation might be throttled when retrieving details for an Auto Scaling + * group that contains many instances. By default, this operation returns details + * for all instances in the group. To help prevent throttling, you can set the + * IncludeInstances parameter to false to exclude + * instance details from the response.

    Amazon EC2 Auto Scaling is designed + * to automatically launch and terminate EC2 instances based on user-defined + * scaling policies, scheduled actions, and health checks.

    For more + * information, see the Amazon * EC2 Auto Scaling User Guide and the Amazon diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h index 936e701ffb3..7a4d57a055d 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h @@ -55,6 +55,18 @@ namespace Model DescribeAutoScalingGroupsRequest& AddAutoScalingGroupNames(AutoScalingGroupNamesT&& value) { m_autoScalingGroupNamesHasBeenSet = true; m_autoScalingGroupNames.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

    Specifies whether to include information about Amazon EC2 instances in the + * response. When set to true (default), the response includes + * instance details.

    + */ + inline bool GetIncludeInstances() const { return m_includeInstances; } + inline bool IncludeInstancesHasBeenSet() const { return m_includeInstancesHasBeenSet; } + inline void SetIncludeInstances(bool value) { m_includeInstancesHasBeenSet = true; m_includeInstances = value; } + inline DescribeAutoScalingGroupsRequest& WithIncludeInstances(bool value) { SetIncludeInstances(value); return *this;} + ///@} + ///@{ /** *

    The token for the next set of items to return. (You received this token from @@ -97,6 +109,9 @@ namespace Model Aws::Vector m_autoScalingGroupNames; bool m_autoScalingGroupNamesHasBeenSet = false; + bool m_includeInstances{false}; + bool m_includeInstancesHasBeenSet = false; + Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp b/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp index 6152fc55ac9..9d9f2282376 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp @@ -32,6 +32,11 @@ Aws::String DescribeAutoScalingGroupsRequest::SerializePayload() const } } + if(m_includeInstancesHasBeenSet) + { + ss << "IncludeInstances=" << std::boolalpha << m_includeInstances << "&"; + } + if(m_nextTokenHasBeenSet) { ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h index f00e3d3f194..a616bc381e0 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h @@ -2648,24 +2648,26 @@ namespace CloudWatchLogs * stream.

    The batch of events must satisfy the following * constraints:

    • The maximum batch size is 1,048,576 bytes. This * size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for - * each log event.

    • None of the log events in the batch can be - * more than 2 hours in the future.

    • None of the log events in the - * batch can be more than 14 days in the past. Also, none of the log events can be - * from earlier than the retention period of the log group.

    • The - * log events in the batch must be in chronological order by their timestamp. The - * timestamp is the time that the event occurred, expressed as the number of - * milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web - * Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the - * timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For - * example, 2017-09-15T13:45:30.)

    • A batch of log - * events in a single request cannot span more than 24 hours. Otherwise, the - * operation fails.

    • Each log event can be no larger than 1 - * MB.

    • The maximum number of log events in a batch is 10,000.

      - *
    • The quota of five requests per second per log stream - * has been removed. Instead, PutLogEvents actions are throttled based - * on a per-second per-account quota. You can request an increase to the per-second - * throttling quota by using the Service Quotas service.

    • - *

    If a call to PutLogEvents returns + * each log event.

  • Events more than 2 hours in the future are + * rejected while processing remaining valid events.

  • Events older + * than 14 days or preceding the log group's retention period are rejected while + * processing remaining valid events.

  • The log events in the batch + * must be in chronological order by their timestamp. The timestamp is the time + * that the event occurred, expressed as the number of milliseconds after Jan + * 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and + * the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: + * yyyy-mm-ddThh:mm:ss. For example, + * 2017-09-15T13:45:30.)

  • A batch of log events in + * a single request must be in a chronological order. Otherwise, the operation + * fails.

  • Each log event can be no larger than 1 MB.

  • + *
  • The maximum number of log events in a batch is 10,000.

  • + *

    For valid events (within 14 days in the past to 2 hours in future), the time + * span in a single batch cannot exceed 24 hours. Otherwise, the operation + * fails.

  • The quota of five requests per second per + * log stream has been removed. Instead, PutLogEvents actions are + * throttled based on a per-second per-account quota. You can request an increase + * to the per-second throttling quota by using the Service Quotas service.

    + *

    If a call to PutLogEvents returns * "UnrecognizedClientException" the most likely cause is a non-valid Amazon Web * Services access key ID or secret key.

    See Also:

    AWS diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h new file mode 100644 index 00000000000..decbe41fea5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class EventSource + { + NOT_SET, + CloudTrail, + Route53Resolver, + VPCFlow, + EKSAudit, + AWSWAF + }; + +namespace EventSourceMapper +{ +AWS_CLOUDWATCHLOGS_API EventSource GetEventSourceForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForEventSource(EventSource value); +} // namespace EventSourceMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h new file mode 100644 index 00000000000..f780b1de654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class OCSFVersion + { + NOT_SET, + V1_1 + }; + +namespace OCSFVersionMapper +{ +AWS_CLOUDWATCHLOGS_API OCSFVersion GetOCSFVersionForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForOCSFVersion(OCSFVersion value); +} // namespace OCSFVersionMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h new file mode 100644 index 00000000000..7b41f2ab610 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

    This processor converts logs into Open + * Cybersecurity Schema Framework (OCSF) events.

    For more information + * about this processor including examples, see + * parseToOSCF in the CloudWatch Logs User Guide.

    See + * Also:

    AWS + * API Reference

    + */ + class ParseToOCSF + { + public: + AWS_CLOUDWATCHLOGS_API ParseToOCSF() = default; + AWS_CLOUDWATCHLOGS_API ParseToOCSF(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API ParseToOCSF& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDWATCHLOGS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The path to the field in the log event that you want to parse. If you omit + * this value, the whole log message is parsed.

    + */ + inline const Aws::String& GetSource() const { return m_source; } + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + template + void SetSource(SourceT&& value) { m_sourceHasBeenSet = true; m_source = std::forward(value); } + template + ParseToOCSF& WithSource(SourceT&& value) { SetSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specify the service or process that produces the log events that will be + * converted with this processor.

    + */ + inline EventSource GetEventSource() const { return m_eventSource; } + inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; } + inline void SetEventSource(EventSource value) { m_eventSourceHasBeenSet = true; m_eventSource = value; } + inline ParseToOCSF& WithEventSource(EventSource value) { SetEventSource(value); return *this;} + ///@} + + ///@{ + /** + *

    Specify which version of the OCSF schema to use for the transformed log + * events.

    + */ + inline OCSFVersion GetOcsfVersion() const { return m_ocsfVersion; } + inline bool OcsfVersionHasBeenSet() const { return m_ocsfVersionHasBeenSet; } + inline void SetOcsfVersion(OCSFVersion value) { m_ocsfVersionHasBeenSet = true; m_ocsfVersion = value; } + inline ParseToOCSF& WithOcsfVersion(OCSFVersion value) { SetOcsfVersion(value); return *this;} + ///@} + private: + + Aws::String m_source; + bool m_sourceHasBeenSet = false; + + EventSource m_eventSource{EventSource::NOT_SET}; + bool m_eventSourceHasBeenSet = false; + + OCSFVersion m_ocsfVersion{OCSFVersion::NOT_SET}; + bool m_ocsfVersionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h index 717cb481e81..69377f7cd62 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -243,6 +244,19 @@ namespace Model Processor& WithParseRoute53(ParseRoute53T&& value) { SetParseRoute53(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    Use this processor to convert logs into Open Cybersecurity Schema Framework + * (OCSF) format

    + */ + inline const ParseToOCSF& GetParseToOCSF() const { return m_parseToOCSF; } + inline bool ParseToOCSFHasBeenSet() const { return m_parseToOCSFHasBeenSet; } + template + void SetParseToOCSF(ParseToOCSFT&& value) { m_parseToOCSFHasBeenSet = true; m_parseToOCSF = std::forward(value); } + template + Processor& WithParseToOCSF(ParseToOCSFT&& value) { SetParseToOCSF(std::forward(value)); return *this;} + ///@} + ///@{ /** *

    Use this parameter to include the EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

    *
  • For Elemental MediaTailor, the valid values are * AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and - * TRANSCODE_LOGS.

  • For IAM Identity Center, the - * valid value is ERROR_LOGS.

  • For Amazon Q, the + * TRANSCODE_LOGS.

  • For Entity Resolution, the valid + * value is WORKFLOW_LOGS.

  • For IAM Identity Center, + * the valid value is ERROR_LOGS.

  • For Amazon Q, the * valid value is EVENT_LOGS.

  • For Amazon SES mail - * manager, the valid value is APPLICATION_LOG.

  • For - * Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, + * manager, the valid values are APPLICATION_LOG and + * TRAFFIC_POLICY_DEBUG_LOGS.

  • For Amazon WorkMail, + * the valid values are ACCESS_CONTROL_LOGS, * AUTHENTICATION_LOGS, * WORKMAIL_AVAILABILITY_PROVIDER_LOGS, * WORKMAIL_MAILBOX_ACCESS_LOGS, and diff --git a/generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp b/generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp new file mode 100644 index 00000000000..13995f8127d --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace EventSourceMapper + { + + static const int CloudTrail_HASH = HashingUtils::HashString("CloudTrail"); + static const int Route53Resolver_HASH = HashingUtils::HashString("Route53Resolver"); + static const int VPCFlow_HASH = HashingUtils::HashString("VPCFlow"); + static const int EKSAudit_HASH = HashingUtils::HashString("EKSAudit"); + static const int AWSWAF_HASH = HashingUtils::HashString("AWSWAF"); + + + EventSource GetEventSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CloudTrail_HASH) + { + return EventSource::CloudTrail; + } + else if (hashCode == Route53Resolver_HASH) + { + return EventSource::Route53Resolver; + } + else if (hashCode == VPCFlow_HASH) + { + return EventSource::VPCFlow; + } + else if (hashCode == EKSAudit_HASH) + { + return EventSource::EKSAudit; + } + else if (hashCode == AWSWAF_HASH) + { + return EventSource::AWSWAF; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EventSource::NOT_SET; + } + + Aws::String GetNameForEventSource(EventSource enumValue) + { + switch(enumValue) + { + case EventSource::NOT_SET: + return {}; + case EventSource::CloudTrail: + return "CloudTrail"; + case EventSource::Route53Resolver: + return "Route53Resolver"; + case EventSource::VPCFlow: + return "VPCFlow"; + case EventSource::EKSAudit: + return "EKSAudit"; + case EventSource::AWSWAF: + return "AWSWAF"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EventSourceMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp new file mode 100644 index 00000000000..d53be1d1ce4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace OCSFVersionMapper + { + + static const int V1_1_HASH = HashingUtils::HashString("V1.1"); + + + OCSFVersion GetOCSFVersionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == V1_1_HASH) + { + return OCSFVersion::V1_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OCSFVersion::NOT_SET; + } + + Aws::String GetNameForOCSFVersion(OCSFVersion enumValue) + { + switch(enumValue) + { + case OCSFVersion::NOT_SET: + return {}; + case OCSFVersion::V1_1: + return "V1.1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OCSFVersionMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp new file mode 100644 index 00000000000..27b36649d52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +ParseToOCSF::ParseToOCSF(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParseToOCSF& ParseToOCSF::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = jsonValue.GetString("source"); + m_sourceHasBeenSet = true; + } + if(jsonValue.ValueExists("eventSource")) + { + m_eventSource = EventSourceMapper::GetEventSourceForName(jsonValue.GetString("eventSource")); + m_eventSourceHasBeenSet = true; + } + if(jsonValue.ValueExists("ocsfVersion")) + { + m_ocsfVersion = OCSFVersionMapper::GetOCSFVersionForName(jsonValue.GetString("ocsfVersion")); + m_ocsfVersionHasBeenSet = true; + } + return *this; +} + +JsonValue ParseToOCSF::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", m_source); + + } + + if(m_eventSourceHasBeenSet) + { + payload.WithString("eventSource", EventSourceMapper::GetNameForEventSource(m_eventSource)); + } + + if(m_ocsfVersionHasBeenSet) + { + payload.WithString("ocsfVersion", OCSFVersionMapper::GetNameForOCSFVersion(m_ocsfVersion)); + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp b/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp index 2036a6e5890..7ff1c93eb37 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp @@ -90,6 +90,11 @@ Processor& Processor::operator =(JsonView jsonValue) m_parseRoute53 = jsonValue.GetObject("parseRoute53"); m_parseRoute53HasBeenSet = true; } + if(jsonValue.ValueExists("parseToOCSF")) + { + m_parseToOCSF = jsonValue.GetObject("parseToOCSF"); + m_parseToOCSFHasBeenSet = true; + } if(jsonValue.ValueExists("parsePostgres")) { m_parsePostgres = jsonValue.GetObject("parsePostgres"); @@ -220,6 +225,12 @@ JsonValue Processor::Jsonize() const } + if(m_parseToOCSFHasBeenSet) + { + payload.WithObject("parseToOCSF", m_parseToOCSF.Jsonize()); + + } + if(m_parsePostgresHasBeenSet) { payload.WithObject("parsePostgres", m_parsePostgres.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index a8e2f041e13..b17f576c0f8 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -349,11 +349,21 @@ namespace Aws } /** - *

    Creates a copy of an object that is already stored in Amazon S3.

    - *

    You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy (UploadPartCopy) API. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

    This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

    Creates a copy of an object that + * is already stored in Amazon S3.

    You can store individual objects + * of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size + * in a single atomic action using this API. However, to copy an object greater + * than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) + * API. For more information, see Copy * Object Using the REST Multipart Upload API.

    You can copy * individual objects between general purpose buckets, between directory buckets, @@ -489,8 +499,26 @@ namespace Aws virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** - *

    This action creates an Amazon S3 bucket. To create an Amazon S3 on - * Outposts bucket, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

    This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

    End of support + * notice: Beginning October 1, 2025, Amazon S3 will stop returning + * DisplayName. Update your applications to use canonical IDs (unique + * identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 + * digit identifier) or IAM ARNs (full resource naming) as a direct replacement of + * DisplayName.

    This change affects the following Amazon Web + * Services Regions: US East (N. Virginia) Region, US West (N. California) Region, + * US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) + * Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America + * (São Paulo) Region.

    This action creates an Amazon S3 + * bucket. To create an Amazon S3 on Outposts bucket, see * CreateBucket .

    Creates a new S3 bucket. To * create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services @@ -668,10 +696,19 @@ namespace Aws } /** - *

    This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

    This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

    This action initiates a + * multipart upload and returns an upload ID. This upload ID is used to associate + * all of the parts in the specific multipart upload. You specify this upload ID in + * each of your subsequent upload part requests (see UploadPart). * You also include this upload ID in the final request to either complete or abort * the multipart upload request. For more information about multipart uploads, see @@ -2097,8 +2134,17 @@ namespace Aws } /** - *

    This operation is not supported for directory buckets.

    - *

    This implementation of the GET action uses the acl + *

    End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

    This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

    + *

    This operation is not supported for directory buckets.

    This + * implementation of the GET action uses the acl * subresource to return the access control list (ACL) of a bucket. To use * GET to return the ACL of the bucket, you must have the * READ_ACP access to the bucket. If READ_ACP permission @@ -2522,9 +2568,18 @@ namespace Aws } /** - *

    This operation is not supported for directory buckets.

    - *

    Returns the logging status of a bucket and the permissions users have to view - * and modify that status.

    The following operations are related to + *

    End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

    This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

    + *

    This operation is not supported for directory buckets.

    Returns + * the logging status of a bucket and the permissions users have to view and modify + * that status.

    The following operations are related to * GetBucketLogging:

    • CreateBucket *

    • s3:GetBucketOwnershipControls * permission. For more information about Amazon S3 permissions, see Specifying - * permissions in a policy.

      For information about Amazon S3 Object - * Ownership, see .

      A bucket doesn't have + * OwnershipControls settings in the following cases:

      • + *

        The bucket was created before the BucketOwnerEnforced ownership + * setting was introduced and you've never explicitly applied this value

      • + *
      • You've manually deleted the bucket ownership control value using the + * DeleteBucketOwnershipControls API operation.

      By + * default, Amazon S3 sets OwnershipControls for all newly created + * buckets.

      For information about Amazon S3 Object Ownership, see Using * Object Ownership.

      The following operations are related to * GetBucketOwnershipControls:

      • @@ -4025,9 +4086,18 @@ namespace Aws } /** - *

        This operation is not supported for directory buckets.

        - *

        Returns a list of all buckets owned by the authenticated sender of the - * request. To grant IAM permission to use this operation, you must add the + *

        End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

        This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

        + *

        This operation is not supported for directory buckets.

        Returns + * a list of all buckets owned by the authenticated sender of the request. To grant + * IAM permission to use this operation, you must add the * s3:ListAllMyBuckets policy action.

        For information about * Amazon S3 buckets, see Creating, @@ -4118,10 +4188,19 @@ namespace Aws } /** - *

        This operation lists in-progress multipart uploads in a bucket. An - * in-progress multipart upload is a multipart upload that has been initiated by - * the CreateMultipartUpload request, but has not yet been completed - * or aborted.

        Directory buckets - If multipart uploads in a + *

        End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

        This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

        This + * operation lists in-progress multipart uploads in a bucket. An in-progress + * multipart upload is a multipart upload that has been initiated by the + * CreateMultipartUpload request, but has not yet been completed or + * aborted.

        Directory buckets - If multipart uploads in a * directory bucket are in progress, you can't delete the bucket until all the * in-progress multipart uploads are aborted or completed. To delete these * in-progress multipart uploads, use the ListMultipartUploads @@ -4230,17 +4309,25 @@ namespace Aws } /** - *

        This operation is not supported for directory buckets.

        - *

        Returns metadata about all versions of the objects in a bucket. You can also - * use request parameters as selection criteria to return metadata about a subset - * of all the object versions.

        To use this operation, you must - * have permission to perform the s3:ListBucketVersions action. Be - * aware of the name difference.

        A 200 OK - * response can contain valid or invalid XML. Make sure to design your application - * to parse the contents of the response and handle it appropriately.

        - *

        To use this operation, you must have READ access to the bucket.

        The - * following operations are related to ListObjectVersions:

          - *
        • End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

          This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

          + *

          This operation is not supported for directory buckets.

          Returns + * metadata about all versions of the objects in a bucket. You can also use request + * parameters as selection criteria to return metadata about a subset of all the + * object versions.

          To use this operation, you must have + * permission to perform the s3:ListBucketVersions action. Be aware of + * the name difference.

          A 200 OK response + * can contain valid or invalid XML. Make sure to design your application to parse + * the contents of the response and handle it appropriately.

          To use + * this operation, you must have READ access to the bucket.

          The following + * operations are related to ListObjectVersions:

          You can use either a canned ACL or * specify access permissions explicitly. You cannot do both.

          Grantee * Values

          You can specify the person (grantee) to whom you're - * assigning access rights (using request elements) in the following ways:

            - *
          • By the person's ID:

            <Grantee + * assigning access rights (using request elements) in the following ways. For + * examples of how to specify these grantee values in JSON format, see the Amazon + * Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

            • By the person's ID:

              <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

              DisplayName is optional and ignored in the @@ -5196,24 +5314,37 @@ namespace Aws } /** - *

              This operation is not supported for directory buckets.

              - *

              Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same Amazon Web Services Region as the source bucket. To set the logging status - * of a bucket, you must be the bucket owner.

              The bucket owner is - * automatically granted FULL_CONTROL to all logs. You use the Grantee - * request element to grant access to other people. The Permissions - * request element specifies the kind of access the grantee has to the logs.

              - *

              If the target bucket for log delivery uses the bucket owner - * enforced setting for S3 Object Ownership, you can't use the Grantee - * request element to grant access to others. Permissions can only be granted using - * policies. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

              This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

              This operation is not + * supported for directory buckets.

              Set the logging parameters for a + * bucket and to specify permissions for who can view and modify the logging + * parameters. All logs are saved to buckets in the same Amazon Web Services Region + * as the source bucket. To set the logging status of a bucket, you must be the + * bucket owner.

              The bucket owner is automatically granted FULL_CONTROL to + * all logs. You use the Grantee request element to grant access to + * other people. The Permissions request element specifies the kind of + * access the grantee has to the logs.

              If the target bucket for + * log delivery uses the bucket owner enforced setting for S3 Object Ownership, you + * can't use the Grantee request element to grant access to others. + * Permissions can only be granted using policies. For more information, see Permissions * for server access log delivery in the Amazon S3 User Guide.

              *
              Grantee Values

              You can specify the person * (grantee) to whom you're assigning access rights (by using request elements) in - * the following ways:

              • By the person's ID:

                - * <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * the following ways. For examples of how to specify these grantee values in JSON + * format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                • By the person's ID:

                  <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                  DisplayName is optional and * ignored in the request.

                • By Email address:

                  @@ -5815,17 +5946,26 @@ namespace Aws } /** - *

                  Adds an object to a bucket.

                  • Amazon S3 never adds - * partial objects; if you receive a success response, Amazon S3 added the entire - * object to the bucket. You cannot use PutObject to only update a - * single piece of metadata for an existing object. You must put the entire object - * with updated metadata if you want to update some values.

                  • If - * your bucket uses the bucket owner enforced setting for Object Ownership, ACLs - * are disabled and no longer affect permissions. All objects written to the bucket - * by any account will be owned by the bucket owner.

                  • - * Directory buckets - For directory buckets, you must make requests for - * this API operation to the Zonal endpoint. These endpoints support - * virtual-hosted-style requests in the format + *

                    End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                    This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                    Adds an object to a bucket.

                    + *
                    • Amazon S3 never adds partial objects; if you receive a + * success response, Amazon S3 added the entire object to the bucket. You cannot + * use PutObject to only update a single piece of metadata for an + * existing object. You must put the entire object with updated metadata if you + * want to update some values.

                    • If your bucket uses the bucket + * owner enforced setting for Object Ownership, ACLs are disabled and no longer + * affect permissions. All objects written to the bucket by any account will be + * owned by the bucket owner.

                    • Directory buckets - For + * directory buckets, you must make requests for this API operation to the Zonal + * endpoint. These endpoints support virtual-hosted-style requests in the format * https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name * . Path-style requests are not supported. For more information about * endpoints in Availability Zones, see

                      You can use either a canned ACL or specify access permissions * explicitly. You cannot do both.

              Grantee Values

              You * can specify the person (grantee) to whom you're assigning access rights (using - * request elements) in the following ways:

              • By the person's - * ID:

                <Grantee + * request elements) in the following ways. For examples of how to specify these + * grantee values in JSON format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                • By the person's ID:

                  <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                  DisplayName is optional and ignored in the @@ -6247,6 +6390,71 @@ namespace Aws return SubmitAsync(&S3CrtClient::PutPublicAccessBlock, request, handler, context); } + /** + *

                  Renames an existing object in a directory bucket that uses the S3 Express One + * Zone storage class. You can use RenameObject by specifying an + * existing object’s name as the source and the new name of the object as the + * destination within the same directory bucket.

                  + * RenameObject is only supported for objects stored in the S3 Express + * One Zone storage class.

                  To prevent overwriting an object, you + * can use the If-None-Match conditional header.

                  • + * If-None-Match - Renames the object only if an object with the specified + * name does not already exist in the directory bucket. If you don't want to + * overwrite an existing object, you can add the If-None-Match + * conditional header with the value ‘*’ in the + * RenameObject request. Amazon S3 then returns a 412 + * Precondition Failed error if the object with the specified name already + * exists. For more information, see RFC 7232.

                  + *
                  Permissions

                  To grant access to the + * RenameObject operation on a directory bucket, we recommend that you + * use the CreateSession operation for session-based authorization. + * Specifically, you grant the s3express:CreateSession permission to + * the directory bucket in a bucket policy or an IAM identity-based policy. Then, + * you make the CreateSession API call on the directory bucket to + * obtain a session token. With the session token in your request header, you can + * make API requests to this operation. After the session token expires, you make + * another CreateSession API call to generate a new session token for + * use. The Amazon Web Services CLI and SDKs will create and manage your session + * including refreshing the session token automatically to avoid service + * interruptions when a session expires. In your bucket policy, you can specify the + * s3express:SessionMode condition key to control who can create a + * ReadWrite or ReadOnly session. A + * ReadWrite session is required for executing all the Zonal endpoint + * API operations, including RenameObject. For more information about + * authorization, see + * CreateSession . To learn more about Zonal endpoint APT + * operations, see Authorizing + * Zonal endpoint API operations with CreateSession in the Amazon S3 User + * Guide.

                  HTTP Host header syntax

                  Directory + * buckets - The HTTP Host header syntax is + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                  + *

                  See Also:

                  AWS API + * Reference

                  + */ + virtual Model::RenameObjectOutcome RenameObject(const Model::RenameObjectRequest& request) const; + + /** + * A Callable wrapper for RenameObject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RenameObjectOutcomeCallable RenameObjectCallable(const RenameObjectRequestT& request) const + { + return SubmitCallable(&S3CrtClient::RenameObject, request); + } + + /** + * An Async wrapper for RenameObject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RenameObjectAsync(const RenameObjectRequestT& request, const RenameObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3CrtClient::RenameObject, request, handler, context); + } + /** *

                  This operation is not supported for directory buckets.

                  *

                  Restores an archived copy of an object back into Amazon S3

                  This diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h index 2928ec6193f..6dce60e00fc 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h @@ -50,6 +50,7 @@ enum class S3CrtErrors BUCKET_ALREADY_EXISTS= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, BUCKET_ALREADY_OWNED_BY_YOU, ENCRYPTION_TYPE_MISMATCH, + IDEMPOTENCY_PARAMETER_MISMATCH, INVALID_OBJECT_STATE, INVALID_REQUEST, INVALID_WRITE_OFFSET, diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h index 290081cf2e3..8f1c5a0b62c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -215,6 +216,7 @@ namespace Aws class PutObjectRetentionRequest; class PutObjectTaggingRequest; class PutPublicAccessBlockRequest; + class RenameObjectRequest; class RestoreObjectRequest; class SelectObjectContentRequest; class UploadPartRequest; @@ -316,6 +318,7 @@ namespace Aws typedef Aws::Utils::Outcome PutObjectRetentionOutcome; typedef Aws::Utils::Outcome PutObjectTaggingOutcome; typedef Aws::Utils::Outcome PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome RenameObjectOutcome; typedef Aws::Utils::Outcome RestoreObjectOutcome; typedef Aws::Utils::Outcome SelectObjectContentOutcome; typedef Aws::Utils::Outcome UploadPartOutcome; @@ -414,6 +417,7 @@ namespace Aws typedef std::future PutObjectRetentionOutcomeCallable; typedef std::future PutObjectTaggingOutcomeCallable; typedef std::future PutPublicAccessBlockOutcomeCallable; + typedef std::future RenameObjectOutcomeCallable; typedef std::future RestoreObjectOutcomeCallable; typedef std::future SelectObjectContentOutcomeCallable; typedef std::future UploadPartOutcomeCallable; @@ -518,6 +522,7 @@ namespace Aws typedef std::function&) > PutObjectRetentionResponseReceivedHandler; typedef std::function&) > PutObjectTaggingResponseReceivedHandler; typedef std::function&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function&) > RenameObjectResponseReceivedHandler; typedef std::function&) > RestoreObjectResponseReceivedHandler; typedef std::function&) > SelectObjectContentResponseReceivedHandler; typedef std::function&) > UploadPartResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h index fa850b0579f..9e824ed5387 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model DeleteBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                  The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                  + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + DeleteBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h index ef7d043ea8c..e42b0bf0305 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model GetBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                  The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                  + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + GetBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h index 8346ad03c15..6d6ade8a914 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h @@ -98,14 +98,15 @@ namespace Model /** *

                  A container for elements related to a particular part. A response can contain * zero or more Parts elements.

                  • General - * purpose buckets - For GetObjectAttributes, if a additional + * purpose buckets - For GetObjectAttributes, if an additional * checksum (including x-amz-checksum-crc32, * x-amz-checksum-crc32c, x-amz-checksum-sha1, or * x-amz-checksum-sha256) isn't applied to the object specified in the - * request, the response doesn't return Part.

                  • - * Directory buckets - For GetObjectAttributes, no matter - * whether a additional checksum is applied to the object specified in the request, - * the response returns Part.

                  + * request, the response doesn't return the Part element.

                • + *
                • Directory buckets - For GetObjectAttributes, + * regardless of whether an additional checksum is applied to the object specified + * in the request, the response returns the Part element.

                • + *
                */ inline const Aws::Vector& GetParts() const { return m_parts; } inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h index eab1e481787..97501e6bc54 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h @@ -521,6 +521,19 @@ namespace Model inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} ///@} + ///@{ + /** + *

                The number of tags, if any, on the object, when you have the relevant + * permission to read object tags.

                You can use GetObjectTagging + * to retrieve the tag set associated with an object.

                This + * functionality is not supported for directory buckets.

                + */ + inline int GetTagCount() const { return m_tagCount; } + inline void SetTagCount(int value) { m_tagCountHasBeenSet = true; m_tagCount = value; } + inline HeadObjectResult& WithTagCount(int value) { SetTagCount(value); return *this;} + ///@} + ///@{ /** *

                The Object Lock mode, if any, that's in effect for this object. This header @@ -688,6 +701,9 @@ namespace Model int m_partsCount{0}; bool m_partsCountHasBeenSet = false; + int m_tagCount{0}; + bool m_tagCountHasBeenSet = false; + ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET}; bool m_objectLockModeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h index 835f09c1df3..16d33de5942 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(ContinuationTokenT&& value) { SetContinuationToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + ListBucketIntelligentTieringConfigurationsRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -91,6 +107,9 @@ namespace Model Aws::String m_continuationToken; bool m_continuationTokenHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h index bfad57d4505..ced3018bd3a 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h @@ -176,8 +176,7 @@ namespace Model /** *

                If ContinuationToken was sent with the request, it is included * in the response. You can use the returned ContinuationToken for - * pagination of the list response. You can use this ContinuationToken - * for pagination of the list results.

                + * pagination of the list response.

                */ inline const Aws::String& GetContinuationToken() const { return m_continuationToken; } template diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h index a1b7f95caf5..6c09ac01c61 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h @@ -23,6 +23,15 @@ namespace Model { /** + *

                End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                *

                Container for the owner's display name and ID.

                See Also:

                AWS API * Reference

                diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h index 70a8cc48dc1..236e70f4062 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -39,6 +39,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model PutBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + PutBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                Container for S3 Intelligent-Tiering configuration.

                @@ -103,6 +119,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + IntelligentTieringConfiguration m_intelligentTieringConfiguration; bool m_intelligentTieringConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h new file mode 100644 index 00000000000..6428243b4e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h @@ -0,0 +1,286 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3Crt +{ +namespace Model +{ + + /** + */ + class RenameObjectRequest : public S3CrtRequest + { + public: + AWS_S3CRT_API RenameObjectRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RenameObject"; } + + AWS_S3CRT_API Aws::String SerializePayload() const override; + + AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override; + + ///@{ + /** + *

                The bucket name of the directory bucket containing the object.

                You + * must use virtual-hosted-style requests in the format + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style + * requests are not supported. Directory bucket names must be unique in the chosen + * Availability Zone. Bucket names must follow the format + * bucket-base-name--zone-id--x-s3 (for example, + * amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket + * naming restrictions, see Directory + * bucket naming rules in the Amazon S3 User Guide.

                + */ + inline const Aws::String& GetBucket() const { return m_bucket; } + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + template + void SetBucket(BucketT&& value) { m_bucketHasBeenSet = true; m_bucket = std::forward(value); } + template + RenameObjectRequest& WithBucket(BucketT&& value) { SetBucket(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Key name of the object to rename.

                + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + RenameObjectRequest& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the source for the rename operation. The value must be URL + * encoded.

                + */ + inline const Aws::String& GetRenameSource() const { return m_renameSource; } + inline bool RenameSourceHasBeenSet() const { return m_renameSourceHasBeenSet; } + template + void SetRenameSource(RenameSourceT&& value) { m_renameSourceHasBeenSet = true; m_renameSource = std::forward(value); } + template + RenameObjectRequest& WithRenameSource(RenameSourceT&& value) { SetRenameSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object only if the ETag (entity tag) value provided during the + * operation matches the ETag of the object in S3. The If-Match header + * field makes the request method conditional on ETags. If the ETag values do not + * match, the operation returns a 412 Precondition Failed error.

                + *

                Expects the ETag value as a string.

                + */ + inline const Aws::String& GetDestinationIfMatch() const { return m_destinationIfMatch; } + inline bool DestinationIfMatchHasBeenSet() const { return m_destinationIfMatchHasBeenSet; } + template + void SetDestinationIfMatch(DestinationIfMatchT&& value) { m_destinationIfMatchHasBeenSet = true; m_destinationIfMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfMatch(DestinationIfMatchT&& value) { SetDestinationIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object only if the destination does not already exist in the + * specified directory bucket. If the object does exist when you send a request + * with If-None-Match:*, the S3 API will return a 412 + * Precondition Failed error, preventing an overwrite. The + * If-None-Match header prevents overwrites of existing data by + * validating that there's not an object with the same key name already in your + * directory bucket.

                Expects the * character (asterisk).

                + */ + inline const Aws::String& GetDestinationIfNoneMatch() const { return m_destinationIfNoneMatch; } + inline bool DestinationIfNoneMatchHasBeenSet() const { return m_destinationIfNoneMatchHasBeenSet; } + template + void SetDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { m_destinationIfNoneMatchHasBeenSet = true; m_destinationIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { SetDestinationIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if the destination exists and if it has been modified + * since the specified time.

                + */ + inline const Aws::Utils::DateTime& GetDestinationIfModifiedSince() const { return m_destinationIfModifiedSince; } + inline bool DestinationIfModifiedSinceHasBeenSet() const { return m_destinationIfModifiedSinceHasBeenSet; } + template + void SetDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { m_destinationIfModifiedSinceHasBeenSet = true; m_destinationIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { SetDestinationIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if it hasn't been modified since the specified time.

                + */ + inline const Aws::Utils::DateTime& GetDestinationIfUnmodifiedSince() const { return m_destinationIfUnmodifiedSince; } + inline bool DestinationIfUnmodifiedSinceHasBeenSet() const { return m_destinationIfUnmodifiedSinceHasBeenSet; } + template + void SetDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { m_destinationIfUnmodifiedSinceHasBeenSet = true; m_destinationIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { SetDestinationIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if the source exists and if its entity tag (ETag) matches + * the specified ETag.

                + */ + inline const Aws::String& GetSourceIfMatch() const { return m_sourceIfMatch; } + inline bool SourceIfMatchHasBeenSet() const { return m_sourceIfMatchHasBeenSet; } + template + void SetSourceIfMatch(SourceIfMatchT&& value) { m_sourceIfMatchHasBeenSet = true; m_sourceIfMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfMatch(SourceIfMatchT&& value) { SetSourceIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if the source exists and if its entity tag (ETag) is + * different than the specified ETag. If an asterisk (*) character is + * provided, the operation will fail and return a 412 Precondition + * Failed error.

                + */ + inline const Aws::String& GetSourceIfNoneMatch() const { return m_sourceIfNoneMatch; } + inline bool SourceIfNoneMatchHasBeenSet() const { return m_sourceIfNoneMatchHasBeenSet; } + template + void SetSourceIfNoneMatch(SourceIfNoneMatchT&& value) { m_sourceIfNoneMatchHasBeenSet = true; m_sourceIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfNoneMatch(SourceIfNoneMatchT&& value) { SetSourceIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if the source exists and if it has been modified since the + * specified time.

                + */ + inline const Aws::Utils::DateTime& GetSourceIfModifiedSince() const { return m_sourceIfModifiedSince; } + inline bool SourceIfModifiedSinceHasBeenSet() const { return m_sourceIfModifiedSinceHasBeenSet; } + template + void SetSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { m_sourceIfModifiedSinceHasBeenSet = true; m_sourceIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { SetSourceIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                Renames the object if the source exists and hasn't been modified since the + * specified time.

                + */ + inline const Aws::Utils::DateTime& GetSourceIfUnmodifiedSince() const { return m_sourceIfUnmodifiedSince; } + inline bool SourceIfUnmodifiedSinceHasBeenSet() const { return m_sourceIfUnmodifiedSinceHasBeenSet; } + template + void SetSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { m_sourceIfUnmodifiedSinceHasBeenSet = true; m_sourceIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { SetSourceIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                A unique string with a max of 64 ASCII characters in the ASCII range of 33 - + * 126. RenameObject supports idempotency using a client token. To + * make an idempotent API request using RenameObject, specify a client + * token in the request. You should not reuse the same client token for other API + * requests. If you retry a request that completed successfully using the same + * client token and the same parameters, the retry succeeds without performing any + * further actions. If you retry a successful request using the same client token, + * but one or more of the parameters are different, the retry fails and an + * IdempotentParameterMismatch error is returned.

                + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + RenameObjectRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + template> + void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::forward(value); } + template> + RenameObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { SetCustomizedAccessLogTag(std::forward(value)); return *this;} + template + RenameObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) { + m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_renameSource; + bool m_renameSourceHasBeenSet = false; + + Aws::String m_destinationIfMatch; + bool m_destinationIfMatchHasBeenSet = false; + + Aws::String m_destinationIfNoneMatch; + bool m_destinationIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfModifiedSince{}; + bool m_destinationIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfUnmodifiedSince{}; + bool m_destinationIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_sourceIfMatch; + bool m_sourceIfMatchHasBeenSet = false; + + Aws::String m_sourceIfNoneMatch; + bool m_sourceIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfModifiedSince{}; + bool m_sourceIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfUnmodifiedSince{}; + bool m_sourceIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Map m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Crt +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h new file mode 100644 index 00000000000..66ff7fddcab --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Crt +{ +namespace Model +{ + class RenameObjectResult + { + public: + AWS_S3CRT_API RenameObjectResult() = default; + AWS_S3CRT_API RenameObjectResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CRT_API RenameObjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RenameObjectResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Crt +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 9fcf255ebbe..15588e0c567 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -116,6 +116,7 @@ #include #include #include +#include #include #include #include @@ -5161,6 +5162,58 @@ PutPublicAccessBlockOutcome S3CrtClient::PutPublicAccessBlock(const PutPublicAcc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RenameObjectOutcome S3CrtClient::RenameObject(const RenameObjectRequest& request) const +{ + AWS_OPERATION_GUARD(RenameObject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Bucket, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Key, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.RenameSourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: RenameSource, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RenameSource]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RenameObjectOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + ss.str("?renameObject"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + request.SetServiceSpecificParameters( + [&]() -> std::shared_ptr { + Aws::Map params; + params.emplace("bucketName", request.GetBucket()); + ServiceSpecificParameters serviceSpecificParameters{params}; + return Aws::MakeShared(ALLOCATION_TAG, serviceSpecificParameters); + }()); + return RenameObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RestoreObjectOutcome S3CrtClient::RestoreObject(const RestoreObjectRequest& request) const { AWS_OPERATION_GUARD(RestoreObject); diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp index e9132bd77da..ad33c79a0e7 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp @@ -28,12 +28,13 @@ namespace S3CrtErrorMapper static const int NO_SUCH_UPLOAD_HASH = HashingUtils::HashString("NoSuchUpload"); static const int ENCRYPTION_TYPE_MISMATCH_HASH = HashingUtils::HashString("EncryptionTypeMismatch"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); static const int BUCKET_ALREADY_OWNED_BY_YOU_HASH = HashingUtils::HashString("BucketAlreadyOwnedByYou"); static const int INVALID_WRITE_OFFSET_HASH = HashingUtils::HashString("InvalidWriteOffset"); static const int OBJECT_ALREADY_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectAlreadyInActiveTierError"); static const int NO_SUCH_BUCKET_HASH = HashingUtils::HashString("NoSuchBucket"); static const int TOO_MANY_PARTS_HASH = HashingUtils::HashString("TooManyParts"); -static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); +static const int IDEMPOTENCY_PARAMETER_MISMATCH_HASH = HashingUtils::HashString("IdempotencyParameterMismatch"); static const int NO_SUCH_KEY_HASH = HashingUtils::HashString("NoSuchKey"); static const int OBJECT_NOT_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectNotInActiveTierError"); static const int BUCKET_ALREADY_EXISTS_HASH = HashingUtils::HashString("BucketAlreadyExists"); @@ -52,6 +53,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3CrtErrors::ENCRYPTION_TYPE_MISMATCH), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_REQUEST_HASH) + { + return AWSError(static_cast(S3CrtErrors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + } else if (hashCode == BUCKET_ALREADY_OWNED_BY_YOU_HASH) { return AWSError(static_cast(S3CrtErrors::BUCKET_ALREADY_OWNED_BY_YOU), RetryableType::NOT_RETRYABLE); @@ -72,9 +77,9 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3CrtErrors::TOO_MANY_PARTS), RetryableType::NOT_RETRYABLE); } - else if (hashCode == INVALID_REQUEST_HASH) + else if (hashCode == IDEMPOTENCY_PARAMETER_MISMATCH_HASH) { - return AWSError(static_cast(S3CrtErrors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + return AWSError(static_cast(S3CrtErrors::IDEMPOTENCY_PARAMETER_MISMATCH), RetryableType::NOT_RETRYABLE); } else if (hashCode == NO_SUCH_KEY_HASH) { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp index 0ff388a122b..ae150bde176 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameter } } +Aws::Http::HeaderValueCollection DeleteBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} DeleteBucketIntelligentTieringConfigurationRequest::EndpointParameters DeleteBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp index aba6e4e35f1..2813ad88905 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection GetBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} GetBucketIntelligentTieringConfigurationRequest::EndpointParameters GetBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp index 89ca9c70d8e..b631a6bf50c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp @@ -282,6 +282,13 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult m_partsCountHasBeenSet = true; } + const auto& tagCountIter = headers.find("x-amz-tagging-count"); + if(tagCountIter != headers.end()) + { + m_tagCount = StringUtils::ConvertToInt32(tagCountIter->second.c_str()); + m_tagCountHasBeenSet = true; + } + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); if(objectLockModeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp index a6ff3b523eb..a020a6e8d5d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp @@ -71,6 +71,19 @@ void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters } } +Aws::Http::HeaderValueCollection ListBucketIntelligentTieringConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} ListBucketIntelligentTieringConfigurationsRequest::EndpointParameters ListBucketIntelligentTieringConfigurationsRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp index c2e062d5345..e8467ec0a02 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp @@ -82,6 +82,19 @@ void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection PutBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} PutBucketIntelligentTieringConfigurationRequest::EndpointParameters PutBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp new file mode 100644 index 00000000000..9d0157124b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3Crt::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + + +Aws::String RenameObjectRequest::SerializePayload() const +{ + return {}; +} + +void RenameObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection RenameObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_renameSourceHasBeenSet) + { + ss << m_renameSource; + headers.emplace("x-amz-rename-source", ss.str()); + ss.str(""); + } + + if(m_destinationIfMatchHasBeenSet) + { + ss << m_destinationIfMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfNoneMatchHasBeenSet) + { + ss << m_destinationIfNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_destinationIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_destinationIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_destinationIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfMatchHasBeenSet) + { + ss << m_sourceIfMatch; + headers.emplace("x-amz-rename-source-if-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfNoneMatchHasBeenSet) + { + ss << m_sourceIfNoneMatch; + headers.emplace("x-amz-rename-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-modified-since", m_sourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-unmodified-since", m_sourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + headers.emplace("x-amz-client-token", ss.str()); + ss.str(""); + } + + return headers; +} + +RenameObjectRequest::EndpointParameters RenameObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp new file mode 100644 index 00000000000..b47d6948fba --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3Crt::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RenameObjectResult::RenameObjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RenameObjectResult& RenameObjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amz-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 38e8acefcad..d17b58bdae7 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -359,11 +359,21 @@ namespace Aws } /** - *

                Creates a copy of an object that is already stored in Amazon S3.

                - *

                You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy (UploadPartCopy) API. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                Creates a copy of an object that + * is already stored in Amazon S3.

                You can store individual objects + * of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size + * in a single atomic action using this API. However, to copy an object greater + * than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) + * API. For more information, see Copy * Object Using the REST Multipart Upload API.

                You can copy * individual objects between general purpose buckets, between directory buckets, @@ -503,8 +513,26 @@ namespace Aws virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** - *

                This action creates an Amazon S3 bucket. To create an Amazon S3 on - * Outposts bucket, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                End of support + * notice: Beginning October 1, 2025, Amazon S3 will stop returning + * DisplayName. Update your applications to use canonical IDs (unique + * identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 + * digit identifier) or IAM ARNs (full resource naming) as a direct replacement of + * DisplayName.

                This change affects the following Amazon Web + * Services Regions: US East (N. Virginia) Region, US West (N. California) Region, + * US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) + * Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America + * (São Paulo) Region.

                This action creates an Amazon S3 + * bucket. To create an Amazon S3 on Outposts bucket, see * CreateBucket .

                Creates a new S3 bucket. To * create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services @@ -682,10 +710,19 @@ namespace Aws } /** - *

                This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                This action initiates a + * multipart upload and returns an upload ID. This upload ID is used to associate + * all of the parts in the specific multipart upload. You specify this upload ID in + * each of your subsequent upload part requests (see UploadPart). * You also include this upload ID in the final request to either complete or abort * the multipart upload request. For more information about multipart uploads, see @@ -2111,8 +2148,17 @@ namespace Aws } /** - *

                This operation is not supported for directory buckets.

                - *

                This implementation of the GET action uses the acl + *

                End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                + *

                This operation is not supported for directory buckets.

                This + * implementation of the GET action uses the acl * subresource to return the access control list (ACL) of a bucket. To use * GET to return the ACL of the bucket, you must have the * READ_ACP access to the bucket. If READ_ACP permission @@ -2536,9 +2582,18 @@ namespace Aws } /** - *

                This operation is not supported for directory buckets.

                - *

                Returns the logging status of a bucket and the permissions users have to view - * and modify that status.

                The following operations are related to + *

                End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                + *

                This operation is not supported for directory buckets.

                Returns + * the logging status of a bucket and the permissions users have to view and modify + * that status.

                The following operations are related to * GetBucketLogging:

              Grantee * Values

              You can specify the person (grantee) to whom you're - * assigning access rights (using request elements) in the following ways:

                - *
              • By the person's ID:

                <Grantee + * assigning access rights (using request elements) in the following ways. For + * examples of how to specify these grantee values in JSON format, see the Amazon + * Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                • By the person's ID:

                  <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                  DisplayName is optional and ignored in the @@ -5214,24 +5332,37 @@ namespace Aws } /** - *

                  This operation is not supported for directory buckets.

                  - *

                  Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same Amazon Web Services Region as the source bucket. To set the logging status - * of a bucket, you must be the bucket owner.

                  The bucket owner is - * automatically granted FULL_CONTROL to all logs. You use the Grantee - * request element to grant access to other people. The Permissions - * request element specifies the kind of access the grantee has to the logs.

                  - *

                  If the target bucket for log delivery uses the bucket owner - * enforced setting for S3 Object Ownership, you can't use the Grantee - * request element to grant access to others. Permissions can only be granted using - * policies. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                  This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                  This operation is not + * supported for directory buckets.

                  Set the logging parameters for a + * bucket and to specify permissions for who can view and modify the logging + * parameters. All logs are saved to buckets in the same Amazon Web Services Region + * as the source bucket. To set the logging status of a bucket, you must be the + * bucket owner.

                  The bucket owner is automatically granted FULL_CONTROL to + * all logs. You use the Grantee request element to grant access to + * other people. The Permissions request element specifies the kind of + * access the grantee has to the logs.

                  If the target bucket for + * log delivery uses the bucket owner enforced setting for S3 Object Ownership, you + * can't use the Grantee request element to grant access to others. + * Permissions can only be granted using policies. For more information, see Permissions * for server access log delivery in the Amazon S3 User Guide.

                  *
                  Grantee Values

                  You can specify the person * (grantee) to whom you're assigning access rights (by using request elements) in - * the following ways:

                  • By the person's ID:

                    - * <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * the following ways. For examples of how to specify these grantee values in JSON + * format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                    • By the person's ID:

                      <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                      DisplayName is optional and * ignored in the request.

                    • By Email address:

                      @@ -5833,17 +5964,26 @@ namespace Aws } /** - *

                      Adds an object to a bucket.

                      • Amazon S3 never adds - * partial objects; if you receive a success response, Amazon S3 added the entire - * object to the bucket. You cannot use PutObject to only update a - * single piece of metadata for an existing object. You must put the entire object - * with updated metadata if you want to update some values.

                      • If - * your bucket uses the bucket owner enforced setting for Object Ownership, ACLs - * are disabled and no longer affect permissions. All objects written to the bucket - * by any account will be owned by the bucket owner.

                      • - * Directory buckets - For directory buckets, you must make requests for - * this API operation to the Zonal endpoint. These endpoints support - * virtual-hosted-style requests in the format + *

                        End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                        This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                        Adds an object to a bucket.

                        + *
                        • Amazon S3 never adds partial objects; if you receive a + * success response, Amazon S3 added the entire object to the bucket. You cannot + * use PutObject to only update a single piece of metadata for an + * existing object. You must put the entire object with updated metadata if you + * want to update some values.

                        • If your bucket uses the bucket + * owner enforced setting for Object Ownership, ACLs are disabled and no longer + * affect permissions. All objects written to the bucket by any account will be + * owned by the bucket owner.

                        • Directory buckets - For + * directory buckets, you must make requests for this API operation to the Zonal + * endpoint. These endpoints support virtual-hosted-style requests in the format * https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name * . Path-style requests are not supported. For more information about * endpoints in Availability Zones, see

                          You can use either a canned ACL or specify access permissions * explicitly. You cannot do both.

                  Grantee Values

                  You * can specify the person (grantee) to whom you're assigning access rights (using - * request elements) in the following ways:

                  • By the person's - * ID:

                    <Grantee + * request elements) in the following ways. For examples of how to specify these + * grantee values in JSON format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                    • By the person's ID:

                      <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                      DisplayName is optional and ignored in the @@ -6269,6 +6412,71 @@ namespace Aws return SubmitAsync(&S3Client::PutPublicAccessBlock, request, handler, context); } + /** + *

                      Renames an existing object in a directory bucket that uses the S3 Express One + * Zone storage class. You can use RenameObject by specifying an + * existing object’s name as the source and the new name of the object as the + * destination within the same directory bucket.

                      + * RenameObject is only supported for objects stored in the S3 Express + * One Zone storage class.

                      To prevent overwriting an object, you + * can use the If-None-Match conditional header.

                      • + * If-None-Match - Renames the object only if an object with the specified + * name does not already exist in the directory bucket. If you don't want to + * overwrite an existing object, you can add the If-None-Match + * conditional header with the value ‘*’ in the + * RenameObject request. Amazon S3 then returns a 412 + * Precondition Failed error if the object with the specified name already + * exists. For more information, see RFC 7232.

                      + *
                      Permissions

                      To grant access to the + * RenameObject operation on a directory bucket, we recommend that you + * use the CreateSession operation for session-based authorization. + * Specifically, you grant the s3express:CreateSession permission to + * the directory bucket in a bucket policy or an IAM identity-based policy. Then, + * you make the CreateSession API call on the directory bucket to + * obtain a session token. With the session token in your request header, you can + * make API requests to this operation. After the session token expires, you make + * another CreateSession API call to generate a new session token for + * use. The Amazon Web Services CLI and SDKs will create and manage your session + * including refreshing the session token automatically to avoid service + * interruptions when a session expires. In your bucket policy, you can specify the + * s3express:SessionMode condition key to control who can create a + * ReadWrite or ReadOnly session. A + * ReadWrite session is required for executing all the Zonal endpoint + * API operations, including RenameObject. For more information about + * authorization, see + * CreateSession . To learn more about Zonal endpoint APT + * operations, see Authorizing + * Zonal endpoint API operations with CreateSession in the Amazon S3 User + * Guide.

                      HTTP Host header syntax

                      Directory + * buckets - The HTTP Host header syntax is + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                      + *

                      See Also:

                      AWS API + * Reference

                      + */ + virtual Model::RenameObjectOutcome RenameObject(const Model::RenameObjectRequest& request) const; + + /** + * A Callable wrapper for RenameObject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RenameObjectOutcomeCallable RenameObjectCallable(const RenameObjectRequestT& request) const + { + return SubmitCallable(&S3Client::RenameObject, request); + } + + /** + * An Async wrapper for RenameObject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RenameObjectAsync(const RenameObjectRequestT& request, const RenameObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3Client::RenameObject, request, handler, context); + } + /** *

                      This operation is not supported for directory buckets.

                      *

                      Restores an archived copy of an object back into Amazon S3

                      This diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h index d6afabbab1d..e901aa2e53a 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h @@ -50,6 +50,7 @@ enum class S3Errors BUCKET_ALREADY_EXISTS= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, BUCKET_ALREADY_OWNED_BY_YOU, ENCRYPTION_TYPE_MISMATCH, + IDEMPOTENCY_PARAMETER_MISMATCH, INVALID_OBJECT_STATE, INVALID_REQUEST, INVALID_WRITE_OFFSET, diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h index c5bddb4513d..c33cddbce44 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -215,6 +216,7 @@ namespace Aws class PutObjectRetentionRequest; class PutObjectTaggingRequest; class PutPublicAccessBlockRequest; + class RenameObjectRequest; class RestoreObjectRequest; class SelectObjectContentRequest; class UploadPartRequest; @@ -316,6 +318,7 @@ namespace Aws typedef Aws::Utils::Outcome PutObjectRetentionOutcome; typedef Aws::Utils::Outcome PutObjectTaggingOutcome; typedef Aws::Utils::Outcome PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome RenameObjectOutcome; typedef Aws::Utils::Outcome RestoreObjectOutcome; typedef Aws::Utils::Outcome SelectObjectContentOutcome; typedef Aws::Utils::Outcome UploadPartOutcome; @@ -417,6 +420,7 @@ namespace Aws typedef std::future PutObjectRetentionOutcomeCallable; typedef std::future PutObjectTaggingOutcomeCallable; typedef std::future PutPublicAccessBlockOutcomeCallable; + typedef std::future RenameObjectOutcomeCallable; typedef std::future RestoreObjectOutcomeCallable; typedef std::future SelectObjectContentOutcomeCallable; typedef std::future UploadPartOutcomeCallable; @@ -521,6 +525,7 @@ namespace Aws typedef std::function&) > PutObjectRetentionResponseReceivedHandler; typedef std::function&) > PutObjectTaggingResponseReceivedHandler; typedef std::function&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function&) > RenameObjectResponseReceivedHandler; typedef std::function&) > RestoreObjectResponseReceivedHandler; typedef std::function&) > SelectObjectContentResponseReceivedHandler; typedef std::function&) > UploadPartResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h index cda8011fd2e..0bd7b947cf5 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model DeleteBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                      The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                      + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + DeleteBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h index 43d8b489d2e..2dda7075436 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model GetBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                      The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                      + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + GetBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h index 871cdcbf5f0..e6350e72ac2 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h @@ -98,14 +98,15 @@ namespace Model /** *

                      A container for elements related to a particular part. A response can contain * zero or more Parts elements.

                      • General - * purpose buckets - For GetObjectAttributes, if a additional + * purpose buckets - For GetObjectAttributes, if an additional * checksum (including x-amz-checksum-crc32, * x-amz-checksum-crc32c, x-amz-checksum-sha1, or * x-amz-checksum-sha256) isn't applied to the object specified in the - * request, the response doesn't return Part.

                      • - * Directory buckets - For GetObjectAttributes, no matter - * whether a additional checksum is applied to the object specified in the request, - * the response returns Part.

                      + * request, the response doesn't return the Part element.

                    • + *
                    • Directory buckets - For GetObjectAttributes, + * regardless of whether an additional checksum is applied to the object specified + * in the request, the response returns the Part element.

                    • + *
                    */ inline const Aws::Vector& GetParts() const { return m_parts; } inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h index 56f92105047..b7ad682ae10 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h @@ -521,6 +521,19 @@ namespace Model inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} ///@} + ///@{ + /** + *

                    The number of tags, if any, on the object, when you have the relevant + * permission to read object tags.

                    You can use GetObjectTagging + * to retrieve the tag set associated with an object.

                    This + * functionality is not supported for directory buckets.

                    + */ + inline int GetTagCount() const { return m_tagCount; } + inline void SetTagCount(int value) { m_tagCountHasBeenSet = true; m_tagCount = value; } + inline HeadObjectResult& WithTagCount(int value) { SetTagCount(value); return *this;} + ///@} + ///@{ /** *

                    The Object Lock mode, if any, that's in effect for this object. This header @@ -688,6 +701,9 @@ namespace Model int m_partsCount{0}; bool m_partsCountHasBeenSet = false; + int m_tagCount{0}; + bool m_tagCountHasBeenSet = false; + ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET}; bool m_objectLockModeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h index 2217f11f54f..29a005eef2b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(ContinuationTokenT&& value) { SetContinuationToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                    The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                    + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + ListBucketIntelligentTieringConfigurationsRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -91,6 +107,9 @@ namespace Model Aws::String m_continuationToken; bool m_continuationTokenHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h index 81fb333aa96..6d8c2e20046 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h @@ -176,8 +176,7 @@ namespace Model /** *

                    If ContinuationToken was sent with the request, it is included * in the response. You can use the returned ContinuationToken for - * pagination of the list response. You can use this ContinuationToken - * for pagination of the list results.

                    + * pagination of the list response.

                    */ inline const Aws::String& GetContinuationToken() const { return m_continuationToken; } template diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h index 8ddaa21807b..7b2999c47b5 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h @@ -23,6 +23,15 @@ namespace Model { /** + *

                    End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                    This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                    *

                    Container for the owner's display name and ID.

                    See Also:

                    AWS API * Reference

                    diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h index 11b0e695242..a360c28341b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -39,6 +39,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model PutBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                    The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                    + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + PutBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                    Container for S3 Intelligent-Tiering configuration.

                    @@ -103,6 +119,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + IntelligentTieringConfiguration m_intelligentTieringConfiguration; bool m_intelligentTieringConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h new file mode 100644 index 00000000000..7481baabcae --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h @@ -0,0 +1,286 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class RenameObjectRequest : public S3Request + { + public: + AWS_S3_API RenameObjectRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RenameObject"; } + + AWS_S3_API Aws::String SerializePayload() const override; + + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; + + ///@{ + /** + *

                    The bucket name of the directory bucket containing the object.

                    You + * must use virtual-hosted-style requests in the format + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style + * requests are not supported. Directory bucket names must be unique in the chosen + * Availability Zone. Bucket names must follow the format + * bucket-base-name--zone-id--x-s3 (for example, + * amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket + * naming restrictions, see Directory + * bucket naming rules in the Amazon S3 User Guide.

                    + */ + inline const Aws::String& GetBucket() const { return m_bucket; } + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + template + void SetBucket(BucketT&& value) { m_bucketHasBeenSet = true; m_bucket = std::forward(value); } + template + RenameObjectRequest& WithBucket(BucketT&& value) { SetBucket(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Key name of the object to rename.

                    + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + RenameObjectRequest& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Specifies the source for the rename operation. The value must be URL + * encoded.

                    + */ + inline const Aws::String& GetRenameSource() const { return m_renameSource; } + inline bool RenameSourceHasBeenSet() const { return m_renameSourceHasBeenSet; } + template + void SetRenameSource(RenameSourceT&& value) { m_renameSourceHasBeenSet = true; m_renameSource = std::forward(value); } + template + RenameObjectRequest& WithRenameSource(RenameSourceT&& value) { SetRenameSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object only if the ETag (entity tag) value provided during the + * operation matches the ETag of the object in S3. The If-Match header + * field makes the request method conditional on ETags. If the ETag values do not + * match, the operation returns a 412 Precondition Failed error.

                    + *

                    Expects the ETag value as a string.

                    + */ + inline const Aws::String& GetDestinationIfMatch() const { return m_destinationIfMatch; } + inline bool DestinationIfMatchHasBeenSet() const { return m_destinationIfMatchHasBeenSet; } + template + void SetDestinationIfMatch(DestinationIfMatchT&& value) { m_destinationIfMatchHasBeenSet = true; m_destinationIfMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfMatch(DestinationIfMatchT&& value) { SetDestinationIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object only if the destination does not already exist in the + * specified directory bucket. If the object does exist when you send a request + * with If-None-Match:*, the S3 API will return a 412 + * Precondition Failed error, preventing an overwrite. The + * If-None-Match header prevents overwrites of existing data by + * validating that there's not an object with the same key name already in your + * directory bucket.

                    Expects the * character (asterisk).

                    + */ + inline const Aws::String& GetDestinationIfNoneMatch() const { return m_destinationIfNoneMatch; } + inline bool DestinationIfNoneMatchHasBeenSet() const { return m_destinationIfNoneMatchHasBeenSet; } + template + void SetDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { m_destinationIfNoneMatchHasBeenSet = true; m_destinationIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { SetDestinationIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if the destination exists and if it has been modified + * since the specified time.

                    + */ + inline const Aws::Utils::DateTime& GetDestinationIfModifiedSince() const { return m_destinationIfModifiedSince; } + inline bool DestinationIfModifiedSinceHasBeenSet() const { return m_destinationIfModifiedSinceHasBeenSet; } + template + void SetDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { m_destinationIfModifiedSinceHasBeenSet = true; m_destinationIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { SetDestinationIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if it hasn't been modified since the specified time.

                    + */ + inline const Aws::Utils::DateTime& GetDestinationIfUnmodifiedSince() const { return m_destinationIfUnmodifiedSince; } + inline bool DestinationIfUnmodifiedSinceHasBeenSet() const { return m_destinationIfUnmodifiedSinceHasBeenSet; } + template + void SetDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { m_destinationIfUnmodifiedSinceHasBeenSet = true; m_destinationIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { SetDestinationIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if the source exists and if its entity tag (ETag) matches + * the specified ETag.

                    + */ + inline const Aws::String& GetSourceIfMatch() const { return m_sourceIfMatch; } + inline bool SourceIfMatchHasBeenSet() const { return m_sourceIfMatchHasBeenSet; } + template + void SetSourceIfMatch(SourceIfMatchT&& value) { m_sourceIfMatchHasBeenSet = true; m_sourceIfMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfMatch(SourceIfMatchT&& value) { SetSourceIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if the source exists and if its entity tag (ETag) is + * different than the specified ETag. If an asterisk (*) character is + * provided, the operation will fail and return a 412 Precondition + * Failed error.

                    + */ + inline const Aws::String& GetSourceIfNoneMatch() const { return m_sourceIfNoneMatch; } + inline bool SourceIfNoneMatchHasBeenSet() const { return m_sourceIfNoneMatchHasBeenSet; } + template + void SetSourceIfNoneMatch(SourceIfNoneMatchT&& value) { m_sourceIfNoneMatchHasBeenSet = true; m_sourceIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfNoneMatch(SourceIfNoneMatchT&& value) { SetSourceIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if the source exists and if it has been modified since the + * specified time.

                    + */ + inline const Aws::Utils::DateTime& GetSourceIfModifiedSince() const { return m_sourceIfModifiedSince; } + inline bool SourceIfModifiedSinceHasBeenSet() const { return m_sourceIfModifiedSinceHasBeenSet; } + template + void SetSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { m_sourceIfModifiedSinceHasBeenSet = true; m_sourceIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { SetSourceIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    Renames the object if the source exists and hasn't been modified since the + * specified time.

                    + */ + inline const Aws::Utils::DateTime& GetSourceIfUnmodifiedSince() const { return m_sourceIfUnmodifiedSince; } + inline bool SourceIfUnmodifiedSinceHasBeenSet() const { return m_sourceIfUnmodifiedSinceHasBeenSet; } + template + void SetSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { m_sourceIfUnmodifiedSinceHasBeenSet = true; m_sourceIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { SetSourceIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    A unique string with a max of 64 ASCII characters in the ASCII range of 33 - + * 126. RenameObject supports idempotency using a client token. To + * make an idempotent API request using RenameObject, specify a client + * token in the request. You should not reuse the same client token for other API + * requests. If you retry a request that completed successfully using the same + * client token and the same parameters, the retry succeeds without performing any + * further actions. If you retry a successful request using the same client token, + * but one or more of the parameters are different, the retry fails and an + * IdempotentParameterMismatch error is returned.

                    + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + RenameObjectRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + template> + void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::forward(value); } + template> + RenameObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { SetCustomizedAccessLogTag(std::forward(value)); return *this;} + template + RenameObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) { + m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_renameSource; + bool m_renameSourceHasBeenSet = false; + + Aws::String m_destinationIfMatch; + bool m_destinationIfMatchHasBeenSet = false; + + Aws::String m_destinationIfNoneMatch; + bool m_destinationIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfModifiedSince{}; + bool m_destinationIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfUnmodifiedSince{}; + bool m_destinationIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_sourceIfMatch; + bool m_sourceIfMatchHasBeenSet = false; + + Aws::String m_sourceIfNoneMatch; + bool m_sourceIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfModifiedSince{}; + bool m_sourceIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfUnmodifiedSince{}; + bool m_sourceIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Map m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h new file mode 100644 index 00000000000..e76a19e3a2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class RenameObjectResult + { + public: + AWS_S3_API RenameObjectResult() = default; + AWS_S3_API RenameObjectResult(const Aws::AmazonWebServiceResult& result); + AWS_S3_API RenameObjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RenameObjectResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp index 0134be223a8..9950ebde650 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp @@ -116,6 +116,7 @@ #include #include #include +#include #include #include #include @@ -4358,6 +4359,58 @@ PutPublicAccessBlockOutcome S3Client::PutPublicAccessBlock(const PutPublicAccess {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RenameObjectOutcome S3Client::RenameObject(const RenameObjectRequest& request) const +{ + AWS_OPERATION_GUARD(RenameObject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Bucket, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Key, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.RenameSourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: RenameSource, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RenameSource]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RenameObjectOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + ss.str("?renameObject"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + request.SetServiceSpecificParameters( + [&]() -> std::shared_ptr { + Aws::Map params; + params.emplace("bucketName", request.GetBucket()); + ServiceSpecificParameters serviceSpecificParameters{params}; + return Aws::MakeShared(ALLOCATION_TAG, serviceSpecificParameters); + }()); + return RenameObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RestoreObjectOutcome S3Client::RestoreObject(const RestoreObjectRequest& request) const { AWS_OPERATION_GUARD(RestoreObject); diff --git a/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp b/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp index 75c76396cc8..eafbb8303cd 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp @@ -28,12 +28,13 @@ namespace S3ErrorMapper static const int NO_SUCH_UPLOAD_HASH = HashingUtils::HashString("NoSuchUpload"); static const int ENCRYPTION_TYPE_MISMATCH_HASH = HashingUtils::HashString("EncryptionTypeMismatch"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); static const int BUCKET_ALREADY_OWNED_BY_YOU_HASH = HashingUtils::HashString("BucketAlreadyOwnedByYou"); static const int INVALID_WRITE_OFFSET_HASH = HashingUtils::HashString("InvalidWriteOffset"); static const int OBJECT_ALREADY_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectAlreadyInActiveTierError"); static const int NO_SUCH_BUCKET_HASH = HashingUtils::HashString("NoSuchBucket"); static const int TOO_MANY_PARTS_HASH = HashingUtils::HashString("TooManyParts"); -static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); +static const int IDEMPOTENCY_PARAMETER_MISMATCH_HASH = HashingUtils::HashString("IdempotencyParameterMismatch"); static const int NO_SUCH_KEY_HASH = HashingUtils::HashString("NoSuchKey"); static const int OBJECT_NOT_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectNotInActiveTierError"); static const int BUCKET_ALREADY_EXISTS_HASH = HashingUtils::HashString("BucketAlreadyExists"); @@ -52,6 +53,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3Errors::ENCRYPTION_TYPE_MISMATCH), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_REQUEST_HASH) + { + return AWSError(static_cast(S3Errors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + } else if (hashCode == BUCKET_ALREADY_OWNED_BY_YOU_HASH) { return AWSError(static_cast(S3Errors::BUCKET_ALREADY_OWNED_BY_YOU), RetryableType::NOT_RETRYABLE); @@ -72,9 +77,9 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3Errors::TOO_MANY_PARTS), RetryableType::NOT_RETRYABLE); } - else if (hashCode == INVALID_REQUEST_HASH) + else if (hashCode == IDEMPOTENCY_PARAMETER_MISMATCH_HASH) { - return AWSError(static_cast(S3Errors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + return AWSError(static_cast(S3Errors::IDEMPOTENCY_PARAMETER_MISMATCH), RetryableType::NOT_RETRYABLE); } else if (hashCode == NO_SUCH_KEY_HASH) { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp index 296de9a0996..7510d4ba098 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameter } } +Aws::Http::HeaderValueCollection DeleteBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} DeleteBucketIntelligentTieringConfigurationRequest::EndpointParameters DeleteBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp index ffe0fed84ae..77bb62acfea 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection GetBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} GetBucketIntelligentTieringConfigurationRequest::EndpointParameters GetBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp index 33790d20a3b..0976a160180 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp @@ -282,6 +282,13 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult m_partsCountHasBeenSet = true; } + const auto& tagCountIter = headers.find("x-amz-tagging-count"); + if(tagCountIter != headers.end()) + { + m_tagCount = StringUtils::ConvertToInt32(tagCountIter->second.c_str()); + m_tagCountHasBeenSet = true; + } + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); if(objectLockModeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp index 379c1f71ed3..f1f02c27fc2 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp @@ -71,6 +71,19 @@ void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters } } +Aws::Http::HeaderValueCollection ListBucketIntelligentTieringConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} ListBucketIntelligentTieringConfigurationsRequest::EndpointParameters ListBucketIntelligentTieringConfigurationsRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp index d603aa1416e..c4998c079d9 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp @@ -82,6 +82,19 @@ void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection PutBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} PutBucketIntelligentTieringConfigurationRequest::EndpointParameters PutBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp new file mode 100644 index 00000000000..7b2e5b6fcc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + + +Aws::String RenameObjectRequest::SerializePayload() const +{ + return {}; +} + +void RenameObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection RenameObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_renameSourceHasBeenSet) + { + ss << m_renameSource; + headers.emplace("x-amz-rename-source", ss.str()); + ss.str(""); + } + + if(m_destinationIfMatchHasBeenSet) + { + ss << m_destinationIfMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfNoneMatchHasBeenSet) + { + ss << m_destinationIfNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_destinationIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_destinationIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_destinationIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfMatchHasBeenSet) + { + ss << m_sourceIfMatch; + headers.emplace("x-amz-rename-source-if-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfNoneMatchHasBeenSet) + { + ss << m_sourceIfNoneMatch; + headers.emplace("x-amz-rename-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-modified-since", m_sourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-unmodified-since", m_sourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + headers.emplace("x-amz-client-token", ss.str()); + ss.str(""); + } + + return headers; +} + +RenameObjectRequest::EndpointParameters RenameObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp new file mode 100644 index 00000000000..dbfb74aef61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RenameObjectResult::RenameObjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RenameObjectResult& RenameObjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amz-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h index 3bba76cba2f..2768c7acc34 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h @@ -74,6 +74,7 @@ namespace Model ml_g6e_48xlarge, ml_p5e_48xlarge, ml_p5en_48xlarge, + ml_p6_b200_48xlarge, ml_trn2_48xlarge, ml_c6i_large, ml_c6i_xlarge, diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp index acae0f03b68..389d8c2cb4c 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp @@ -78,6 +78,7 @@ namespace Aws static const int ml_g6e_48xlarge_HASH = HashingUtils::HashString("ml.g6e.48xlarge"); static const int ml_p5e_48xlarge_HASH = HashingUtils::HashString("ml.p5e.48xlarge"); static const int ml_p5en_48xlarge_HASH = HashingUtils::HashString("ml.p5en.48xlarge"); + static const int ml_p6_b200_48xlarge_HASH = HashingUtils::HashString("ml.p6-b200.48xlarge"); static const int ml_trn2_48xlarge_HASH = HashingUtils::HashString("ml.trn2.48xlarge"); static const int ml_c6i_large_HASH = HashingUtils::HashString("ml.c6i.large"); static const int ml_c6i_xlarge_HASH = HashingUtils::HashString("ml.c6i.xlarge"); @@ -368,6 +369,10 @@ namespace Aws { return ClusterInstanceType::ml_p5en_48xlarge; } + else if (hashCode == ml_p6_b200_48xlarge_HASH) + { + return ClusterInstanceType::ml_p6_b200_48xlarge; + } else if (hashCode == ml_trn2_48xlarge_HASH) { return ClusterInstanceType::ml_trn2_48xlarge; @@ -712,6 +717,8 @@ namespace Aws return "ml.p5e.48xlarge"; case ClusterInstanceType::ml_p5en_48xlarge: return "ml.p5en.48xlarge"; + case ClusterInstanceType::ml_p6_b200_48xlarge: + return "ml.p6-b200.48xlarge"; case ClusterInstanceType::ml_trn2_48xlarge: return "ml.trn2.48xlarge"; case ClusterInstanceType::ml_c6i_large: diff --git a/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp b/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp new file mode 100644 index 00000000000..f83cf2fd364 --- /dev/null +++ b/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp @@ -0,0 +1,428 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSAIOpsEndpointProviderTests"; +using AIOpsEndpointProvider = Aws::AIOps::Endpoint::AIOpsEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct AIOpsEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class AIOpsEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> AIOpsEndpointProviderTests::TEST_CASES; +const size_t AIOpsEndpointProviderTests::TEST_CASES_SZ = 25; + +Aws::Vector AIOpsEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const AIOpsEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(AIOpsEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const AIOpsEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/AIOpsEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize AIOpsEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + AIOpsEndpointProviderTests, + ::testing::Range((size_t) 0u, AIOpsEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp b/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp new file mode 100644 index 00000000000..fe84d11efd2 --- /dev/null +++ b/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using AIOpsIncludeTest = ::testing::Test; + +TEST_F(AIOpsIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("AIOpsIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/generated/tests/aiops-gen-tests/CMakeLists.txt b/generated/tests/aiops-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..f73e7d6799f --- /dev/null +++ b/generated/tests/aiops-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(aiops-gen-tests + "Tests for the AWS AIOPS C++ SDK" + testing-resources + aws-cpp-sdk-aiops + aws-cpp-sdk-core) + +file(GLOB AWS_AIOPS_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_AIOPS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_AIOPS_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/aiops-gen-tests/RunTests.cpp b/generated/tests/aiops-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/aiops-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp b/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp index 377ea029eba..ada2e811c6e 100644 --- a/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp +++ b/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp @@ -103,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -176,6 +177,7 @@ #include #include #include +#include #include #include #include @@ -196,6 +198,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp b/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp index 33f8facc737..f2bbf54ef26 100644 --- a/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp +++ b/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp @@ -328,6 +328,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/s3-gen-tests/S3IncludeTests.cpp b/generated/tests/s3-gen-tests/S3IncludeTests.cpp index b3629ebde6c..2c3c6cfe110 100644 --- a/generated/tests/s3-gen-tests/S3IncludeTests.cpp +++ b/generated/tests/s3-gen-tests/S3IncludeTests.cpp @@ -326,6 +326,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 01ef735e2fa..01133a0f9e9 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.590" +#define AWS_SDK_VERSION_STRING "1.11.591" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 590 +#define AWS_SDK_VERSION_PATCH 591 diff --git a/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json b/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json new file mode 100644 index 00000000000..98084291615 --- /dev/null +++ b/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json @@ -0,0 +1,843 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"aiops", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS AI Ops", + "serviceId":"AIOps", + "signatureVersion":"v4", + "signingName":"aiops", + "uid":"aiops-2018-05-10" + }, + "operations":{ + "CreateInvestigationGroup":{ + "name":"CreateInvestigationGroup", + "http":{ + "method":"POST", + "requestUri":"/investigationGroups", + "responseCode":201 + }, + "input":{"shape":"CreateInvestigationGroupInput"}, + "output":{"shape":"CreateInvestigationGroupOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Creates an investigation group in your account. Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.

                    Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:

                    • Who can access the investigations

                    • Whether investigation data is encrypted with a customer managed Key Management Service key.

                    • How long investigations and their data are retained by default.

                    Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region

                    To create an investigation group and set up Amazon Q Developer operational investigations, you must be signed in to an IAM principal that has the either the AIOpsConsoleAdminPolicy or the AdministratorAccess IAM policy attached, or to an account that has similar permissions.

                    You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with CreateInvestigationGroup and you want to enable alarms to do this, you must use PutInvestigationGroupPolicy to create a resource policy that grants this permission to CloudWatch alarms.

                    For more information about configuring CloudWatch alarms to work with Amazon Q Developer operational investigations, see

                    ", + "idempotent":true + }, + "DeleteInvestigationGroup":{ + "name":"DeleteInvestigationGroup", + "http":{ + "method":"DELETE", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteInvestigationGroupRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Deletes the specified investigation group from your account. You can currently have one investigation group per Region in your account. After you delete an investigation group, you can later create a new investigation group in the same Region.

                    ", + "idempotent":true + }, + "DeleteInvestigationGroupPolicy":{ + "name":"DeleteInvestigationGroupPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"DeleteInvestigationGroupPolicyRequest"}, + "output":{"shape":"DeleteInvestigationGroupPolicyOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Removes the IAM resource policy from being associated with the investigation group that you specify.

                    ", + "idempotent":true + }, + "GetInvestigationGroup":{ + "name":"GetInvestigationGroup", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetInvestigationGroupRequest"}, + "output":{"shape":"GetInvestigationGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Returns the configuration information for the specified investigation group.

                    " + }, + "GetInvestigationGroupPolicy":{ + "name":"GetInvestigationGroupPolicy", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"GetInvestigationGroupPolicyRequest"}, + "output":{"shape":"GetInvestigationGroupPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Returns the IAM resource policy that is associated with the specified investigation group.

                    " + }, + "ListInvestigationGroups":{ + "name":"ListInvestigationGroups", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups", + "responseCode":200 + }, + "input":{"shape":"ListInvestigationGroupsInput"}, + "output":{"shape":"ListInvestigationGroupsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Returns the ARN and name of each investigation group in the account.

                    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Displays the tags associated with a Amazon Q Developer operational investigations resource. Currently, investigation groups support tagging.

                    " + }, + "PutInvestigationGroupPolicy":{ + "name":"PutInvestigationGroupPolicy", + "http":{ + "method":"POST", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"PutInvestigationGroupPolicyRequest"}, + "output":{"shape":"PutInvestigationGroupPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Creates an IAM resource policy and assigns it to the specified investigation group.

                    If you create your investigation group with CreateInvestigationGroup and you want to enable CloudWatch alarms to create investigations and add events to investigations, you must use this operation to create a policy similar to this example.

                    { \"Version\": \"2008-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"aiops.alarms.cloudwatch.amazonaws.com\" }, \"Action\": [\"aiops:CreateInvestigation\", \"aiops:CreateInvestigationEvent\"], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"account-id\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:cloudwatch:region:account-id:alarm:*\" } } }] }

                    ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Assigns one or more tags (key-value pairs) to the specified resource.

                    Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                    Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

                    You can associate as many as 50 tags with a resource.

                    ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Removes one or more tags from the specified resource.

                    ", + "idempotent":true + }, + "UpdateInvestigationGroup":{ + "name":"UpdateInvestigationGroup", + "http":{ + "method":"PATCH", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateInvestigationGroupRequest"}, + "output":{"shape":"UpdateInvestigationGroupOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                    Updates the configuration of the specified investigation group.

                    ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    You don't have sufficient permissions to perform this action.

                    ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ChatConfigurationArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "ChatConfigurationArns":{ + "type":"list", + "member":{"shape":"ChatConfigurationArn"}, + "max":5, + "min":1 + }, + "ChatbotNotificationChannel":{ + "type":"map", + "key":{"shape":"SNSTopicArn"}, + "value":{"shape":"ChatConfigurationArns"} + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    This operation couldn't be completed because of a conflict in resource states.

                    ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateInvestigationGroupInput":{ + "type":"structure", + "required":[ + "name", + "roleArn" + ], + "members":{ + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                    A name for the investigation group.

                    " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                    Specify the ARN of the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                    For more information, see How to control what data Amazon Q has access to during investigations.

                    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

                    Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                    " + }, + "retentionInDays":{ + "shape":"Retention", + "documentation":"

                    Specify how long that investigation data is kept. For more information, see Operational investigation data retention.

                    If you omit this parameter, the default of 90 days is used.

                    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

                    A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the cloudwatch:TagResource permission.

                    Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                    " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                    Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                    You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                    " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                    Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                    " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                    Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                    " + } + } + }, + "CreateInvestigationGroupOutput":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                    The ARN of the investigation group that you just created.

                    " + } + } + }, + "DeleteInvestigationGroupPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to remove the policy from.

                    ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to delete.

                    ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "type":{ + "shape":"EncryptionConfigurationType", + "documentation":"

                    Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned kay.

                    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

                    If the investigation group uses a customer managed key for encryption, this field displays the ID of that key.

                    " + } + }, + "documentation":"

                    Use this structure to specify a customer managed KMS key to use to encrypt investigation data.

                    " + }, + "EncryptionConfigurationType":{ + "type":"string", + "enum":[ + "AWS_OWNED_KEY", + "CUSTOMER_MANAGED_KMS_KEY" + ] + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    Access id denied for this operation, or this operation is not valid for the specified resource.

                    ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "GetInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to view the policy of.

                    ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetInvestigationGroupPolicyResponse":{ + "type":"structure", + "members":{ + "investigationGroupArn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                    The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.

                    " + }, + "policy":{ + "shape":"InvestigationGroupPolicyDocument", + "documentation":"

                    The policy, in JSON format.

                    " + } + } + }, + "GetInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to view.

                    ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetInvestigationGroupResponse":{ + "type":"structure", + "members":{ + "createdBy":{ + "shape":"IdentifierStringWithPatternAndLengthLimits", + "documentation":"

                    The name of the user who created the investigation group.

                    " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

                    The date and time that the investigation group was created.

                    " + }, + "lastModifiedBy":{ + "shape":"IdentifierStringWithPatternAndLengthLimits", + "documentation":"

                    The name of the user who created the investigation group.

                    " + }, + "lastModifiedAt":{ + "shape":"Timestamp", + "documentation":"

                    The date and time that the investigation group was most recently modified.

                    " + }, + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                    The name of the investigation group.

                    " + }, + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                    The Amazon Resource Name (ARN) of the investigation group.

                    " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                    The ARN of the IAM role that the investigation group uses for permissions to gather data.

                    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

                    Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.

                    " + }, + "retentionInDays":{ + "shape":"Retention", + "documentation":"

                    Specifies how long that investigation data is kept.

                    " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                    This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of Amazon Q in chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                    " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                    Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources.

                    " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                    Specifies whether Amazon Q Developer operational investigationshas access to change events that are recorded by CloudTrail.

                    " + } + } + }, + "IdentifierStringWithPatternAndLengthLimits":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\-_\\/A-Za-z0-9:\\.]+" + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    An internal server error occurred. You can try again later.

                    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvestigationGroupArn":{ + "type":"string", + "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16}" + }, + "InvestigationGroupIdentifier":{ + "type":"string", + "pattern":"(?:[\\-_A-Za-z0-9]{1,512}|arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16})" + }, + "InvestigationGroupPolicyDocument":{ + "type":"string", + "max":32768, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "InvestigationGroups":{ + "type":"list", + "member":{"shape":"ListInvestigationGroupsModel"} + }, + "KmsKeyId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:.*" + }, + "ListInvestigationGroupsInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"SensitiveStringWithLengthLimits", + "documentation":"

                    Include this value, if it was returned by the previous operation, to get the next set of service operations.

                    ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListInvestigationGroupsInputMaxResultsInteger", + "documentation":"

                    The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

                    ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListInvestigationGroupsInputMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListInvestigationGroupsModel":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                    The Amazon Resource Name (ARN) of the investigation group.

                    " + }, + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                    The name of the investigation group.

                    " + } + }, + "documentation":"

                    This structure contains information about one investigation group in the account.

                    " + }, + "ListInvestigationGroupsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"SensitiveStringWithLengthLimits", + "documentation":"

                    Include this value in your next use of this operation to get the next set of service operations.

                    " + }, + "investigationGroups":{ + "shape":"InvestigationGroups", + "documentation":"

                    An array of structures, where each structure contains the information about one investigation group in the account.

                    " + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

                    The list of tag keys and values associated with the resource you specified.

                    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                    The ARN of the Amazon Q Developer operational investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                    The ARN format for an investigation group is arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id .

                    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "PutInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":[ + "identifier", + "policy" + ], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to assign the policy to.

                    ", + "location":"uri", + "locationName":"identifier" + }, + "policy":{ + "shape":"InvestigationGroupPolicyDocument", + "documentation":"

                    The policy, in JSON format.

                    " + } + } + }, + "PutInvestigationGroupPolicyResponse":{ + "type":"structure", + "members":{ + "investigationGroupArn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                    The ARN of the investigation group that will use this policy.

                    " + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    The specified resource doesn't exist.

                    ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Retention":{ + "type":"long", + "box":true, + "max":90, + "min":7 + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "SNSTopicArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "SensitiveStringWithLengthLimits":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

                    The resource that caused the quota exception.

                    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

                    The type of resource that caused the quota exception.

                    " + }, + "serviceCode":{ + "shape":"String", + "documentation":"

                    This name of the service associated with the error.

                    " + }, + "quotaCode":{ + "shape":"String", + "documentation":"

                    This quota that was exceeded.

                    " + } + }, + "documentation":"

                    This request exceeds a service quota.

                    ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "StringWithPatternAndLengthLimits":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\-_A-Za-z0-9\\[\\]\\(\\)\\{\\}\\.: ]+" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)" + }, + "TagKeyBoundaries":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                    The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

                    The list of key-value pairs to associate with the resource.

                    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    The request was throttled because of quota limits. You can try again later.

                    ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                    The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

                    The list of tag keys to remove from the resource.

                    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateInvestigationGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                    Specify either the name or the ARN of the investigation group that you want to modify.

                    ", + "location":"uri", + "locationName":"identifier" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                    Specify this field if you want to change the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.

                    The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                    For more information, see EHow to control what data Amazon Q has access to during investigations.

                    " + }, + "encryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

                    Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                    " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                    Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                    You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                    " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                    Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                    " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                    Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                    " + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                    This operation or its parameters aren't formatted correctly.

                    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

                    The Amazon Q Developer operational investigations feature is a generative AI-powered assistant that can help you respond to incidents in your system. It uses generative AI to scan your system's telemetry and quickly surface suggestions that might be related to your issue. These suggestions include metrics, logs, deployment events, and root-cause hypotheses.

                    You can use API actions to create, manage, and delete investigation groups and investigation group policies. To start and manage investigations, you must use the CloudWatch console.

                    " +} diff --git a/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json b/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json index 1b2753c7089..8820a1c6af4 100644 --- a/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json +++ b/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json @@ -1552,6 +1552,10 @@ "shape":"AutoScalingGroupNames", "documentation":"

                    The names of the Auto Scaling groups. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords property.

                    If you omit this property, all Auto Scaling groups are described.

                    " }, + "IncludeInstances":{ + "shape":"IncludeInstances", + "documentation":"

                    Specifies whether to include information about Amazon EC2 instances in the response. When set to true (default), the response includes instance details.

                    " + }, "NextToken":{ "shape":"XmlString", "documentation":"

                    The token for the next set of items to return. (You received this token from a previous call.)

                    " @@ -3172,6 +3176,7 @@ ] }, "IncludeDeletedGroups":{"type":"boolean"}, + "IncludeInstances":{"type":"boolean"}, "Instance":{ "type":"structure", "required":[ @@ -5983,5 +5988,5 @@ }, "ZonalShiftEnabled":{"type":"boolean"} }, - "documentation":"Amazon EC2 Auto Scaling

                    Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

                    For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                    " + "documentation":"Amazon EC2 Auto Scaling

                    The DescribeAutoScalingGroups API operation might be throttled when retrieving details for an Auto Scaling group that contains many instances. By default, this operation returns details for all instances in the group. To help prevent throttling, you can set the IncludeInstances parameter to false to exclude instance details from the response.

                    Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

                    For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                    " } diff --git a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json index 20a6eb7ef6d..b8ff939eb9c 100644 --- a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json +++ b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json @@ -1143,7 +1143,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnrecognizedClientException"} ], - "documentation":"

                    Uploads a batch of log events to the specified log stream.

                    The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

                    The batch of events must satisfy the following constraints:

                    • The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

                    • None of the log events in the batch can be more than 2 hours in the future.

                    • None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group.

                    • The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                    • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

                    • Each log event can be no larger than 1 MB.

                    • The maximum number of log events in a batch is 10,000.

                    • The quota of five requests per second per log stream has been removed. Instead, PutLogEvents actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service.

                    If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

                    " + "documentation":"

                    Uploads a batch of log events to the specified log stream.

                    The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

                    The batch of events must satisfy the following constraints:

                    • The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

                    • Events more than 2 hours in the future are rejected while processing remaining valid events.

                    • Events older than 14 days or preceding the log group's retention period are rejected while processing remaining valid events.

                    • The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                    • A batch of log events in a single request must be in a chronological order. Otherwise, the operation fails.

                    • Each log event can be no larger than 1 MB.

                    • The maximum number of log events in a batch is 10,000.

                    • For valid events (within 14 days in the past to 2 hours in future), the time span in a single batch cannot exceed 24 hours. Otherwise, the operation fails.

                    The quota of five requests per second per log stream has been removed. Instead, PutLogEvents actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service.

                    If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

                    " }, "PutMetricFilter":{ "name":"PutMetricFilter", @@ -3255,6 +3255,16 @@ "min":1 }, "EventNumber":{"type":"long"}, + "EventSource":{ + "type":"string", + "enum":[ + "CloudTrail", + "Route53Resolver", + "VPCFlow", + "EKSAudit", + "AWSWAF" + ] + }, "EventsLimit":{ "type":"integer", "max":10000, @@ -4859,6 +4869,10 @@ "max":128, "min":1 }, + "OCSFVersion":{ + "type":"string", + "enum":["V1.1"] + }, "OpenSearchApplication":{ "type":"structure", "members":{ @@ -5238,6 +5252,28 @@ }, "documentation":"

                    Use this processor to parse Route 53 vended logs, extract fields, and and convert them into a JSON format. This processor always processes the entire log event message. For more information about this processor including examples, see parseRoute53.

                    If you use this processor, it must be the first processor in your transformer.

                    " }, + "ParseToOCSF":{ + "type":"structure", + "required":[ + "eventSource", + "ocsfVersion" + ], + "members":{ + "source":{ + "shape":"Source", + "documentation":"

                    The path to the field in the log event that you want to parse. If you omit this value, the whole log message is parsed.

                    " + }, + "eventSource":{ + "shape":"EventSource", + "documentation":"

                    Specify the service or process that produces the log events that will be converted with this processor.

                    " + }, + "ocsfVersion":{ + "shape":"OCSFVersion", + "documentation":"

                    Specify which version of the OCSF schema to use for the transformed log events.

                    " + } + }, + "documentation":"

                    This processor converts logs into Open Cybersecurity Schema Framework (OCSF) events.

                    For more information about this processor including examples, see parseToOSCF in the CloudWatch Logs User Guide.

                    " + }, "ParseVPC":{ "type":"structure", "members":{ @@ -5395,6 +5431,10 @@ "shape":"ParseRoute53", "documentation":"

                    Use this parameter to include the parseRoute53 processor in your transformer.

                    If you use this processor, it must be the first processor in your transformer.

                    " }, + "parseToOCSF":{ + "shape":"ParseToOCSF", + "documentation":"

                    Use this processor to convert logs into Open Cybersecurity Schema Framework (OCSF) format

                    " + }, "parsePostgres":{ "shape":"ParsePostgres", "documentation":"

                    Use this parameter to include the parsePostGres processor in your transformer.

                    If you use this processor, it must be the first processor in your transformer.

                    " @@ -5591,7 +5631,7 @@ }, "logType":{ "shape":"LogType", - "documentation":"

                    Defines the type of log that the source is sending.

                    • For Amazon Bedrock, the valid value is APPLICATION_LOGS.

                    • For CloudFront, the valid value is ACCESS_LOGS.

                    • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

                    • For Elemental MediaPackage, the valid values are EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                    • For Elemental MediaTailor, the valid values are AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                    • For IAM Identity Center, the valid value is ERROR_LOGS.

                    • For Amazon Q, the valid value is EVENT_LOGS.

                    • For Amazon SES mail manager, the valid value is APPLICATION_LOG.

                    • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                    " + "documentation":"

                    Defines the type of log that the source is sending.

                    • For Amazon Bedrock, the valid value is APPLICATION_LOGS.

                    • For CloudFront, the valid value is ACCESS_LOGS.

                    • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

                    • For Elemental MediaPackage, the valid values are EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                    • For Elemental MediaTailor, the valid values are AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                    • For Entity Resolution, the valid value is WORKFLOW_LOGS.

                    • For IAM Identity Center, the valid value is ERROR_LOGS.

                    • For Amazon Q, the valid value is EVENT_LOGS.

                    • For Amazon SES mail manager, the valid values are APPLICATION_LOG and TRAFFIC_POLICY_DEBUG_LOGS.

                    • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                    " }, "tags":{ "shape":"Tags", diff --git a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json index ade1acb5e20..be427deb1a6 100644 --- a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json +++ b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json @@ -50,7 +50,7 @@ "errors":[ {"shape":"ObjectNotInActiveTierError"} ], - "documentation":"

                    Creates a copy of an object that is already stored in Amazon S3.

                    You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

                    You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets.

                    • Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

                    Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

                    Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

                    Authentication and authorization

                    All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see REST Authentication.

                    Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the temporary security credentials through the CreateSession API operation.

                    Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

                    Permissions

                    You must have read access to the source object and write access to the destination bucket.

                    • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

                      • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

                      • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

                    • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

                      • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

                      • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

                      If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                      For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

                    Response and special errors

                    When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

                    • If the copy is successful, you receive a response with information about the copied object.

                    • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

                      • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

                      • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

                        If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

                    Charge

                    The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

                    HTTP Host header syntax
                    • Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    • Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                    The following operations are related to CopyObject:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    Creates a copy of an object that is already stored in Amazon S3.

                    You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

                    You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets.

                    • Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

                    Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

                    Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

                    Authentication and authorization

                    All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see REST Authentication.

                    Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the temporary security credentials through the CreateSession API operation.

                    Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

                    Permissions

                    You must have read access to the source object and write access to the destination bucket.

                    • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

                      • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

                      • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

                    • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

                      • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

                      • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

                      If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                      For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

                    Response and special errors

                    When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

                    • If the copy is successful, you receive a response with information about the copied object.

                    • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

                      • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

                      • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

                        If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

                    Charge

                    The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

                    HTTP Host header syntax
                    • Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    • Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                    The following operations are related to CopyObject:

                    ", "staticContextParams":{ "DisableS3ExpressSessionAuth":{"value":true} } @@ -67,7 +67,7 @@ {"shape":"BucketAlreadyExists"}, {"shape":"BucketAlreadyOwnedByYou"} ], - "documentation":"

                    This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

                    Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                    There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see Creating, configuring, and working with Amazon S3 buckets in the Amazon S3 User Guide.

                    • General purpose buckets - If you send your CreateBucket request to the s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

                      • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

                      • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                      • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

                        To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

                        For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                      • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                    • Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                      The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

                      For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                    The following operations are related to CreateBucket:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

                    Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                    There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see Creating, configuring, and working with Amazon S3 buckets in the Amazon S3 User Guide.

                    • General purpose buckets - If you send your CreateBucket request to the s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

                      • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

                      • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                      • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

                        To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

                        For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                      • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                    • Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                      The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

                      For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                    The following operations are related to CreateBucket:

                    ", "staticContextParams":{ "DisableAccessPoints":{"value":true}, "UseS3ExpressControlEndpoint":{"value":true} @@ -97,7 +97,7 @@ }, "input":{"shape":"CreateMultipartUploadRequest"}, "output":{"shape":"CreateMultipartUploadOutput"}, - "documentation":"

                    This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview in the Amazon S3 User Guide.

                    After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload.

                    If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

                    • Directory buckets - S3 Lifecycle is not supported by directory buckets.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Request signing

                    For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    Encryption
                    • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

                      • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

                        • x-amz-server-side-encryption

                        • x-amz-server-side-encryption-aws-kms-key-id

                        • x-amz-server-side-encryption-context

                        • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

                        • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                        • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

                        • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

                        For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

                      • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

                        • x-amz-server-side-encryption-customer-algorithm

                        • x-amz-server-side-encryption-customer-key

                        • x-amz-server-side-encryption-customer-key-MD5

                        For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

                    • Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                      In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket.

                      When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

                      For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to CreateMultipartUpload:

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview in the Amazon S3 User Guide.

                    After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload.

                    If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

                    • Directory buckets - S3 Lifecycle is not supported by directory buckets.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Request signing

                    For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    Encryption
                    • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

                      • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

                        • x-amz-server-side-encryption

                        • x-amz-server-side-encryption-aws-kms-key-id

                        • x-amz-server-side-encryption-context

                        • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

                        • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                        • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

                        • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

                        For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

                      • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

                        • x-amz-server-side-encryption-customer-algorithm

                        • x-amz-server-side-encryption-customer-key

                        • x-amz-server-side-encryption-customer-key-MD5

                        For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

                    • Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                      In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket.

                      When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

                      For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to CreateMultipartUpload:

                    " }, "CreateSession":{ "name":"CreateSession", @@ -367,7 +367,7 @@ }, "input":{"shape":"GetBucketAclRequest"}, "output":{"shape":"GetBucketAclOutput"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

                    When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                    When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

                    The following operations are related to GetBucketAcl:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

                    When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                    When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

                    The following operations are related to GetBucketAcl:

                    ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -485,7 +485,7 @@ }, "input":{"shape":"GetBucketLoggingRequest"}, "output":{"shape":"GetBucketLoggingOutput"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Returns the logging status of a bucket and the permissions users have to view and modify that status.

                    The following operations are related to GetBucketLogging:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Returns the logging status of a bucket and the permissions users have to view and modify that status.

                    The following operations are related to GetBucketLogging:

                    ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -551,7 +551,7 @@ }, "input":{"shape":"GetBucketOwnershipControlsRequest"}, "output":{"shape":"GetBucketOwnershipControlsOutput"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

                    For information about Amazon S3 Object Ownership, see Using Object Ownership.

                    The following operations are related to GetBucketOwnershipControls:

                    ", + "documentation":"

                    This operation is not supported for directory buckets.

                    Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

                    A bucket doesn't have OwnershipControls settings in the following cases:

                    • The bucket was created before the BucketOwnerEnforced ownership setting was introduced and you've never explicitly applied this value

                    • You've manually deleted the bucket ownership control value using the DeleteBucketOwnershipControls API operation.

                    By default, Amazon S3 sets OwnershipControls for all newly created buckets.

                    For information about Amazon S3 Object Ownership, see Using Object Ownership.

                    The following operations are related to GetBucketOwnershipControls:

                    ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -843,7 +843,7 @@ }, "input":{"shape":"ListBucketsRequest"}, "output":{"shape":"ListBucketsOutput"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

                    For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

                    We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000.

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

                    For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

                    We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000.

                    " }, "ListDirectoryBuckets":{ "name":"ListDirectoryBuckets", @@ -866,7 +866,7 @@ }, "input":{"shape":"ListMultipartUploadsRequest"}, "output":{"shape":"ListMultipartUploadsOutput"}, - "documentation":"

                    This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted.

                    Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads.

                    The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response.

                    Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response.

                    For more information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                    Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    Sorting of multipart uploads in response
                    • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

                      • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

                      • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

                    • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to ListMultipartUploads:

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted.

                    Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads.

                    The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response.

                    Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response.

                    For more information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                    Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    Sorting of multipart uploads in response
                    • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

                      • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

                      • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

                    • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to ListMultipartUploads:

                    " }, "ListObjectVersions":{ "name":"ListObjectVersions", @@ -876,7 +876,7 @@ }, "input":{"shape":"ListObjectVersionsRequest"}, "output":{"shape":"ListObjectVersionsOutput"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

                    To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

                    A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

                    To use this operation, you must have READ access to the bucket.

                    The following operations are related to ListObjectVersions:

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

                    To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

                    A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

                    To use this operation, you must have READ access to the bucket.

                    The following operations are related to ListObjectVersions:

                    " }, "ListObjects":{ "name":"ListObjects", @@ -889,7 +889,7 @@ "errors":[ {"shape":"NoSuchBucket"} ], - "documentation":"

                    This operation is not supported for directory buckets.

                    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

                    This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                    The following operations are related to ListObjects:

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

                    This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                    The following operations are related to ListObjects:

                    " }, "ListObjectsV2":{ "name":"ListObjectsV2", @@ -912,7 +912,7 @@ }, "input":{"shape":"ListPartsRequest"}, "output":{"shape":"ListPartsOutput"}, - "documentation":"

                    Lists the parts that have been uploaded for a specific multipart upload.

                    To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                    The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                    For more information on multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                    Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                      If the upload was created using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt action for the ListParts request to succeed.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to ListParts:

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    Lists the parts that have been uploaded for a specific multipart upload.

                    To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                    The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                    For more information on multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                    Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Permissions
                    • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                      If the upload was created using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt action for the ListParts request to succeed.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    The following operations are related to ListParts:

                    " }, "PutBucketAccelerateConfiguration":{ "name":"PutBucketAccelerateConfiguration", @@ -937,7 +937,7 @@ "requestUri":"/{Bucket}?acl" }, "input":{"shape":"PutBucketAclRequest"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have the WRITE_ACP permission.

                    You can use one of the following two ways to set a bucket's permissions:

                    • Specify the ACL in the request body

                    • Specify permissions using request headers

                    You cannot specify access permission using both the body and the request headers.

                    Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                    Permissions

                    You can set access permissions by using one of the following methods:

                    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                      You specify each grantee as a type=value pair, where the type is one of the following:

                      • id – if the value specified is the canonical user ID of an Amazon Web Services account

                      • uri – if you are granting permissions to a predefined group

                      • emailAddress – if the value specified is the email address of an Amazon Web Services account

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        • US East (N. Virginia)

                        • US West (N. California)

                        • US West (Oregon)

                        • Asia Pacific (Singapore)

                        • Asia Pacific (Sydney)

                        • Asia Pacific (Tokyo)

                        • Europe (Ireland)

                        • South America (São Paulo)

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses.

                      x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\", id=\"555566667777\"

                    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      • US East (N. Virginia)

                      • US West (N. California)

                      • US West (Oregon)

                      • Asia Pacific (Singapore)

                      • Asia Pacific (Sydney)

                      • Asia Pacific (Tokyo)

                      • Europe (Ireland)

                      • South America (São Paulo)

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                    The following operations are related to PutBucketAcl:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have the WRITE_ACP permission.

                    You can use one of the following two ways to set a bucket's permissions:

                    • Specify the ACL in the request body

                    • Specify permissions using request headers

                    You cannot specify access permission using both the body and the request headers.

                    Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                    Permissions

                    You can set access permissions by using one of the following methods:

                    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                      You specify each grantee as a type=value pair, where the type is one of the following:

                      • id – if the value specified is the canonical user ID of an Amazon Web Services account

                      • uri – if you are granting permissions to a predefined group

                      • emailAddress – if the value specified is the email address of an Amazon Web Services account

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        • US East (N. Virginia)

                        • US West (N. California)

                        • US West (Oregon)

                        • Asia Pacific (Singapore)

                        • Asia Pacific (Sydney)

                        • Asia Pacific (Tokyo)

                        • Europe (Ireland)

                        • South America (São Paulo)

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses.

                      x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\", id=\"555566667777\"

                    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      • US East (N. Virginia)

                      • US West (N. California)

                      • US West (Oregon)

                      • Asia Pacific (Singapore)

                      • Asia Pacific (Sydney)

                      • Asia Pacific (Tokyo)

                      • Europe (Ireland)

                      • South America (São Paulo)

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                    The following operations are related to PutBucketAcl:

                    ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1055,7 +1055,7 @@ "requestUri":"/{Bucket}?logging" }, "input":{"shape":"PutBucketLoggingRequest"}, - "documentation":"

                    This operation is not supported for directory buckets.

                    Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

                    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

                    If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways:

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request.

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GETObjectAcl request, appears as the CanonicalUser.

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

                    <BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

                    For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

                    For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

                    The following operations are related to PutBucketLogging:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    This operation is not supported for directory buckets.

                    Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

                    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

                    If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request.

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GETObjectAcl request, appears as the CanonicalUser.

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

                    <BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

                    For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

                    For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

                    The following operations are related to PutBucketLogging:

                    ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1231,7 +1231,7 @@ {"shape":"TooManyParts"}, {"shape":"EncryptionTypeMismatch"} ], - "documentation":"

                    Adds an object to a bucket.

                    • Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

                    • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

                    • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

                      This functionality is not supported for directory buckets.

                    • If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                      Expects the * character (asterisk).

                      For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.

                      This functionality is not supported for S3 on Outposts.

                    • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

                      This functionality is not supported for directory buckets.

                    Permissions
                    • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

                      • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

                      • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

                      • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                      If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                    Data integrity with Content-MD5
                    • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

                    • Directory bucket - This functionality is not supported for directory buckets.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    For more information about related Amazon S3 APIs, see the following:

                    ", + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    Adds an object to a bucket.

                    • Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

                    • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

                    • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                    Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

                    • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

                      This functionality is not supported for directory buckets.

                    • If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                      Expects the * character (asterisk).

                      For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.

                      This functionality is not supported for S3 on Outposts.

                    • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

                      This functionality is not supported for directory buckets.

                    Permissions
                    • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

                      • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

                      • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

                      • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

                    • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                      If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                    Data integrity with Content-MD5
                    • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

                    • Directory bucket - This functionality is not supported for directory buckets.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    For more information about related Amazon S3 APIs, see the following:

                    ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":false @@ -1248,7 +1248,7 @@ "errors":[ {"shape":"NoSuchKey"} ], - "documentation":"

                    This operation is not supported for directory buckets.

                    Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

                    This functionality is not supported for Amazon S3 on Outposts.

                    Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                    Permissions

                    You can set access permissions using one of the following methods:

                    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                      You specify each grantee as a type=value pair, where the type is one of the following:

                      • id – if the value specified is the canonical user ID of an Amazon Web Services account

                      • uri – if you are granting permissions to a predefined group

                      • emailAddress – if the value specified is the email address of an Amazon Web Services account

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        • US East (N. Virginia)

                        • US West (N. California)

                        • US West (Oregon)

                        • Asia Pacific (Singapore)

                        • Asia Pacific (Sydney)

                        • Asia Pacific (Tokyo)

                        • Europe (Ireland)

                        • South America (São Paulo)

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      For example, the following x-amz-grant-read header grants list objects permission to the two Amazon Web Services accounts identified by their email addresses.

                      x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"

                    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request.

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      • US East (N. Virginia)

                      • US West (N. California)

                      • US West (Oregon)

                      • Asia Pacific (Singapore)

                      • Asia Pacific (Sydney)

                      • Asia Pacific (Tokyo)

                      • Europe (Ireland)

                      • South America (São Paulo)

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                    Versioning

                    The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

                    The following operations are related to PutObjectAcl:

                    ", + "documentation":"

                    This operation is not supported for directory buckets.

                    Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

                    This functionality is not supported for Amazon S3 on Outposts.

                    Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                    If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                    Permissions

                    You can set access permissions using one of the following methods:

                    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                      You specify each grantee as a type=value pair, where the type is one of the following:

                      • id – if the value specified is the canonical user ID of an Amazon Web Services account

                      • uri – if you are granting permissions to a predefined group

                      • emailAddress – if the value specified is the email address of an Amazon Web Services account

                        Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                        • US East (N. Virginia)

                        • US West (N. California)

                        • US West (Oregon)

                        • Asia Pacific (Singapore)

                        • Asia Pacific (Sydney)

                        • Asia Pacific (Tokyo)

                        • Europe (Ireland)

                        • South America (São Paulo)

                        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                      For example, the following x-amz-grant-read header grants list objects permission to the two Amazon Web Services accounts identified by their email addresses.

                      x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"

                    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                    Grantee Values

                    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                    • By the person's ID:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                      DisplayName is optional and ignored in the request.

                    • By URI:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                    • By Email address:

                      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

                      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                      • US East (N. Virginia)

                      • US West (N. California)

                      • US West (Oregon)

                      • Asia Pacific (Singapore)

                      • Asia Pacific (Sydney)

                      • Asia Pacific (Tokyo)

                      • Europe (Ireland)

                      • South America (São Paulo)

                      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                    Versioning

                    The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

                    The following operations are related to PutObjectAcl:

                    ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1326,6 +1326,19 @@ "UseS3ExpressControlEndpoint":{"value":true} } }, + "RenameObject":{ + "name":"RenameObject", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}/{Key+}?renameObject" + }, + "input":{"shape":"RenameObjectRequest"}, + "output":{"shape":"RenameObjectOutput"}, + "errors":[ + {"shape":"IdempotencyParameterMismatch"} + ], + "documentation":"

                    Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class. You can use RenameObject by specifying an existing object’s name as the source and the new name of the object as the destination within the same directory bucket.

                    RenameObject is only supported for objects stored in the S3 Express One Zone storage class.

                    To prevent overwriting an object, you can use the If-None-Match conditional header.

                    • If-None-Match - Renames the object only if an object with the specified name does not already exist in the directory bucket. If you don't want to overwrite an existing object, you can add the If-None-Match conditional header with the value ‘*’ in the RenameObject request. Amazon S3 then returns a 412 Precondition Failed error if the object with the specified name already exists. For more information, see RFC 7232.

                    Permissions

                    To grant access to the RenameObject operation on a directory bucket, we recommend that you use the CreateSession operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the directory bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including refreshing the session token automatically to avoid service interruptions when a session expires. In your bucket policy, you can specify the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. A ReadWrite session is required for executing all the Zonal endpoint API operations, including RenameObject. For more information about authorization, see CreateSession . To learn more about Zonal endpoint APT operations, see Authorizing Zonal endpoint API operations with CreateSession in the Amazon S3 User Guide.

                    HTTP Host header syntax

                    Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                    " + }, "RestoreObject":{ "name":"RestoreObject", "http":{ @@ -1994,6 +2007,7 @@ "FULL_OBJECT" ] }, + "ClientToken":{"type":"string"}, "CloudFunction":{"type":"string"}, "CloudFunctionConfiguration":{ "type":"structure", @@ -3374,6 +3388,12 @@ "documentation":"

                    The ID used to identify the S3 Intelligent-Tiering configuration.

                    ", "location":"querystring", "locationName":"id" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                    ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -4362,6 +4382,12 @@ "documentation":"

                    The ID used to identify the S3 Intelligent-Tiering configuration.

                    ", "location":"querystring", "locationName":"id" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                    ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -5004,7 +5030,7 @@ }, "Parts":{ "shape":"PartsList", - "documentation":"

                    A container for elements related to a particular part. A response can contain zero or more Parts elements.

                    • General purpose buckets - For GetObjectAttributes, if a additional checksum (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't applied to the object specified in the request, the response doesn't return Part.

                    • Directory buckets - For GetObjectAttributes, no matter whether a additional checksum is applied to the object specified in the request, the response returns Part.

                    ", + "documentation":"

                    A container for elements related to a particular part. A response can contain zero or more Parts elements.

                    • General purpose buckets - For GetObjectAttributes, if an additional checksum (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't applied to the object specified in the request, the response doesn't return the Part element.

                    • Directory buckets - For GetObjectAttributes, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the Part element.

                    ", "locationName":"Part" } }, @@ -6044,6 +6070,12 @@ "location":"header", "locationName":"x-amz-mp-parts-count" }, + "TagCount":{ + "shape":"TagCount", + "documentation":"

                    The number of tags, if any, on the object, when you have the relevant permission to read object tags.

                    You can use GetObjectTagging to retrieve the tag set associated with an object.

                    This functionality is not supported for directory buckets.

                    ", + "location":"header", + "locationName":"x-amz-tagging-count" + }, "ObjectLockMode":{ "shape":"ObjectLockMode", "documentation":"

                    The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the s3:GetObjectRetention permission. For more information about S3 Object Lock, see Object Lock.

                    This functionality is not supported for directory buckets.

                    ", @@ -6204,6 +6236,13 @@ "HttpErrorCodeReturnedEquals":{"type":"string"}, "HttpRedirectCode":{"type":"string"}, "ID":{"type":"string"}, + "IdempotencyParameterMismatch":{ + "type":"structure", + "members":{}, + "documentation":"

                    Parameters on this idempotent request are inconsistent with parameters used in previous request(s).

                    For a list of error codes and more information on Amazon S3 errors, see Error codes.

                    Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                    ", + "error":{"httpStatusCode":400}, + "exception":true + }, "IfMatch":{"type":"string"}, "IfMatchInitiatedTime":{ "type":"timestamp", @@ -6841,6 +6880,12 @@ "documentation":"

                    The ContinuationToken that represents a placeholder from where this request should begin.

                    ", "location":"querystring", "locationName":"continuation-token" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                    ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -7419,7 +7464,7 @@ }, "ContinuationToken":{ "shape":"Token", - "documentation":"

                    If ContinuationToken was sent with the request, it is included in the response. You can use the returned ContinuationToken for pagination of the list response. You can use this ContinuationToken for pagination of the list results.

                    " + "documentation":"

                    If ContinuationToken was sent with the request, it is included in the response. You can use the returned ContinuationToken for pagination of the list response.

                    " }, "NextContinuationToken":{ "shape":"NextToken", @@ -8431,7 +8476,7 @@ "documentation":"

                    Container for the ID of the owner.

                    " } }, - "documentation":"

                    Container for the owner's display name and ID.

                    " + "documentation":"

                    End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                    This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                    Container for the owner's display name and ID.

                    " }, "OwnerOverride":{ "type":"string", @@ -8887,6 +8932,12 @@ "location":"querystring", "locationName":"id" }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                    The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                    ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" + }, "IntelligentTieringConfiguration":{ "shape":"IntelligentTieringConfiguration", "documentation":"

                    Container for S3 Intelligent-Tiering configuration.

                    ", @@ -10373,6 +10424,109 @@ "max":20, "min":0 }, + "RenameObjectOutput":{ + "type":"structure", + "members":{} + }, + "RenameObjectRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key", + "RenameSource" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

                    The bucket name of the directory bucket containing the object.

                    You must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

                    ", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

                    Key name of the object to rename.

                    ", + "contextParam":{"name":"Key"}, + "location":"uri", + "locationName":"Key" + }, + "RenameSource":{ + "shape":"RenameSource", + "documentation":"

                    Specifies the source for the rename operation. The value must be URL encoded.

                    ", + "location":"header", + "locationName":"x-amz-rename-source" + }, + "DestinationIfMatch":{ + "shape":"IfMatch", + "documentation":"

                    Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The If-Match header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a 412 Precondition Failed error.

                    Expects the ETag value as a string.

                    ", + "location":"header", + "locationName":"If-Match" + }, + "DestinationIfNoneMatch":{ + "shape":"IfNoneMatch", + "documentation":"

                    Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with If-None-Match:*, the S3 API will return a 412 Precondition Failed error, preventing an overwrite. The If-None-Match header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.

                    Expects the * character (asterisk).

                    ", + "location":"header", + "locationName":"If-None-Match" + }, + "DestinationIfModifiedSince":{ + "shape":"IfModifiedSince", + "documentation":"

                    Renames the object if the destination exists and if it has been modified since the specified time.

                    ", + "location":"header", + "locationName":"If-Modified-Since" + }, + "DestinationIfUnmodifiedSince":{ + "shape":"IfUnmodifiedSince", + "documentation":"

                    Renames the object if it hasn't been modified since the specified time.

                    ", + "location":"header", + "locationName":"If-Unmodified-Since" + }, + "SourceIfMatch":{ + "shape":"RenameSourceIfMatch", + "documentation":"

                    Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.

                    ", + "location":"header", + "locationName":"x-amz-rename-source-if-match" + }, + "SourceIfNoneMatch":{ + "shape":"RenameSourceIfNoneMatch", + "documentation":"

                    Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (*) character is provided, the operation will fail and return a 412 Precondition Failed error.

                    ", + "location":"header", + "locationName":"x-amz-rename-source-if-none-match" + }, + "SourceIfModifiedSince":{ + "shape":"RenameSourceIfModifiedSince", + "documentation":"

                    Renames the object if the source exists and if it has been modified since the specified time.

                    ", + "location":"header", + "locationName":"x-amz-rename-source-if-modified-since" + }, + "SourceIfUnmodifiedSince":{ + "shape":"RenameSourceIfUnmodifiedSince", + "documentation":"

                    Renames the object if the source exists and hasn't been modified since the specified time.

                    ", + "location":"header", + "locationName":"x-amz-rename-source-if-unmodified-since" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

                    A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. RenameObject supports idempotency using a client token. To make an idempotent API request using RenameObject, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an IdempotentParameterMismatch error is returned.

                    ", + "idempotencyToken":true, + "location":"header", + "locationName":"x-amz-client-token" + } + } + }, + "RenameSource":{ + "type":"string", + "pattern":"\\/?.+\\/.+" + }, + "RenameSourceIfMatch":{"type":"string"}, + "RenameSourceIfModifiedSince":{ + "type":"timestamp", + "timestampFormat":"rfc822" + }, + "RenameSourceIfNoneMatch":{"type":"string"}, + "RenameSourceIfUnmodifiedSince":{ + "type":"timestamp", + "timestampFormat":"rfc822" + }, "ReplaceKeyPrefixWith":{"type":"string"}, "ReplaceKeyWith":{"type":"string"}, "ReplicaKmsKeyID":{"type":"string"}, diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index 33421aff669..caeb06da604 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -7983,6 +7983,7 @@ "ml.g6e.48xlarge", "ml.p5e.48xlarge", "ml.p5en.48xlarge", + "ml.p6-b200.48xlarge", "ml.trn2.48xlarge", "ml.c6i.large", "ml.c6i.xlarge", diff --git a/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json new file mode 100644 index 00000000000..aabfd5a429f --- /dev/null +++ b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json new file mode 100644 index 00000000000..de9ed7358e6 --- /dev/null +++ b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-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://aiops-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://aiops.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": { + "url": "https://aiops.us-east-1.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://aiops-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://aiops-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://aiops.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://aiops.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://aiops-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://aiops-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://aiops.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://aiops.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://aiops-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://aiops.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://aiops-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://aiops.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" + } + }, + "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" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 91c72ad3b7e..905816a425c 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "opensearchserverless.2021-11-01": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "rbin.2021-06-15": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "sso-admin.2020-07-20": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "dlm.2018-01-12": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "support-app.2021-08-20": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "efs.2015-02-01": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "mediapackage.2017-10-12": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "connectcases.2022-10-03": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "athena.2017-05-18": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "keyspaces.2022-02-10": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "pipes.2015-10-07": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "network-firewall.2020-11-12": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "cloudsearch.2013-01-01": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "cloud9.2017-09-23": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "rds.2014-10-31": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "route53profiles.2018-05-10": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "drs.2020-02-26": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "pricing.2017-10-15": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "amplifybackend.2020-08-11": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "rds-data.2018-08-01": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "ecr-public.2020-10-30": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "forecast.2018-06-26": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "frauddetector.2019-11-15": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "ebs.2019-11-02": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "route-53-domains.2014-05-15": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "opensearch.2021-01-01": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "codecatalyst.2022-09-28": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "s3-control.2018-08-20": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "application-insights.2018-11-25": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "glue.2017-03-31": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "mediaconnect.2018-11-14": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "auditmanager.2017-07-25": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "devops-guru.2020-12-01": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "detective.2018-10-26": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "medical-imaging.2023-07-19": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "resource-groups.2017-11-27": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "sesv2.2019-09-27": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "securitylake.2018-05-10": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "pinpoint.2016-12-01": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "inspector-scan.2023-08-08": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "translate.2017-07-01": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "opsworkscm.2016-11-01": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "b2bi.2022-06-23": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "mediastore-data.2017-09-01": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "cloudwatch.2010-08-01": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "organizations.2016-11-28": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "health.2016-08-04": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "redshift.2012-12-01": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "notifications.2018-05-10": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "sts.2011-06-15": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "iotsitewise.2019-12-02": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "config-service.2014-11-12": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "databrew.2017-07-25": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "healthlake.2017-07-01": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "repostspace.2022-05-13": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "resiliencehub.2020-04-30": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "groundstation.2019-05-23": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "glacier.2012-06-01": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "firehose.2015-08-04": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "fms.2018-01-01": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "qapps.2023-11-27": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "account.2021-02-01": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "wisdom.2020-10-19": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "rekognition.2016-06-27": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "api-gateway.2015-07-09": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "amp.2020-08-01": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "fis.2020-12-01": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "datasync.2018-11-09": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "appflow.2020-08-23": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "pcs.2023-02-10": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "comprehend.2017-11-27": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "auto-scaling.2011-01-01": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "sfn.2016-11-23": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "neptune.2014-10-31": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "polly.2016-06-10": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "snowball.2016-06-30": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "route-53.2013-04-01": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "s3tables.2018-05-10": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "wellarchitected.2020-03-31": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "lambda.2015-03-31": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "ecs.2014-11-13": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "macie2.2020-01-01": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "neptune-graph.2023-11-29": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "sms.2016-10-24": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "mediaconvert.2017-08-29": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "socialmessaging.2024-01-01": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "sagemaker.2017-07-24": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "cloudhsm.2014-05-30": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "braket.2019-09-01": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "backup.2018-11-15": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "finspace-data.2020-07-13": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "cloudtrail.2013-11-01": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "service-quotas.2019-06-24": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "savingsplans.2019-06-28": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "memorydb.2021-01-01": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "dax.2017-04-19": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,20 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "wellarchitected.2020-03-31": { + "imports": [ + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1662,9 @@ } } }, - "appintegrations.2020-07-29": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1673,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1684,9 @@ } } }, - "global-accelerator.2018-08-08": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1695,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1706,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1717,9 @@ } } }, - "license-manager.2018-08-01": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1728,9 @@ } } }, - "redshift-data.2019-12-20": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1739,9 @@ } } }, - "snow-device-management.2021-08-04": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1750,9 @@ } } }, - "scheduler.2021-06-30": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1761,9 @@ } } }, - "personalize-events.2018-03-22": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1772,9 @@ } } }, - "billingconductor.2021-07-30": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1783,9 @@ } } }, - "appstream.2016-12-01": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1794,9 @@ } } }, - "artifact.2018-05-10": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1805,9 @@ } } }, - "neptunedata.2023-08-01": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1816,9 @@ } } }, - "direct-connect.2012-10-25": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1827,9 @@ } } }, - "device-farm.2015-06-23": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1838,9 @@ } } }, - "kafka.2018-11-14": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1849,9 @@ } } }, - "geo-maps.2020-11-19": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1860,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1871,9 @@ } } }, - "application-signals.2024-04-15": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1882,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1893,9 @@ } } }, - "networkmonitor.2023-08-01": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1904,9 @@ } } }, - "emr-containers.2020-10-01": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1915,9 @@ } } }, - "imagebuilder.2019-12-02": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1926,9 @@ } } }, - "entityresolution.2018-05-10": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1937,9 @@ } } }, - "iot.2015-05-28": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1948,9 @@ } } }, - "cleanrooms.2022-02-17": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1959,9 @@ } } }, - "greengrass.2017-06-07": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1970,9 @@ } } }, - "outposts.2019-12-03": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1981,9 @@ } } }, - "chime.2018-05-01": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1992,9 @@ } } }, - "robomaker.2018-06-29": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +2003,9 @@ } } }, - "lightsail.2016-11-28": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2014,9 @@ } } }, - "mgn.2020-02-26": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2025,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2036,9 @@ } } }, - "osis.2022-01-01": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2047,9 @@ } } }, - "ses.2010-12-01": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2058,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2069,9 @@ } } }, - "greengrassv2.2020-11-30": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2080,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2091,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2102,9 @@ } } }, - "appconfigdata.2021-11-11": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2113,9 @@ } } }, - "managedblockchain.2018-09-24": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2124,9 @@ } } }, - "pi.2018-02-27": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2135,9 @@ } } }, - "xray.2016-04-12": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2146,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2157,9 @@ } } }, - "kms.2014-11-01": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2168,9 @@ } } }, - "qldb-session.2019-07-11": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2179,9 @@ } } }, - "mpa.2022-07-26": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2190,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2201,9 @@ } } }, - "directory-service-data.2023-05-31": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2212,9 @@ } } }, - "controlcatalog.2018-05-10": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2223,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2234,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2245,9 @@ } } }, - "backup-gateway.2021-01-01": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2256,9 @@ } } }, - "sso.2019-06-10": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2267,9 @@ } } }, - "codeartifact.2018-09-22": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2278,9 @@ } } }, - "evidently.2021-02-01": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2289,9 @@ } } }, - "eks-auth.2023-11-26": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2300,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2311,9 @@ } } }, - "s3.2006-03-01": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2322,9 @@ } } }, - "freetier.2023-09-07": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2333,9 @@ } } }, - "mediastore.2017-09-01": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2344,9 @@ } } }, - "tnb.2008-10-21": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2355,9 @@ } } }, - "sns.2010-03-31": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2366,9 @@ } } }, - "budgets.2016-10-20": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2377,9 @@ } } }, - "finspace.2021-03-12": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2388,9 @@ } } }, - "oam.2022-06-10": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2399,9 @@ } } }, - "schemas.2019-12-02": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2410,9 @@ } } }, - "eventbridge.2015-10-07": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2421,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2432,9 @@ } } }, - "workmail.2017-10-01": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2443,9 @@ } } }, - "service-catalog.2015-12-10": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2454,9 @@ } } }, - "storage-gateway.2013-06-30": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2465,9 @@ } } }, - "support.2013-04-15": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2476,9 @@ } } }, - "transfer.2018-11-05": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2487,9 @@ } } }, - "docdb.2014-10-31": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2498,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2509,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2520,9 @@ } } }, - "acm-pca.": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2531,9 @@ } } }, - "identitystore.2020-06-15": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2542,9 @@ } } }, - "forecastquery.2018-06-26": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2553,9 @@ } } }, - "iot-events-data.2018-10-23": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2564,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2575,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2586,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2597,9 @@ } } }, - "data-pipeline.2012-10-29": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2608,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2619,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2630,9 @@ } } }, - "ecr.2015-09-21": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2641,9 @@ } } }, - "qconnect.2020-10-19": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2652,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2663,9 @@ } } }, - "quicksight.2018-04-01": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2674,9 @@ } } }, - "route53resolver.2018-04-01": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2685,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2696,9 @@ } } }, - "apptest.2022-12-06": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2707,9 @@ } } }, - "controltower.2018-05-10": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2718,9 @@ } } }, - "iotfleethub.2020-11-03": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2729,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2740,9 @@ } } }, - "batch.2016-08-10": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2751,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2762,9 @@ } } }, - "grafana.2020-08-18": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2773,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2784,9 @@ } } }, - "codecommit.2015-04-13": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2795,9 @@ } } }, - "chatbot.2017-10-11": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2806,9 @@ } } }, - "sso-oidc.2019-06-10": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2817,9 @@ } } }, - "guardduty.2017-11-28": { + "acm-pca.": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2828,9 @@ } } }, - "inspector2.2020-06-08": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2839,9 @@ } } }, - "connect.2017-08-08": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2850,9 @@ } } }, - "security-ir.2018-05-10": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2861,9 @@ } } }, - "codedeploy.2014-10-06": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2872,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2883,9 @@ } } }, - "bedrock.2023-04-20": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2894,9 @@ } } }, - "cognito-identity.2014-06-30": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2905,9 @@ } } }, - "kendra.2019-02-03": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2916,9 @@ } } }, - "launch-wizard.2018-05-10": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2927,9 @@ } } }, - "cost-explorer.2017-10-25": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2938,9 @@ } } }, - "voice-id.2021-09-27": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2949,9 @@ } } }, - "securityhub.2018-10-26": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2960,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2971,9 @@ } } }, - "elasticache.2015-02-02": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2982,9 @@ } } }, - "codebuild.2016-10-06": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2993,9 @@ } } }, - "transcribe.2017-10-26": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +3004,9 @@ } } }, - "kinesis-video.2017-09-30": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3015,9 @@ } } }, - "wafv2.2019-07-29": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3026,9 @@ } } }, - "invoicing.2024-12-01": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3037,9 @@ } } }, - "ivs.2020-07-14": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3048,9 @@ } } }, - "clouddirectory.2017-01-11": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3059,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3070,9 @@ } } }, - "apprunner.2020-05-15": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3081,9 @@ } } }, - "iam.2010-05-08": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3092,9 @@ } } }, - "signer.2017-08-25": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3103,9 @@ } } }, - "mailmanager.2023-10-17": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3114,9 @@ } } }, - "lakeformation.2017-03-31": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3125,9 @@ } } }, - "directory-service.2015-04-16": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3136,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3147,9 @@ } } }, - "inspector.2016-02-16": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3158,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3169,9 @@ } } }, - "servicediscovery.2017-03-14": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3180,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3191,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3202,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3213,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3224,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3235,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3246,9 @@ } } }, - "connectparticipant.2018-09-07": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3257,9 @@ } } }, - "opsworks.2013-02-18": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3268,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3279,9 @@ } } }, - "textract.2018-06-27": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3290,9 @@ } } }, - "internetmonitor.2021-06-03": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3301,9 @@ } } }, - "dynamodb.2012-08-10": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3312,9 @@ } } }, - "taxsettings.2018-05-10": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3323,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3334,9 @@ } } }, - "m2.2021-04-28": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3345,9 @@ } } }, - "proton.2020-07-20": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3347,7 +3358,7 @@ }, "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3367,9 @@ } } }, - "workdocs.2016-05-01": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3378,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3389,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3400,9 @@ } } }, - "qbusiness.2023-11-27": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3411,9 @@ } } }, - "emr-serverless.2021-07-13": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3422,9 @@ } } }, - "synthetics.2017-10-11": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3433,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3444,9 @@ } } }, - "appconfig.2019-10-09": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3455,9 @@ } } }, - "secrets-manager.2017-10-17": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3466,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3477,9 @@ } } }, - "omics.2022-11-28": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3488,9 @@ } } }, - "ec2.2016-11-15": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3499,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3510,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3521,9 @@ } } }, - "qldb.2019-01-02": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3532,9 @@ } } }, - "dsql.2018-05-10": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3543,9 @@ } } }, - "dataexchange.2017-07-25": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3554,9 @@ } } }, - "lookoutvision.2020-11-20": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3565,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3576,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3587,9 @@ } } }, - "customer-profiles.2020-08-15": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3598,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3609,9 @@ } } }, - "database-migration-service.2016-01-01": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3620,9 @@ } } }, - "datazone.2018-05-10": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3631,9 @@ } } }, - "location.2020-11-19": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3642,9 @@ } } }, - "billing.2023-09-07": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3653,9 @@ } } }, - "mediatailor.2018-04-23": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3664,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3675,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3686,9 @@ } } }, - "waf-regional.2016-11-28": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3697,9 @@ } } }, - "cloudformation.2010-05-15": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3708,9 @@ } } }, - "evs.2023-07-27": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3719,9 @@ } } }, - "appsync.2017-07-25": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3730,9 @@ } } }, - "backupsearch.2018-05-10": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3741,9 @@ } } }, - "timestream-query.2018-11-01": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3752,9 @@ } } }, - "deadline.2023-10-12": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3763,9 @@ } } }, - "waf.2015-08-24": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3774,9 @@ } } }, - "cognito-sync.2014-06-30": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3785,9 @@ } } }, - "migration-hub.2017-05-31": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3796,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3807,9 @@ } } }, - "machine-learning.2014-12-12": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3818,9 @@ } } }, - "ram.2018-01-04": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3829,9 @@ } } }, - "swf.2012-01-25": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3840,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3851,9 @@ } } }, - "iot-events.2018-07-27": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3862,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "aiops.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3873,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3884,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3895,9 @@ } } }, - "cloudfront.2020-05-31": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3906,9 @@ } } }, - "geo-routes.2020-11-19": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3917,9 @@ } } }, - "codeguru-security.2018-05-10": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3928,9 @@ } } }, - "rum.2018-05-10": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3939,9 @@ } } }, - "s3outposts.2017-07-25": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3950,9 @@ } } }, - "codestar-connections.2019-12-01": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3961,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3972,9 @@ } } }, - "mturk.2017-01-17": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3983,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3994,9 @@ } } }, - "iotanalytics.2017-11-27": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +4005,9 @@ } } }, - "personalize.2018-05-22": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4016,9 @@ } } }, - "iot-wireless.2020-11-22": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4027,9 @@ } } }, - "medialive.2017-10-14": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4038,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4049,9 @@ } } }, - "networkmanager.2019-07-05": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4060,9 @@ } } }, - "geo-places.2020-11-19": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4071,9 @@ } } }, - "mwaa.2020-07-01": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4082,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4093,9 @@ } } }, - "timestream-write.2018-11-01": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4104,9 @@ } } }, - "app-mesh.2019-01-25": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4115,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4126,9 @@ } } }, - "supplychain.2024-01-01": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4137,9 @@ } } }, - "fsx.2018-03-01": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4148,9 @@ } } }, - "mq.2017-11-27": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4159,9 @@ } } }, - "appfabric.2023-05-19": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4170,9 @@ } } }, - "emr.2009-03-31": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4181,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4192,9 @@ } } }, - "amplify.2017-07-25": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4203,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4214,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4225,9 @@ } } }, - "shield.2016-06-02": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4236,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4247,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4258,9 @@ } } }, - "workspaces-web.2020-07-08": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4269,9 @@ } } }, - "panorama.2019-07-24": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4280,9 @@ } } }, - "acm.2015-12-08": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4291,9 @@ } } }, - "ssm-sap.2018-05-10": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4302,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4313,9 @@ } } }, - "sqs.2012-11-05": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4324,9 @@ } } }, - "eks.2017-11-01": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4335,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4346,9 @@ } } }, - "ivschat.2020-07-14": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4357,9 @@ } } }, - "codepipeline.2015-07-09": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4368,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4379,9 @@ } } }, - "gamelift.2015-10-01": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4390,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4401,9 @@ } } }, - "ssm.2014-11-06": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4412,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4423,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4434,9 @@ } } }, - "kinesis.2013-12-02": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4445,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4456,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4467,9 @@ } } }, - "workspaces.2015-04-08": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4467,9 +4478,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src1357677451/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { From 647408e120ace7ed975820c7952fc2bd1f4cd4bb Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Thu, 19 Jun 2025 18:04:27 +0000 Subject: [PATCH 20/26] Update API model --- .../smithy/api-descriptions/bedrock.json | 2 +- .../api-descriptions/emr-serverless.json | 68 +++ .../smithy/api-descriptions/lambda.json | 287 +++++++++++- .../payment-cryptography-data.json | 130 +++--- .../payment-cryptography.json | 182 +++++--- .../smithy/api-descriptions/sagemaker.json | 412 +++++++++++++++++- 6 files changed, 950 insertions(+), 131 deletions(-) diff --git a/tools/code-generation/smithy/api-descriptions/bedrock.json b/tools/code-generation/smithy/api-descriptions/bedrock.json index cd9fb82718e..da9bc9d4032 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock.json @@ -2786,7 +2786,7 @@ "min": 20, "max": 1011 }, - "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12})$" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2})/[a-z0-9]{12}$" } }, "com.amazonaws.bedrock#CustomModelName": { diff --git a/tools/code-generation/smithy/api-descriptions/emr-serverless.json b/tools/code-generation/smithy/api-descriptions/emr-serverless.json index fcef6df3223..57150277ae0 100644 --- a/tools/code-generation/smithy/api-descriptions/emr-serverless.json +++ b/tools/code-generation/smithy/api-descriptions/emr-serverless.json @@ -140,6 +140,12 @@ "traits": { "smithy.api#documentation": "

                    The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                    " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfiguration", + "traits": { + "smithy.api#documentation": "

                    The IAM Identity Center configuration applied to enable trusted identity propagation.

                    " + } } }, "traits": { @@ -1524,6 +1530,12 @@ "traits": { "smithy.api#documentation": "

                    The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                    " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput", + "traits": { + "smithy.api#documentation": "

                    The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

                    " + } } } }, @@ -1931,6 +1943,56 @@ "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$" } }, + "com.amazonaws.emrserverless#IdentityCenterApplicationArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + } + }, + "com.amazonaws.emrserverless#IdentityCenterConfiguration": { + "type": "structure", + "members": { + "identityCenterInstanceArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

                    The ARN of the IAM Identity Center instance.

                    " + } + }, + "identityCenterApplicationArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterApplicationArn", + "traits": { + "smithy.api#documentation": "

                    The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.

                    " + } + }, + "com.amazonaws.emrserverless#IdentityCenterConfigurationInput": { + "type": "structure", + "members": { + "identityCenterInstanceArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

                    The ARN of the IAM Identity Center instance.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                    " + } + }, + "com.amazonaws.emrserverless#IdentityCenterInstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1024 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, "com.amazonaws.emrserverless#ImageConfiguration": { "type": "structure", "members": { @@ -4035,6 +4097,12 @@ "traits": { "smithy.api#documentation": "

                    The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                    " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput", + "traits": { + "smithy.api#documentation": "

                    Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                    " + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/lambda.json b/tools/code-generation/smithy/api-descriptions/lambda.json index a242570ff53..d6f5ee8d09d 100644 --- a/tools/code-generation/smithy/api-descriptions/lambda.json +++ b/tools/code-generation/smithy/api-descriptions/lambda.json @@ -2045,6 +2045,12 @@ "traits": { "smithy.api#documentation": "

                    The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

                    " } + }, + "SchemaRegistryConfig": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryConfig", + "traits": { + "smithy.api#documentation": "

                    Specific configuration settings for a Kafka schema registry.

                    " + } } }, "traits": { @@ -2593,7 +2599,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                    \n

                    For details about how to configure different event sources, see the following topics.

                    \n \n

                    The following error handling options are available only for DynamoDB and Kinesis event sources:

                    \n
                      \n
                    • \n

                      \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                      \n
                    • \n
                    • \n

                      \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                      \n
                    • \n
                    • \n

                      \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                      \n
                    • \n
                    • \n

                      \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                      \n
                    • \n
                    \n

                    For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                    \n
                      \n
                    • \n

                      \n DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket.

                      \n
                    • \n
                    \n

                    For information about which configuration parameters apply to each event source, see the following topics.

                    \n ", + "smithy.api#documentation": "

                    Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                    \n

                    For details about how to configure different event sources, see the following topics.

                    \n \n

                    The following error handling options are available only for DynamoDB and Kinesis event sources:

                    \n
                      \n
                    • \n

                      \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                      \n
                    • \n
                    • \n

                      \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                      \n
                    • \n
                    • \n

                      \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                      \n
                    • \n
                    • \n

                      \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                      \n
                    • \n
                    \n

                    For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                    \n
                      \n
                    • \n

                      \n OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket. For more information, see Adding a destination.

                      \n
                    • \n
                    \n

                    For information about which configuration parameters apply to each event source, see the following topics.

                    \n ", "smithy.api#examples": [ { "title": "To create a mapping between an event source and an AWS Lambda function", @@ -3202,7 +3208,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    The dead-letter queue for\n failed asynchronous invocations.

                    " + "smithy.api#documentation": "

                    The dead-letter queue for\n failed asynchronous invocations.

                    " } }, "com.amazonaws.lambda#DeleteAlias": { @@ -3354,6 +3360,24 @@ ], "traits": { "smithy.api#documentation": "

                    Deletes an event source\n mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

                    \n

                    When you delete an event source mapping, it enters a Deleting state and might not be completely\n deleted for several seconds.

                    ", + "smithy.api#examples": [ + { + "title": "To delete a Lambda function event source mapping", + "documentation": "The following example deletes an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2", + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:my-queue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", + "LastModified": "2016-11-21T19:49:20.006Z", + "State": "Enabled", + "StateTransitionReason": "USER_INITIATED" + } + } + ], "smithy.api#http": { "method": "DELETE", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -3830,7 +3854,7 @@ "OnSuccess": { "target": "com.amazonaws.lambda#OnSuccess", "traits": { - "smithy.api#documentation": "

                    The destination configuration for successful invocations.

                    " + "smithy.api#documentation": "

                    The destination configuration for successful invocations. Not supported in CreateEventSourceMapping or UpdateEventSourceMapping.

                    " } }, "OnFailure": { @@ -3841,7 +3865,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    A configuration object that specifies the destination of an event after Lambda processes it.

                    " + "smithy.api#documentation": "

                    A configuration object that specifies the destination of an event after Lambda processes it. For more information, see Adding a destination.

                    " } }, "com.amazonaws.lambda#DocumentDBEventSourceConfig": { @@ -4231,7 +4255,7 @@ "LastProcessingResult": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

                    The result of the last Lambda invocation of your function.

                    " + "smithy.api#documentation": "

                    The result of the event source mapping's last processing attempt.

                    " } }, "State": { @@ -5309,6 +5333,29 @@ ], "traits": { "smithy.api#documentation": "

                    Returns details about an event source mapping. You can get the identifier of a mapping from the output of\n ListEventSourceMappings.

                    ", + "smithy.api#examples": [ + { + "title": "To get a Lambda function's event source mapping", + "documentation": "The following example returns details about an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2", + "BatchSize": 500, + "EventSourceArn": "arn:aws:sqs:us-east-2:123456789012:mySQSqueue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006Z", + "LastProcessingResult": "No records processed", + "State": "Creating", + "StateTransitionReason": "User action", + "DestinationConfig": {}, + "MaximumRecordAgeInSeconds": 604800, + "BisectBatchOnFunctionError": false, + "MaximumRetryAttempts": 10000 + } + } + ], "smithy.api#http": { "method": "GET", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -5867,6 +5914,28 @@ ], "traits": { "smithy.api#documentation": "

                    Retrieves the configuration for asynchronous invocation for a function, version, or alias.

                    \n

                    To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

                    ", + "smithy.api#examples": [ + { + "title": "To get an asynchronous invocation configuration", + "documentation": "The following example returns the asynchronous invocation configuration for the BLUE alias of a function named my-function.", + "input": { + "FunctionName": "my-function", + "Qualifier": "BLUE" + }, + "output": { + "LastModified": "2016-11-21T19:49:20.006Z", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600, + "DestinationConfig": { + "OnSuccess": {}, + "OnFailure": { + "Destination": "arn:aws:sqs:us-east-2:123456789012:failed-invocations" + } + } + } + } + ], "smithy.api#http": { "method": "GET", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -7647,6 +7716,124 @@ "smithy.api#httpError": 502 } }, + "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfig": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAuthType", + "traits": { + "smithy.api#documentation": "

                    \n The type of authentication Lambda uses to access your schema registry.\n

                    " + } + }, + "URI": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

                    \n The URI of the secret (Secrets Manager secret ARN) to authenticate with your schema registry.\n

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Specific access configuration settings that tell Lambda how to authenticate with your schema registry.

                    \n

                    If you're working with an Glue schema registry, don't provide authentication details in this object.\n Instead, ensure that your execution role has the required permissions for Lambda to access your cluster.

                    \n

                    If you're working with a Confluent schema registry, choose the authentication method in the Type field,\n and provide the Secrets Manager secret ARN in the URI field.

                    " + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfig" + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryAuthType": { + "type": "enum", + "members": { + "BASIC_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BASIC_AUTH" + } + }, + "CLIENT_CERTIFICATE_TLS_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLIENT_CERTIFICATE_TLS_AUTH" + } + }, + "SERVER_ROOT_CA_CERTIFICATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVER_ROOT_CA_CERTIFICATE" + } + } + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryConfig": { + "type": "structure", + "members": { + "SchemaRegistryURI": { + "target": "com.amazonaws.lambda#SchemaRegistryUri", + "traits": { + "smithy.api#documentation": "

                    The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.

                    \n
                      \n
                    • \n

                      For Glue schema registries, use the ARN of the registry.

                      \n
                    • \n
                    • \n

                      For Confluent schema registries, use the URL of the registry.

                      \n
                    • \n
                    " + } + }, + "EventRecordFormat": { + "target": "com.amazonaws.lambda#SchemaRegistryEventRecordFormat", + "traits": { + "smithy.api#documentation": "

                    The record format that Lambda delivers to your function after schema validation.

                    \n
                      \n
                    • \n

                      Choose JSON to have Lambda deliver the record to your function as a standard JSON object.

                      \n
                    • \n
                    • \n

                      Choose SOURCE to have Lambda deliver the record to your function in its original source format.\n Lambda removes all schema metadata, such as the schema ID, before sending the record to your function.

                      \n
                    • \n
                    " + } + }, + "AccessConfigs": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfigList", + "traits": { + "smithy.api#documentation": "

                    An array of access configuration objects that tell Lambda how to authenticate with your schema registry.

                    " + } + }, + "SchemaValidationConfigs": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationConfigList", + "traits": { + "smithy.api#documentation": "

                    An array of schema validation configuration objects, which tell Lambda the message\n attributes you want to validate and filter using your schema registry.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Specific configuration settings for a Kafka schema registry.

                    " + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationAttribute": { + "type": "enum", + "members": { + "KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEY" + } + }, + "VALUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALUE" + } + } + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationConfig": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationAttribute", + "traits": { + "smithy.api#documentation": "

                    \n The attributes you want your schema registry to validate and filter for. If you selected JSON as the\n EventRecordFormat, Lambda also deserializes the selected message attributes.\n

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Specific schema validation configuration settings that tell Lambda the message\n attributes you want to validate and filter using your schema registry.

                    " + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationConfig" + } + }, "com.amazonaws.lambda#LastUpdateStatus": { "type": "enum", "members": { @@ -9693,7 +9880,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    A destination for events that failed processing.

                    " + "smithy.api#documentation": "

                    A destination for events that failed processing. For more information, see Adding a destination.

                    " } }, "com.amazonaws.lambda#OnSuccess": { @@ -9707,7 +9894,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    A destination for events that were processed successfully.

                    \n

                    To retain records of successful asynchronous invocations,\n you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function,\n or Amazon EventBridge event bus as the destination.

                    " + "smithy.api#documentation": "

                    A destination for events that were processed successfully.

                    \n

                    To retain records of successful asynchronous invocations,\n you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function,\n or Amazon EventBridge event bus as the destination.

                    \n \n

                    \n OnSuccess is not supported in CreateEventSourceMapping or UpdateEventSourceMapping requests.

                    \n
                    " } }, "com.amazonaws.lambda#OrganizationId": { @@ -10414,6 +10601,27 @@ ], "traits": { "smithy.api#documentation": "

                    Configures options for asynchronous\n invocation on a function, version, or alias. If a configuration already exists for a function, version,\n or alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without\n affecting existing settings for other options, use UpdateFunctionEventInvokeConfig.

                    \n

                    By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains\n events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous\n invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with\n UpdateFunctionConfiguration.

                    \n

                    To send an invocation record to a queue, topic, S3 bucket, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events\n that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a\n dead-letter queue.

                    \n \n

                    S3 buckets are supported only for on-failure destinations. To retain records of successful invocations, use another destination type.

                    \n
                    ", + "smithy.api#examples": [ + { + "title": "To configure error handling for asynchronous invocation", + "documentation": "The following example sets a maximum event age of one hour and disables retries for the specified function.", + "input": { + "FunctionName": "my-function", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600 + }, + "output": { + "LastModified": "2016-11-21T19:49:20.006Z", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600, + "DestinationConfig": { + "OnSuccess": {}, + "OnFailure": {} + } + } + } + ], "smithy.api#http": { "method": "PUT", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -11468,6 +11676,33 @@ "smithy.api#documentation": "

                    (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.

                    " } }, + "com.amazonaws.lambda#SchemaRegistryEventRecordFormat": { + "type": "enum", + "members": { + "JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSON" + } + }, + "SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE" + } + } + } + }, + "com.amazonaws.lambda#SchemaRegistryUri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-\\/*:_+=.@-]*$" + } + }, "com.amazonaws.lambda#SecurityGroupId": { "type": "string" }, @@ -11503,7 +11738,13 @@ "ConsumerGroupId": { "target": "com.amazonaws.lambda#URI", "traits": { - "smithy.api#documentation": "

                    The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

                    " + "smithy.api#documentation": "

                    The identifier for the Kafka consumer group to join. The consumer group ID must be unique\n among all your Kafka event sources. After creating a Kafka event source mapping with the\n consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                    " + } + }, + "SchemaRegistryConfig": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryConfig", + "traits": { + "smithy.api#documentation": "

                    Specific configuration settings for a Kafka schema registry.

                    " } } }, @@ -12645,7 +12886,29 @@ } ], "traits": { - "smithy.api#documentation": "

                    Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

                    \n

                    For details about how to configure different event sources, see the following topics.

                    \n \n

                    The following error handling options are available only for DynamoDB and Kinesis event sources:

                    \n
                      \n
                    • \n

                      \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                      \n
                    • \n
                    • \n

                      \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                      \n
                    • \n
                    • \n

                      \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                      \n
                    • \n
                    • \n

                      \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                      \n
                    • \n
                    \n

                    For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                    \n
                      \n
                    • \n

                      \n DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket.

                      \n
                    • \n
                    \n

                    For information about which configuration parameters apply to each event source, see the following topics.

                    \n ", + "smithy.api#documentation": "

                    Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

                    \n

                    For details about how to configure different event sources, see the following topics.

                    \n \n

                    The following error handling options are available only for DynamoDB and Kinesis event sources:

                    \n
                      \n
                    • \n

                      \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                      \n
                    • \n
                    • \n

                      \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                      \n
                    • \n
                    • \n

                      \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                      \n
                    • \n
                    • \n

                      \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                      \n
                    • \n
                    \n

                    For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                    \n
                      \n
                    • \n

                      \n OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket. For more information, see Adding a destination.

                      \n
                    • \n
                    \n

                    For information about which configuration parameters apply to each event source, see the following topics.

                    \n ", + "smithy.api#examples": [ + { + "title": "To update a Lambda function event source mapping", + "documentation": "This operation updates a Lambda function event source mapping", + "input": { + "UUID": "1234xCy789012", + "FunctionName": "myFunction", + "Enabled": true, + "BatchSize": 123 + }, + "output": { + "UUID": "1234xCy789012", + "BatchSize": 123, + "EventSourceArn": "arn:aws:s3:::examplebucket/*", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006Z", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "" + } + } + ], "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -12748,6 +13011,12 @@ "smithy.api#documentation": "

                    (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

                    " } }, + "AmazonManagedKafkaEventSourceConfig": { + "target": "com.amazonaws.lambda#AmazonManagedKafkaEventSourceConfig" + }, + "SelfManagedKafkaEventSourceConfig": { + "target": "com.amazonaws.lambda#SelfManagedKafkaEventSourceConfig" + }, "DocumentDBEventSourceConfig": { "target": "com.amazonaws.lambda#DocumentDBEventSourceConfig", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json b/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json index f39a1c6e7b1..3343ef310bc 100644 --- a/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json +++ b/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json @@ -340,7 +340,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4096 + "max": 4224 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -472,7 +472,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Decrypts ciphertext data to plaintext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Decrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    You can use an decryption key generated within Amazon Web Services Payment Cryptography, or you can import your own decryption key by calling ImportKey. For this operation, the key must have KeyModesOfUse set to Decrypt. In asymmetric decryption, Amazon Web Services Payment Cryptography decrypts the ciphertext using the private component of the asymmetric encryption key pair. For data encryption outside of Amazon Web Services Payment Cryptography, you can export the public component of the asymmetric key pair by calling GetPublicCertificate.

                    \n

                    This operation also supports dynamic keys, allowing you to pass a dynamic decryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To decrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped decryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    For symmetric and DUKPT decryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV decryption, Amazon Web Services Payment Cryptography supports TDES algorithms. For asymmetric decryption, Amazon Web Services Payment Cryptography supports RSA.

                    \n

                    When you use TDES or TDES DUKPT, the ciphertext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the ciphertext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Decrypts ciphertext data to plaintext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Decrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    You can use an decryption key generated within Amazon Web Services Payment Cryptography, or you can import your own decryption key by calling ImportKey. For this operation, the key must have KeyModesOfUse set to Decrypt. In asymmetric decryption, Amazon Web Services Payment Cryptography decrypts the ciphertext using the private component of the asymmetric encryption key pair. For data encryption outside of Amazon Web Services Payment Cryptography, you can export the public component of the asymmetric key pair by calling GetPublicCertificate.

                    This operation also supports dynamic keys, allowing you to pass a dynamic decryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To decrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped decryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    For symmetric and DUKPT decryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV decryption, Amazon Web Services Payment Cryptography supports TDES algorithms. For asymmetric decryption, Amazon Web Services Payment Cryptography supports RSA.

                    When you use TDES or TDES DUKPT, the ciphertext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the ciphertext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/keys/{KeyIdentifier}/decrypt", @@ -486,7 +486,7 @@ "KeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption.

                    \n

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", + "smithy.api#documentation": "

                    The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption.

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -529,7 +529,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -616,7 +616,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                    The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                    ", "smithy.api#required": {} @@ -638,7 +638,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                    The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                    ", "smithy.api#required": {} @@ -647,7 +647,7 @@ "DukptKeyDerivationType": { "target": "com.amazonaws.paymentcryptographydata#DukptDerivationType", "traits": { - "smithy.api#documentation": "

                    The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY\n

                    " + "smithy.api#documentation": "

                    The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY

                    " } }, "DukptKeyVariant": { @@ -700,7 +700,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                    The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                    ", "smithy.api#required": {} @@ -709,13 +709,13 @@ "Mode": { "target": "com.amazonaws.paymentcryptographydata#DukptEncryptionMode", "traits": { - "smithy.api#documentation": "

                    The block cipher method to use for encryption.

                    \n

                    The default is CBC.

                    " + "smithy.api#documentation": "

                    The block cipher method to use for encryption.

                    The default is CBC.

                    " } }, "DukptKeyDerivationType": { "target": "com.amazonaws.paymentcryptographydata#DukptDerivationType", "traits": { - "smithy.api#documentation": "

                    The key type encrypted using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY\n

                    " + "smithy.api#documentation": "

                    The key type encrypted using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY

                    " } }, "DukptKeyVariant": { @@ -888,7 +888,7 @@ "SharedInformation": { "target": "com.amazonaws.paymentcryptographydata#SharedInformation", "traits": { - "smithy.api#documentation": "

                    A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                    \n

                    It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                    ", + "smithy.api#documentation": "

                    A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                    It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                    ", "smithy.api#required": {} } } @@ -974,14 +974,14 @@ "PinBlockPaddingType": { "target": "com.amazonaws.paymentcryptographydata#PinBlockPaddingType", "traits": { - "smithy.api#documentation": "

                    The padding to be added to the PIN block prior to encryption.

                    \n

                    Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

                    ", + "smithy.api#documentation": "

                    The padding to be added to the PIN block prior to encryption.

                    Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

                    ", "smithy.api#required": {} } }, "PinBlockLengthPosition": { "target": "com.amazonaws.paymentcryptographydata#PinBlockLengthPosition", "traits": { - "smithy.api#documentation": "

                    Specifies if PIN block length should be added to front of the pin block.

                    \n

                    If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

                    ", + "smithy.api#documentation": "

                    Specifies if PIN block length should be added to front of the pin block.

                    If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

                    ", "smithy.api#required": {} } } @@ -1098,7 +1098,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    You can generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey. You can import your own encryption key by calling ImportKey.

                    \n

                    For this operation, the key must have KeyModesOfUse set to Encrypt. In asymmetric encryption, plaintext is encrypted using public component. You can import the public component of an asymmetric key pair created outside Amazon Web Services Payment Cryptography by calling ImportKey.

                    \n

                    This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV encryption, Amazon Web Services Payment Cryptography supports TDES algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA.

                    \n

                    When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                    \n

                    To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse set to DeriveKey, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse set to DeriveKey.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    You can generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey. You can import your own encryption key by calling ImportKey.

                    For this operation, the key must have KeyModesOfUse set to Encrypt. In asymmetric encryption, plaintext is encrypted using public component. You can import the public component of an asymmetric key pair created outside Amazon Web Services Payment Cryptography by calling ImportKey.

                    This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV encryption, Amazon Web Services Payment Cryptography supports TDES algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA.

                    When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                    To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse set to DeriveKey, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse set to DeriveKey.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/keys/{KeyIdentifier}/encrypt", @@ -1112,7 +1112,7 @@ "KeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.

                    \n

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", + "smithy.api#documentation": "

                    The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1120,7 +1120,7 @@ "PlainText": { "target": "com.amazonaws.paymentcryptographydata#PlainTextType", "traits": { - "smithy.api#documentation": "

                    The plaintext to be encrypted.

                    \n \n

                    For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm and padding type that you define in AsymmetricEncryptionAttributes. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    \n
                    ", + "smithy.api#documentation": "

                    The plaintext to be encrypted.

                    For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm and padding type that you define in AsymmetricEncryptionAttributes. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                    ", "smithy.api#required": {} } }, @@ -1155,7 +1155,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    " + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    " } }, "CipherText": { @@ -1286,7 +1286,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Generates card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see Generate card data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    This operation generates a CVV or CSC value that is printed on a payment credit or debit card during card production. The CVV or CSC, PAN (Primary Account Number) and expiration date of the card are required to check its validity during transaction processing. To begin this operation, a CVK (Card Verification Key) encryption key is required. You can use CreateKey or ImportKey to establish a CVK within Amazon Web Services Payment Cryptography. The KeyModesOfUse should be set to Generate and Verify for a CVK encryption key.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Generates card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see Generate card data in the Amazon Web Services Payment Cryptography User Guide.

                    This operation generates a CVV or CSC value that is printed on a payment credit or debit card during card production. The CVV or CSC, PAN (Primary Account Number) and expiration date of the card are required to check its validity during transaction processing. To begin this operation, a CVK (Card Verification Key) encryption key is required. You can use CreateKey or ImportKey to establish a CVK within Amazon Web Services Payment Cryptography. The KeyModesOfUse should be set to Generate and Verify for a CVK encryption key.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/cardvalidationdata/generate", @@ -1342,7 +1342,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -1384,7 +1384,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography.

                    \n

                    You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.

                    \n

                    You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for KeyUsage such as TR31_M7_HMAC_KEY for HMAC generation, and they key must have KeyModesOfUse set to Generate and Verify.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography.

                    You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.

                    You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for KeyUsage such as TR31_M7_HMAC_KEY for HMAC generation, and they key must have KeyModesOfUse set to Generate and Verify.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/mac/generate", @@ -1418,7 +1418,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Generates an issuer script mac for EMV payment cards that use offline PINs as the cardholder verification method (CVM).

                    \n

                    This operation generates an authenticated issuer script response by appending the incoming message data (APDU command) with the target encrypted PIN block in ISO2 format. The command structure and method to send the issuer script update to the card is not defined by this operation and is typically determined by the applicable payment card scheme.

                    \n

                    The primary inputs to this operation include the incoming new encrypted pinblock, PIN encryption key (PEK), issuer master key (IMK), primary account number (PAN), and the payment card derivation method.

                    \n

                    The operation uses two issuer master keys - secure messaging for confidentiality (IMK-SMC) and secure messaging for integrity (IMK-SMI). The SMC key is used to internally derive a key to secure the pin, while SMI key is used to internally derive a key to authenticate the script reponse as per the EMV 4.4 - Book 2 - Security and Key Management specification.

                    \n

                    This operation supports Amex, EMV2000, EMVCommon, Mastercard and Visa derivation methods, each requiring specific input parameters. Users must follow the specific derivation method and input parameters defined by the respective payment card scheme.

                    \n \n

                    Use GenerateMac operation when sending a script update to an EMV card that does not involve PIN change. When assigning IAM permissions, it is important to understand that EncryptData using EMV keys and GenerateMac perform similar functions to this command.

                    \n
                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Generates an issuer script mac for EMV payment cards that use offline PINs as the cardholder verification method (CVM).

                    This operation generates an authenticated issuer script response by appending the incoming message data (APDU command) with the target encrypted PIN block in ISO2 format. The command structure and method to send the issuer script update to the card is not defined by this operation and is typically determined by the applicable payment card scheme.

                    The primary inputs to this operation include the incoming new encrypted pinblock, PIN encryption key (PEK), issuer master key (IMK), primary account number (PAN), and the payment card derivation method.

                    The operation uses two issuer master keys - secure messaging for confidentiality (IMK-SMC) and secure messaging for integrity (IMK-SMI). The SMC key is used to internally derive a key to secure the pin, while SMI key is used to internally derive a key to authenticate the script reponse as per the EMV 4.4 - Book 2 - Security and Key Management specification.

                    This operation supports Amex, EMV2000, EMVCommon, Mastercard and Visa derivation methods, each requiring specific input parameters. Users must follow the specific derivation method and input parameters defined by the respective payment card scheme.

                    Use GenerateMac operation when sending a script update to an EMV card that does not involve PIN change. When assigning IAM permissions, it is important to understand that EncryptData using EMV keys and GenerateMac perform similar functions to this command.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/macemvpinchange/generate", @@ -1601,7 +1601,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -1643,7 +1643,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see Generate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation.

                    \n

                    Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block. You can also use it for reveal PIN, wherein the generated PIN block is protected by the ECDH derived key before transmission from Amazon Web Services Payment Cryptography. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see Generate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation.

                    Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block. You can also use it for reveal PIN, wherein the generated PIN block is protected by the ECDH derived key before transmission from Amazon Web Services Payment Cryptography. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/pindata/generate", @@ -1691,7 +1691,7 @@ "PinBlockFormat": { "target": "com.amazonaws.paymentcryptographydata#PinBlockFormatForPinData", "traits": { - "smithy.api#documentation": "

                    The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                    \n

                    The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                    \n

                    The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                    ", + "smithy.api#documentation": "

                    The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                    The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                    The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                    ", "smithy.api#required": {} } }, @@ -1716,7 +1716,7 @@ "GenerationKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -1730,7 +1730,7 @@ "EncryptionKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -1764,14 +1764,14 @@ "smithy.api#sensitive": {} } }, - "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24": { + "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24": { "type": "string", "traits": { "smithy.api#length": { - "min": 10, + "min": 16, "max": 24 }, - "smithy.api#pattern": "^[0-9a-fA-F]+$" + "smithy.api#pattern": "^(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{20}|[0-9a-fA-F]{24})$" } }, "com.amazonaws.paymentcryptographydata#HexLengthBetween2And4": { @@ -2091,6 +2091,10 @@ { "value": "ANSI_X9_24", "name": "ANSI_X9_24" + }, + { + "value": "HMAC", + "name": "HMAC" } ] } @@ -2186,7 +2190,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                    The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                    ", "smithy.api#required": {} @@ -2468,7 +2472,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                    You use the Amazon Web Services Payment Cryptography Data Plane to manage how encryption keys are used for payment-related transaction processing and associated cryptographic operations. You can encrypt, decrypt, generate, verify, and translate payment-related cryptographic operations in Amazon Web Services Payment Cryptography. For more information, see Data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    To manage your encryption keys, you use the Amazon Web Services Payment Cryptography Control Plane. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys.

                    ", + "smithy.api#documentation": "

                    You use the Amazon Web Services Payment Cryptography Data Plane to manage how encryption keys are used for payment-related transaction processing and associated cryptographic operations. You can encrypt, decrypt, generate, verify, and translate payment-related cryptographic operations in Amazon Web Services Payment Cryptography. For more information, see Data operations in the Amazon Web Services Payment Cryptography User Guide.

                    To manage your encryption keys, you use the Amazon Web Services Payment Cryptography Control Plane. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys.

                    ", "smithy.api#title": "Payment Cryptography Data Plane", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3349,7 +3353,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4096 + "max": 4224 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -3360,7 +3364,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4064 + "max": 4096 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -3414,7 +3418,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys.

                    \n

                    You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt.

                    \n

                    This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys.

                    You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt.

                    This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/keys/{IncomingKeyIdentifier}/reencrypt", @@ -3428,7 +3432,7 @@ "IncomingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the encryption key of incoming ciphertext data.

                    \n

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", + "smithy.api#documentation": "

                    The keyARN of the encryption key of incoming ciphertext data.

                    When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3491,7 +3495,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -3862,6 +3866,30 @@ "traits": { "smithy.api#enumValue": "AES_256" } + }, + "HMAC_SHA256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA256" + } + }, + "HMAC_SHA384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA384" + } + }, + "HMAC_SHA512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA512" + } + }, + "HMAC_SHA224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA224" + } } } }, @@ -3937,7 +3965,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see Translate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    PIN block translation involves changing a PIN block from one encryption key to another and optionally change its format. PIN block translation occurs entirely within the HSM boundary and PIN data never enters or leaves Amazon Web Services Payment Cryptography in clear text. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK.

                    \n

                    Amazon Web Services Payment Cryptography also supports use of dynamic keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for this operation.

                    \n

                    Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block, which is translated to a PEK encrypted PIN block for use within the service. You can also use ECDH for reveal PIN, wherein the service translates the PIN block from PEK to a ECDH derived encryption key. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n \n

                    Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.

                    \n
                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see Translate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    PIN block translation involves changing a PIN block from one encryption key to another and optionally change its format. PIN block translation occurs entirely within the HSM boundary and PIN data never enters or leaves Amazon Web Services Payment Cryptography in clear text. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK.

                    Amazon Web Services Payment Cryptography also supports use of dynamic keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for this operation.

                    Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                    Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block, which is translated to a PEK encrypted PIN block for use within the service. You can also use ECDH for reveal PIN, wherein the service translates the PIN block from PEK to a ECDH derived encryption key. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                    The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/pindata/translate", @@ -3951,14 +3979,14 @@ "IncomingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.

                    \n

                    For dynamic keys, it is the keyARN of KEK of the TR-31 wrapped PEK. For ECDH, it is the keyARN of the asymmetric ECC key.

                    ", + "smithy.api#documentation": "

                    The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.

                    For dynamic keys, it is the keyARN of KEK of the TR-31 wrapped PEK. For ECDH, it is the keyARN of the asymmetric ECC key.

                    ", "smithy.api#required": {} } }, "OutgoingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.

                    \n

                    For ECDH, it is the keyARN of the asymmetric ECC key.

                    ", + "smithy.api#documentation": "

                    The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.

                    For ECDH, it is the keyARN of the asymmetric ECC key.

                    ", "smithy.api#required": {} } }, @@ -4032,7 +4060,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } } @@ -4241,7 +4269,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Verifies Authorization Request Cryptogram (ARQC) for a EMV chip payment card authorization. For more information, see Verify auth request cryptogram in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    ARQC generation is done outside of Amazon Web Services Payment Cryptography and is typically generated on a point of sale terminal for an EMV chip card to obtain payment authorization during transaction time. For ARQC verification, you must first import the ARQC generated outside of Amazon Web Services Payment Cryptography by calling ImportKey. This operation uses the imported ARQC and an major encryption key (DUKPT) created by calling CreateKey to either provide a boolean ARQC verification result or provide an APRC (Authorization Response Cryptogram) response using Method 1 or Method 2. The ARPC_METHOD_1 uses AuthResponseCode to generate ARPC and ARPC_METHOD_2 uses CardStatusUpdate to generate ARPC.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Verifies Authorization Request Cryptogram (ARQC) for a EMV chip payment card authorization. For more information, see Verify auth request cryptogram in the Amazon Web Services Payment Cryptography User Guide.

                    ARQC generation is done outside of Amazon Web Services Payment Cryptography and is typically generated on a point of sale terminal for an EMV chip card to obtain payment authorization during transaction time. For ARQC verification, you must first import the ARQC generated outside of Amazon Web Services Payment Cryptography by calling ImportKey. This operation uses the imported ARQC and an major encryption key (DUKPT) created by calling CreateKey to either provide a boolean ARQC verification result or provide an APRC (Authorization Response Cryptogram) response using Method 1 or Method 2. The ARPC_METHOD_1 uses AuthResponseCode to generate ARPC and ARPC_METHOD_2 uses CardStatusUpdate to generate ARPC.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/cryptogram/verify", @@ -4311,7 +4339,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -4355,7 +4383,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Verifies card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2) and Card Security Codes (CSC). For more information, see Verify card data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    This operation validates the CVV or CSC codes that is printed on a payment credit or debit card during card payment transaction. The input values are typically provided as part of an inbound transaction to an issuer or supporting platform partner. Amazon Web Services Payment Cryptography uses CVV or CSC, PAN (Primary Account Number) and expiration date of the card to check its validity during transaction processing. In this operation, the CVK (Card Verification Key) encryption key for use with card data verification is same as the one in used for GenerateCardValidationData.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Verifies card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2) and Card Security Codes (CSC). For more information, see Verify card data in the Amazon Web Services Payment Cryptography User Guide.

                    This operation validates the CVV or CSC codes that is printed on a payment credit or debit card during card payment transaction. The input values are typically provided as part of an inbound transaction to an issuer or supporting platform partner. Amazon Web Services Payment Cryptography uses CVV or CSC, PAN (Primary Account Number) and expiration date of the card to check its validity during transaction processing. In this operation, the CVK (Card Verification Key) encryption key for use with card data verification is same as the one in used for GenerateCardValidationData.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/cardvalidationdata/verify", @@ -4412,7 +4440,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } } @@ -4450,7 +4478,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Verifies a Message Authentication Code (MAC).

                    \n

                    You can use this operation to verify MAC for message data authentication such as . In this operation, you must use the same message data, secret encryption key and MAC algorithm that was used to generate MAC. You can use this operation to verify a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Verifies a Message Authentication Code (MAC).

                    You can use this operation to verify MAC for message data authentication such as . In this operation, you must use the same message data, secret encryption key and MAC algorithm that was used to generate MAC. You can use this operation to verify a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/mac/verify", @@ -4513,7 +4541,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } } @@ -4551,7 +4579,7 @@ } ], "traits": { - "smithy.api#documentation": "

                    Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA PVV and IBM3624. For more information, see Verify PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    This operation verifies PIN data for user payment card. A card holder PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography.

                    \n

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA PVV and IBM3624. For more information, see Verify PIN data in the Amazon Web Services Payment Cryptography User Guide.

                    This operation verifies PIN data for user payment card. A card holder PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography.

                    For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#http": { "method": "POST", "uri": "/pindata/verify", @@ -4600,7 +4628,7 @@ "PinBlockFormat": { "target": "com.amazonaws.paymentcryptographydata#PinBlockFormatForPinData", "traits": { - "smithy.api#documentation": "

                    The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                    \n

                    The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                    \n

                    The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                    ", + "smithy.api#documentation": "

                    The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                    The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                    The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                    ", "smithy.api#required": {} } }, @@ -4637,7 +4665,7 @@ "VerificationKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } }, @@ -4651,7 +4679,7 @@ "EncryptionKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    \n

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", + "smithy.api#documentation": "

                    The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                    Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                    ", "smithy.api#required": {} } } @@ -4815,7 +4843,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/payment-cryptography.json b/tools/code-generation/smithy/api-descriptions/payment-cryptography.json index c8d8920c0a0..7d21900b53c 100644 --- a/tools/code-generation/smithy/api-descriptions/payment-cryptography.json +++ b/tools/code-generation/smithy/api-descriptions/payment-cryptography.json @@ -20,7 +20,7 @@ "AliasName": { "target": "com.amazonaws.paymentcryptography#AliasName", "traits": { - "smithy.api#documentation": "

                    A friendly name that you can use to refer to a key. The value must begin with alias/.

                    \n \n

                    Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    ", + "smithy.api#documentation": "

                    A friendly name that you can use to refer to a key. The value must begin with alias/.

                    Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    ", "smithy.api#required": {} } }, @@ -146,7 +146,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.

                    \n

                    You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.

                    \n

                    To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.

                    You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.

                    To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#idempotent": {} } }, @@ -157,7 +157,7 @@ "target": "com.amazonaws.paymentcryptography#AliasName", "traits": { "aws.cloudformation#cfnMutability": "create", - "smithy.api#documentation": "

                    A friendly name that you can use to refer to a key. An alias must begin with alias/ followed by a name, for example alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-).

                    \n \n

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    ", + "smithy.api#documentation": "

                    A friendly name that you can use to refer to a key. An alias must begin with alias/ followed by a name, for example alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-).

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    ", "smithy.api#required": {}, "smithy.api#suppress": [ "UnstableTrait" @@ -234,7 +234,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                    \n

                    In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                    \n

                    When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                    \n

                    Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                    In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                    When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                    For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                    You can use the CreateKey operation to generate an ECC (Elliptic Curve Cryptography) key pair used for establishing an ECDH (Elliptic Curve Diffie-Hellman) key agreement between two parties. In the ECDH key agreement process, both parties generate their own ECC key pair with key usage K3 and exchange the public keys. Each party then use their private key, the received public key from the other party, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm to derive a shared key.

                    To maintain the single-use principle of cryptographic keys in payments, ECDH derived keys should not be used for multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in Amazon Web Services Payment Cryptography you can optionally set the DeriveKeyUsage parameter, which defines the key usage bound to the symmetric key that will be derived using the ECC key pair.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#CreateKeyInput": { @@ -255,7 +255,7 @@ "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    ", + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -286,7 +286,7 @@ "target": "com.amazonaws.paymentcryptography#Tags", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                    Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                    \n

                    Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.

                    \n \n

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    \n \n

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    \n
                    ", + "smithy.api#documentation": "

                    Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                    Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -296,7 +296,7 @@ "target": "com.amazonaws.paymentcryptography#DeriveKeyUsage", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                    The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.

                    ", + "smithy.api#documentation": "

                    The intended cryptographic usage of keys derived from the ECC key pair to be created.

                    After creating an ECC key pair, you cannot change the intended cryptographic usage of keys derived from it using ECDH.

                    ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -359,7 +359,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Deletes the alias, but doesn't affect the underlying key.

                    \n

                    Each key can have multiple aliases. To get the aliases of all keys, use the UpdateAlias operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Deletes the alias, but doesn't affect the underlying key.

                    Each key can have multiple aliases. To get the aliases of all keys, use the UpdateAlias operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#idempotent": {} } }, @@ -418,7 +418,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.

                    \n

                    Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays. The default waiting period is 7 days. During the waiting period, the KeyState is DELETE_PENDING. After the key is deleted, the KeyState is DELETE_COMPLETE.

                    \n

                    You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.

                    Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays. The default waiting period is 7 days. During the waiting period, the KeyState is DELETE_PENDING. After the key is deleted, the KeyState is DELETE_COMPLETE.

                    You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#idempotent": {} } }, @@ -555,12 +555,12 @@ "SharedInformation": { "target": "com.amazonaws.paymentcryptography#SharedInformation", "traits": { - "smithy.api#documentation": "

                    A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                    \n

                    It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                    " + "smithy.api#documentation": "

                    A string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                    It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes. It is not recommended to reuse shared information for multiple ECDH key derivations, as it could result in derived key material being the same across different derivations.

                    " } } }, "traits": { - "smithy.api#documentation": "

                    Derivation data used to derive an ECDH key.

                    " + "smithy.api#documentation": "

                    The shared information used when deriving a key using ECDH.

                    " } }, "com.amazonaws.paymentcryptography#EvenHexLengthBetween16And32": { @@ -585,7 +585,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. Specify KCV for IPEK export only.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. Specify KCV for IPEK export only.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " } } }, @@ -599,49 +599,49 @@ "PrivateKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the asymmetric ECC key.

                    ", + "smithy.api#documentation": "

                    The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                    ", "smithy.api#required": {} } }, "CertificateAuthorityPublicKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the certificate that signed the client's PublicKeyCertificate.

                    ", + "smithy.api#documentation": "

                    The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                    ", "smithy.api#required": {} } }, "PublicKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                    The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                    ", + "smithy.api#documentation": "

                    The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                    ", "smithy.api#required": {} } }, "DeriveKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#SymmetricKeyAlgorithm", "traits": { - "smithy.api#documentation": "

                    The key algorithm of the derived ECDH key.

                    ", + "smithy.api#documentation": "

                    The key algorithm of the shared derived ECDH key.

                    ", "smithy.api#required": {} } }, "KeyDerivationFunction": { "target": "com.amazonaws.paymentcryptography#KeyDerivationFunction", "traits": { - "smithy.api#documentation": "

                    The key derivation function to use for deriving a key using ECDH.

                    ", + "smithy.api#documentation": "

                    The key derivation function to use when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, "KeyDerivationHashAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyDerivationHashAlgorithm", "traits": { - "smithy.api#documentation": "

                    The hash type to use for deriving a key using ECDH.

                    ", + "smithy.api#documentation": "

                    The hash type to use when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, "DerivationData": { "target": "com.amazonaws.paymentcryptography#DiffieHellmanDerivationData", "traits": { - "smithy.api#documentation": "

                    Derivation data used to derive an ECDH key.

                    ", + "smithy.api#documentation": "

                    The shared information used when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, @@ -650,7 +650,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    Parameter information for key material export using the asymmetric ECDH key exchange method.

                    " + "smithy.api#documentation": "

                    Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                    " } }, "com.amazonaws.paymentcryptography#ExportDukptInitialKey": { @@ -659,7 +659,7 @@ "KeySerialNumber": { "target": "com.amazonaws.paymentcryptography#HexLength20Or24", "traits": { - "smithy.api#documentation": "

                    The KSN for IPEK generation using DUKPT.

                    \n

                    KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key.

                    ", + "smithy.api#documentation": "

                    The KSN for IPEK generation using DUKPT.

                    KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key.

                    ", "smithy.api#required": {} } } @@ -701,7 +701,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Exports a key from Amazon Web Services Payment Cryptography.

                    \n

                    Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                    \n

                    For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                    \n

                    The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                    \n

                    You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                    \n

                    For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                    \n

                    The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                    \n \n

                    Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                    \n
                    \n

                    \n To export initial keys (KEK) or IPEK using TR-34\n

                    \n

                    Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                    \n

                    To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.

                    \n

                    Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    Set the following parameters:

                    \n
                      \n
                    • \n

                      \n ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                      \n
                    • \n
                    • \n

                      \n ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                      \n
                    • \n
                    • \n

                      \n KeyMaterial: Use Tr34KeyBlock parameters.

                      \n
                    • \n
                    • \n

                      \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                      \n
                    • \n
                    • \n

                      \n ExportToken: Obtained from KDH by calling GetParametersForImport.

                      \n
                    • \n
                    • \n

                      \n WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                      \n
                    • \n
                    \n

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                    \n

                    \n To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap\n

                    \n

                    Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                    \n

                    Next call ExportKey and set the following parameters:

                    \n
                      \n
                    • \n

                      \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                      \n
                    • \n
                    • \n

                      \n KeyMaterial: Set to KeyCryptogram.

                      \n
                    • \n
                    • \n

                      \n WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                      \n
                    • \n
                    \n

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                    \n

                    \n To export working keys or IPEK using TR-31\n

                    \n

                    Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                    \n

                    Set the following parameters:

                    \n
                      \n
                    • \n

                      \n ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                      \n
                    • \n
                    • \n

                      \n ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                      \n
                    • \n
                    • \n

                      \n KeyMaterial: Use Tr31KeyBlock parameters.

                      \n
                    • \n
                    \n

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Exports a key from Amazon Web Services Payment Cryptography.

                    Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                    For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                    PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                    You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                    For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                    The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                    Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                    To export initial keys (KEK) or IPEK using TR-34

                    Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                    To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 30 days.

                    Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                    Set the following parameters:

                    • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                    • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                    • KeyMaterial: Use Tr34KeyBlock parameters.

                    • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                    • ExportToken: Obtained from KDH by calling GetParametersForImport.

                    • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                    To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                    Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                    Next call ExportKey and set the following parameters:

                    • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                    • KeyMaterial: Set to KeyCryptogram.

                    • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                    To export working keys or IPEK using TR-31

                    Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                    Set the following parameters:

                    • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                    • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                    • KeyMaterial: Use Tr31KeyBlock parameters.

                    To export working keys using ECDH

                    You can also use ECDH key agreement to export working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                    To initiate a TR-31 key export using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. You can then complete a TR-31 key export by deriving a shared wrapping key using the service ECC key pair, public certificate of your ECC key pair outside of Amazon Web Services Payment Cryptography, and the key derivation parameters including key derivation function, hash algorithm, derivation data, key algorithm.

                    • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                    • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                    • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                    • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                    When this operation is successful, Amazon Web Services Payment Cryptography returns the working key as a TR-31 WrappedKeyBlock, where the wrapping key is the ECDH derived key.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#ExportKeyCryptogram": { @@ -784,7 +784,7 @@ "DiffieHellmanTr31KeyBlock": { "target": "com.amazonaws.paymentcryptography#ExportDiffieHellmanTr31KeyBlock", "traits": { - "smithy.api#documentation": "

                    Parameter information for key material export using the asymmetric ECDH key exchange method.

                    " + "smithy.api#documentation": "

                    Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                    " } } }, @@ -853,7 +853,7 @@ "ExportToken": { "target": "com.amazonaws.paymentcryptography#ExportTokenId", "traits": { - "smithy.api#documentation": "

                    The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                    ", + "smithy.api#documentation": "

                    The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                    ", "smithy.api#required": {} } }, @@ -911,7 +911,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Gets the Amazon Web Services Payment Cryptography key associated with the alias.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Gets the Amazon Web Services Payment Cryptography key associated with the alias.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#readonly": {} } }, @@ -979,7 +979,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#readonly": {} } }, @@ -1053,7 +1053,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                    \n

                    The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                    The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 30 days. You can use the same export token to export multiple keys from your service account.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#GetParametersForExportInput": { @@ -1084,7 +1084,7 @@ "SigningKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                    The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 7 days.

                    ", + "smithy.api#documentation": "

                    The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 30 days.

                    ", "smithy.api#required": {} } }, @@ -1105,7 +1105,7 @@ "ExportToken": { "target": "com.amazonaws.paymentcryptography#ExportTokenId", "traits": { - "smithy.api#documentation": "

                    The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                    ", + "smithy.api#documentation": "

                    The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                    ", "smithy.api#required": {} } }, @@ -1157,7 +1157,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                    \n

                    The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                    The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 30 days. You can use the same import token to import multiple keys into your service account.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#GetParametersForImportInput": { @@ -1166,14 +1166,14 @@ "KeyMaterialType": { "target": "com.amazonaws.paymentcryptography#KeyMaterialType", "traits": { - "smithy.api#documentation": "

                    The method to use for key material import. Import token is only required for TR-34 WrappedKeyBlock (TR34_KEY_BLOCK) and RSA WrappedKeyCryptogram (KEY_CRYPTOGRAM).

                    \n

                    Import token is not required for TR-31, root public key cerificate or trusted public key certificate.

                    ", + "smithy.api#documentation": "

                    The method to use for key material import. Import token is only required for TR-34 WrappedKeyBlock (TR34_KEY_BLOCK) and RSA WrappedKeyCryptogram (KEY_CRYPTOGRAM).

                    Import token is not required for TR-31, root public key cerificate or trusted public key certificate.

                    ", "smithy.api#required": {} } }, "WrappingKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyAlgorithm", "traits": { - "smithy.api#documentation": "

                    The wrapping key algorithm to generate a wrapping key certificate. This certificate wraps the key under import.

                    \n

                    At this time, RSA_2048 is the allowed algorithm for TR-34 WrappedKeyBlock import. Additionally, RSA_2048, RSA_3072, RSA_4096 are the allowed algorithms for RSA WrappedKeyCryptogram import.

                    ", + "smithy.api#documentation": "

                    The wrapping key algorithm to generate a wrapping key certificate. This certificate wraps the key under import.

                    At this time, RSA_2048 is the allowed algorithm for TR-34 WrappedKeyBlock import. Additionally, RSA_2048, RSA_3072, RSA_4096 are the allowed algorithms for RSA WrappedKeyCryptogram import.

                    ", "smithy.api#required": {} } } @@ -1188,7 +1188,7 @@ "WrappingKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                    The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 7 days.

                    ", + "smithy.api#documentation": "

                    The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 30 days.

                    ", "smithy.api#required": {} } }, @@ -1209,7 +1209,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                    The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                    ", + "smithy.api#documentation": "

                    The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                    ", "smithy.api#required": {} } }, @@ -1255,7 +1255,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Gets the public key certificate of the asymmetric key pair that exists within Amazon Web Services Payment Cryptography.

                    \n

                    Unlike the private key of an asymmetric key, which never leaves Amazon Web Services Payment Cryptography unencrypted, callers with GetPublicKeyCertificate permission can download the public key certificate of the asymmetric key. You can share the public key certificate to allow others to encrypt messages and verify signatures outside of Amazon Web Services Payment Cryptography

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    ", + "smithy.api#documentation": "

                    Gets the public key certificate of the asymmetric key pair that exists within Amazon Web Services Payment Cryptography.

                    Unlike the private key of an asymmetric key, which never leaves Amazon Web Services Payment Cryptography unencrypted, callers with GetPublicKeyCertificate permission can download the public key certificate of the asymmetric key. You can share the public key certificate to allow others to encrypt messages and verify signatures outside of Amazon Web Services Payment Cryptography

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    ", "smithy.api#readonly": {} } }, @@ -1312,49 +1312,49 @@ "PrivateKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the asymmetric ECC key.

                    ", + "smithy.api#documentation": "

                    The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                    ", "smithy.api#required": {} } }, "CertificateAuthorityPublicKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                    The keyARN of the certificate that signed the client's PublicKeyCertificate.

                    ", + "smithy.api#documentation": "

                    The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                    ", "smithy.api#required": {} } }, "PublicKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                    The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                    ", + "smithy.api#documentation": "

                    The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                    ", "smithy.api#required": {} } }, "DeriveKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#SymmetricKeyAlgorithm", "traits": { - "smithy.api#documentation": "

                    The key algorithm of the derived ECDH key.

                    ", + "smithy.api#documentation": "

                    The key algorithm of the shared derived ECDH key.

                    ", "smithy.api#required": {} } }, "KeyDerivationFunction": { "target": "com.amazonaws.paymentcryptography#KeyDerivationFunction", "traits": { - "smithy.api#documentation": "

                    The key derivation function to use for deriving a key using ECDH.

                    ", + "smithy.api#documentation": "

                    The key derivation function to use when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, "KeyDerivationHashAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyDerivationHashAlgorithm", "traits": { - "smithy.api#documentation": "

                    The hash type to use for deriving a key using ECDH.

                    ", + "smithy.api#documentation": "

                    The hash type to use when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, "DerivationData": { "target": "com.amazonaws.paymentcryptography#DiffieHellmanDerivationData", "traits": { - "smithy.api#documentation": "

                    Derivation data used to derive an ECDH key.

                    ", + "smithy.api#documentation": "

                    The shared information used when deriving a key using ECDH.

                    ", "smithy.api#required": {} } }, @@ -1367,7 +1367,7 @@ } }, "traits": { - "smithy.api#documentation": "

                    Parameter information for key material import using the asymmetric ECDH key exchange method.

                    " + "smithy.api#documentation": "

                    Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                    " } }, "com.amazonaws.paymentcryptography#ImportKey": { @@ -1406,7 +1406,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                    \n

                    Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                    \n

                    For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                    \n

                    The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                    \n

                    You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                    \n

                    \n To import a public root key certificate\n

                    \n

                    Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                    \n

                    Set the following parameters:

                    \n
                      \n
                    • \n

                      \n KeyMaterial: RootCertificatePublicKey\n

                      \n
                    • \n
                    • \n

                      \n KeyClass: PUBLIC_KEY\n

                      \n
                    • \n
                    • \n

                      \n KeyModesOfUse: Verify\n

                      \n
                    • \n
                    • \n

                      \n KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE\n

                      \n
                    • \n
                    • \n

                      \n PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                      \n
                    • \n
                    \n

                    \n To import a trusted public key certificate\n

                    \n

                    The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                    \n
                      \n
                    • \n

                      \n KeyMaterial: TrustedCertificatePublicKey\n

                      \n
                    • \n
                    • \n

                      \n CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                      \n
                    • \n
                    • \n

                      \n KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                      \n
                    • \n
                    • \n

                      \n PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                      \n
                    • \n
                    \n

                    \n To import initial keys (KEK or ZMK or similar) using TR-34\n

                    \n

                    Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                    \n

                    To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.

                    \n

                    Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    Set the following parameters:

                    \n
                      \n
                    • \n

                      \n KeyMaterial: Use Tr34KeyBlock parameters.

                      \n
                    • \n
                    • \n

                      \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                      \n
                    • \n
                    • \n

                      \n ImportToken: Obtained from KRD by calling GetParametersForImport.

                      \n
                    • \n
                    • \n

                      \n WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                      \n
                    • \n
                    • \n

                      \n SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                      \n
                    • \n
                    \n

                    \n To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap\n

                    \n

                    Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.

                    \n

                    You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                    \n

                    \n To import working keys using TR-31\n

                    \n

                    Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                    \n
                      \n
                    • \n

                      \n KeyMaterial: Use Tr31KeyBlock parameters.

                      \n
                    • \n
                    • \n

                      \n WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                      \n
                    • \n
                    • \n

                      \n WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                      \n
                    • \n
                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                    Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                    For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                    PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                    You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                    To import a public root key certificate

                    Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                    Set the following parameters:

                    • KeyMaterial: RootCertificatePublicKey

                    • KeyClass: PUBLIC_KEY

                    • KeyModesOfUse: Verify

                    • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                    • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                    To import a trusted public key certificate

                    The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                    • KeyMaterial: TrustedCertificatePublicKey

                    • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                    • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                    • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                    To import initial keys (KEK or ZMK or similar) using TR-34

                    Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                    To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 30 days.

                    Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                    Set the following parameters:

                    • KeyMaterial: Use Tr34KeyBlock parameters.

                    • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                    • ImportToken: Obtained from KRD by calling GetParametersForImport.

                    • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                    • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                    To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                    Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 30 days.

                    You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                    To import working keys using TR-31

                    Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                    • KeyMaterial: Use Tr31KeyBlock parameters.

                    • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                    • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                    To import working keys using ECDH

                    You can also use ECDH key agreement to import working keys as a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                    To initiate a TR-31 key import using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey and then GetPublicKeyCertificate to retrieve its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock using your own ECC key pair, the public certificate of the service's ECC key pair, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. To complete the TR-31 key import, you can use the following parameters. It is important that the ECDH key derivation parameters you use should match those used during import to derive the same shared wrapping key within Amazon Web Services Payment Cryptography.

                    • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                    • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                    • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                    • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#ImportKeyCryptogram": { @@ -1435,7 +1435,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                    The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                    ", + "smithy.api#documentation": "

                    The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                    ", "smithy.api#required": {} } }, @@ -1463,7 +1463,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " } }, "Enabled": { @@ -1475,7 +1475,7 @@ "Tags": { "target": "com.amazonaws.paymentcryptography#Tags", "traits": { - "smithy.api#documentation": "

                    Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                    \n

                    Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.

                    \n \n

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    \n \n

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    \n
                    " + "smithy.api#documentation": "

                    Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                    Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    " } } }, @@ -1519,7 +1519,7 @@ "DiffieHellmanTr31KeyBlock": { "target": "com.amazonaws.paymentcryptography#ImportDiffieHellmanTr31KeyBlock", "traits": { - "smithy.api#documentation": "

                    Parameter information for key material import using the asymmetric ECDH key exchange method.

                    " + "smithy.api#documentation": "

                    Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                    " } } }, @@ -1590,7 +1590,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                    The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                    ", + "smithy.api#documentation": "

                    The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                    ", "smithy.api#required": {} } }, @@ -1667,7 +1667,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    ", + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    ", "smithy.api#required": {} } }, @@ -1806,6 +1806,22 @@ "value": "AES_256", "name": "AES_256" }, + { + "value": "HMAC_SHA256", + "name": "HMAC_SHA256" + }, + { + "value": "HMAC_SHA384", + "name": "HMAC_SHA384" + }, + { + "value": "HMAC_SHA512", + "name": "HMAC_SHA512" + }, + { + "value": "HMAC_SHA224", + "name": "HMAC_SHA224" + }, { "value": "RSA_2048", "name": "RSA_2048" @@ -1873,7 +1889,7 @@ "KeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyAlgorithm", "traits": { - "smithy.api#documentation": "

                    The key algorithm to be use during creation of an Amazon Web Services Payment Cryptography key.

                    \n

                    For symmetric keys, Amazon Web Services Payment Cryptography supports AES and TDES algorithms. For asymmetric keys, Amazon Web Services Payment Cryptography supports RSA and ECC_NIST algorithms.

                    ", + "smithy.api#documentation": "

                    The key algorithm to be use during creation of an Amazon Web Services Payment Cryptography key.

                    For symmetric keys, Amazon Web Services Payment Cryptography supports AES and TDES algorithms. For asymmetric keys, Amazon Web Services Payment Cryptography supports RSA and ECC_NIST algorithms.

                    ", "smithy.api#required": {} } }, @@ -1898,7 +1914,7 @@ "KeyExportability": { "target": "com.amazonaws.paymentcryptography#KeyExportability", "traits": { - "smithy.api#documentation": "

                    Specifies subsequent exportability of the key within the key block after it is received by the receiving party. It can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                    \n

                    When set to EXPORTABLE, the key can be subsequently exported by the receiver under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE, the key cannot be subsequently exported by the receiver. When set to SENSITIVE, the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA wrap and unwrap cryptogram or using a symmetric cryptogram key export method. For further information refer to ANSI X9.143-2022.

                    " + "smithy.api#documentation": "

                    Specifies subsequent exportability of the key within the key block after it is received by the receiving party. It can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                    When set to EXPORTABLE, the key can be subsequently exported by the receiver under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE, the key cannot be subsequently exported by the receiver. When set to SENSITIVE, the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA wrap and unwrap cryptogram or using a symmetric cryptogram key export method. For further information refer to ANSI X9.143-2022.

                    " } }, "KeyVersion": { @@ -1910,7 +1926,7 @@ "OptionalBlocks": { "target": "com.amazonaws.paymentcryptography#OptionalBlocks", "traits": { - "smithy.api#documentation": "

                    Parameter used to indicate the type of optional data in key block headers. Refer to ANSI X9.143-2022 for information on allowed data type for optional blocks.

                    \n

                    Optional block character limit is 112 characters. For each optional block, 2 characters are reserved for optional block ID and 2 characters reserved for optional block length. More than one optional blocks can be included as long as the combined length does not increase 112 characters.

                    " + "smithy.api#documentation": "

                    Parameter used to indicate the type of optional data in key block headers. Refer to ANSI X9.143-2022 for information on allowed data type for optional blocks.

                    Optional block character limit is 112 characters. For each optional block, 2 characters are reserved for optional block ID and 2 characters reserved for optional block length. More than one optional blocks can be included as long as the combined length does not increase 112 characters.

                    " } } }, @@ -1939,6 +1955,10 @@ { "value": "ANSI_X9_24", "name": "ANSI_X9_24" + }, + { + "value": "HMAC", + "name": "HMAC" } ] } @@ -2410,7 +2430,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the aliases by keyARN. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.

                    \n

                    This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken value.\n Use this value in a subsequent ListAliases request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the aliases by keyARN. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.

                    This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken value. Use this value in a subsequent ListAliases request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2438,7 +2458,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    \n

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " + "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " } } }, @@ -2501,7 +2521,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.

                    \n

                    This is a paginated operation, which means that each response might contain only a subset of all the keys.\n When the response contains only a subset of keys, it includes a NextToken value. Use this value in a subsequent ListKeys request to get more keys.\n When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.

                    This is a paginated operation, which means that each response might contain only a subset of all the keys. When the response contains only a subset of keys, it includes a NextToken value. Use this value in a subsequent ListKeys request to get more keys. When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2529,7 +2549,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    \n

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " + "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " } } }, @@ -2592,7 +2612,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Lists the tags for an Amazon Web Services resource.

                    \n

                    This is a paginated operation, which means that each response might contain only a subset of all the tags.\n When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTagsForResource request to get more tags.\n When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n ", + "smithy.api#documentation": "

                    Lists the tags for an Amazon Web Services resource.

                    This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTagsForResource request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2621,7 +2641,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    \n

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " + "smithy.api#documentation": "

                    Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                    This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                    " } } }, @@ -2748,7 +2768,7 @@ }, "aws.protocols#awsJson1_0": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                    Amazon Web Services Payment Cryptography Control Plane APIs manage encryption keys for use during payment-related cryptographic operations. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. For more information, see Identity and access management in the Amazon Web Services Payment Cryptography User Guide.\n

                    \n

                    To use encryption keys for payment-related transaction processing and associated cryptographic operations, you use the Amazon Web Services Payment Cryptography Data Plane. You can perform actions like encrypt, decrypt, generate, and verify payment-related data.

                    \n

                    All Amazon Web Services Payment Cryptography API calls must be signed and transmitted using Transport Layer Security (TLS). We recommend you always use the latest supported TLS version for logging API requests.

                    \n

                    Amazon Web Services Payment Cryptography supports CloudTrail for control plane operations, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket you specify. By using the information collected by CloudTrail, you can determine what requests were made to Amazon Web Services Payment Cryptography, who made the request, when it was made, and so on. If you don't configure a trail, you can still view the most recent events in the CloudTrail console. For more information, see the CloudTrail User Guide.

                    ", + "smithy.api#documentation": "

                    Amazon Web Services Payment Cryptography Control Plane APIs manage encryption keys for use during payment-related cryptographic operations. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. For more information, see Identity and access management in the Amazon Web Services Payment Cryptography User Guide.

                    To use encryption keys for payment-related transaction processing and associated cryptographic operations, you use the Amazon Web Services Payment Cryptography Data Plane. You can perform actions like encrypt, decrypt, generate, and verify payment-related data.

                    All Amazon Web Services Payment Cryptography API calls must be signed and transmitted using Transport Layer Security (TLS). We recommend you always use the latest supported TLS version for logging API requests.

                    Amazon Web Services Payment Cryptography supports CloudTrail for control plane operations, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket you specify. By using the information collected by CloudTrail, you can determine what requests were made to Amazon Web Services Payment Cryptography, who made the request, when it was made, and so on. If you don't configure a trail, you can still view the most recent events in the CloudTrail console. For more information, see the CloudTrail User Guide.

                    ", "smithy.api#title": "Payment Cryptography Control Plane", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3478,7 +3498,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key that is scheduled for deletion.

                    \n

                    During the waiting period, the KeyState is DELETE_PENDING and deletePendingTimestamp contains the date and time after which the Key will be deleted.\n After Key is restored, the KeyState is CREATE_COMPLETE, and the value for deletePendingTimestamp is removed.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key that is scheduled for deletion.

                    During the waiting period, the KeyState is DELETE_PENDING and deletePendingTimestamp contains the date and time after which the Key will be deleted. After Key is restored, the KeyState is CREATE_COMPLETE, and the value for deletePendingTimestamp is removed.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#RestoreKeyInput": { @@ -3609,7 +3629,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#StartKeyUsageInput": { @@ -3682,7 +3702,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.

                    \n

                    You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.

                    You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#StopKeyUsageInput": { @@ -3751,6 +3771,30 @@ "traits": { "smithy.api#enumValue": "AES_256" } + }, + "HMAC_SHA256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA256" + } + }, + "HMAC_SHA384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA384" + } + }, + "HMAC_SHA512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA512" + } + }, + "HMAC_SHA224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA224" + } } } }, @@ -3834,7 +3878,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Adds or edits tags on an Amazon Web Services Payment Cryptography key.

                    \n \n

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    \n
                    \n

                    Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Adds or edits tags on an Amazon Web Services Payment Cryptography key.

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#TagResourceInput": { @@ -3850,7 +3894,7 @@ "Tags": { "target": "com.amazonaws.paymentcryptography#Tags", "traits": { - "smithy.api#documentation": "

                    One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.

                    \n \n

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    \n

                    To use this parameter, you must have TagResource permission in an IAM policy.

                    \n \n

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    \n
                    ", + "smithy.api#documentation": "

                    One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    To use this parameter, you must have TagResource permission in an IAM policy.

                    Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                    ", "smithy.api#required": {} } } @@ -3998,7 +4042,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Deletes a tag from an Amazon Web Services Payment Cryptography key.

                    \n \n

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    \n
                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Deletes a tag from an Amazon Web Services Payment Cryptography key.

                    Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#UntagResourceInput": { @@ -4014,7 +4058,7 @@ "TagKeys": { "target": "com.amazonaws.paymentcryptography#TagKeys", "traits": { - "smithy.api#documentation": "

                    One or more tag keys. Don't include the tag values.

                    \n

                    If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.

                    ", + "smithy.api#documentation": "

                    One or more tag keys. Don't include the tag values.

                    If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.

                    ", "smithy.api#required": {} } } @@ -4063,7 +4107,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                    Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region

                    \n

                    \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    \n

                    \n Related operations:\n

                    \n " + "smithy.api#documentation": "

                    Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region

                    Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                    Related operations:

                    " } }, "com.amazonaws.paymentcryptography#UpdateAliasInput": { @@ -4152,7 +4196,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    \n

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " + "smithy.api#documentation": "

                    The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                    For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                    " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/sagemaker.json b/tools/code-generation/smithy/api-descriptions/sagemaker.json index e7afa45c8a3..229d3b90d39 100644 --- a/tools/code-generation/smithy/api-descriptions/sagemaker.json +++ b/tools/code-generation/smithy/api-descriptions/sagemaker.json @@ -5852,6 +5852,314 @@ "com.amazonaws.sagemaker#CertifyForMarketplace": { "type": "boolean" }, + "com.amazonaws.sagemaker#CfnCreateTemplateProvider": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    A unique identifier for the template within the project.

                    ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The Amazon S3 URL of the CloudFormation template.

                    ", + "smithy.api#required": {} + } + }, + "RoleARN": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                    The IAM role that CloudFormation assumes when creating the stack.

                    " + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackCreateParameters", + "traits": { + "smithy.api#documentation": "

                    An array of CloudFormation stack parameters.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    The CloudFormation template provider configuration for creating infrastructure resources.

                    " + } + }, + "com.amazonaws.sagemaker#CfnStackCreateParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The name of the CloudFormation parameter.

                    ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                    The value of the CloudFormation parameter.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    A key-value pair that represents a parameter for the CloudFormation stack.

                    " + } + }, + "com.amazonaws.sagemaker#CfnStackCreateParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackCreateParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnStackDetail": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.sagemaker#CfnStackName", + "traits": { + "smithy.api#documentation": "

                    The name of the CloudFormation stack.

                    " + } + }, + "Id": { + "target": "com.amazonaws.sagemaker#CfnStackId", + "traits": { + "smithy.api#documentation": "

                    The unique identifier of the CloudFormation stack.

                    " + } + }, + "StatusMessage": { + "target": "com.amazonaws.sagemaker#CfnStackStatusMessage", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    A human-readable message about the stack's current status.

                    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Details about the CloudFormation stack.

                    " + } + }, + "com.amazonaws.sagemaker#CfnStackId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^(?=.{1,256}$)arn:aws[a-z\\-]*:cloudformation:[a-z0-9\\-]*:[0-9]{12}:stack/[a-zA-Z][a-zA-Z0-9-]{0,127}/.*$" + } + }, + "com.amazonaws.sagemaker#CfnStackName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z][A-Za-z0-9-]{0,127}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The name of the CloudFormation parameter.

                    ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                    The value of the CloudFormation parameter.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    A key-value pair representing a parameter used in the CloudFormation stack.

                    " + } + }, + "com.amazonaws.sagemaker#CfnStackParameterKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.{1,255}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + }, + "smithy.api#pattern": "^.{0,4096}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnStackStatusMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + }, + "smithy.api#pattern": "^.{1,4096}$" + } + }, + "com.amazonaws.sagemaker#CfnStackUpdateParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The name of the CloudFormation parameter.

                    ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                    The value of the CloudFormation parameter.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    A key-value pair representing a parameter used in the CloudFormation stack.

                    " + } + }, + "com.amazonaws.sagemaker#CfnStackUpdateParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackUpdateParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnTemplateName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32 + }, + "smithy.api#pattern": "^(?=.{1,32}$)[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + } + }, + "com.amazonaws.sagemaker#CfnTemplateProviderDetail": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The unique identifier of the template within the project.

                    ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The Amazon S3 URL of the CloudFormation template.

                    ", + "smithy.api#required": {} + } + }, + "RoleARN": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                    The IAM role used by CloudFormation to create the stack.

                    " + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackParameters", + "traits": { + "smithy.api#documentation": "

                    An array of CloudFormation stack parameters.

                    " + } + }, + "StackDetail": { + "target": "com.amazonaws.sagemaker#CfnStackDetail", + "traits": { + "smithy.api#documentation": "

                    Information about the CloudFormation stack created by the template provider.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Details about a CloudFormation template provider configuration and associated provisioning information.

                    " + } + }, + "com.amazonaws.sagemaker#CfnTemplateURL": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^(?=.{1,1024}$)(https)://([^/]+)/(.+)$" + } + }, + "com.amazonaws.sagemaker#CfnUpdateTemplateProvider": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The unique identifier of the template to update within the project.

                    ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                    The Amazon S3 URL of the CloudFormation template.

                    ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackUpdateParameters", + "traits": { + "smithy.api#documentation": "

                    An array of CloudFormation stack parameters.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Contains configuration details for updating an existing CloudFormation template provider in the project.

                    " + } + }, "com.amazonaws.sagemaker#Channel": { "type": "structure", "members": { @@ -14758,6 +15066,12 @@ "traits": { "smithy.api#documentation": "

                    An array of key-value pairs that you want to use to organize and track your Amazon Web Services resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                    " } + }, + "TemplateProviders": { + "target": "com.amazonaws.sagemaker#CreateTemplateProviderList", + "traits": { + "smithy.api#documentation": "

                    An array of template provider configurations for creating infrastructure resources for the project.

                    " + } } }, "traits": { @@ -14945,6 +15259,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#CreateTemplateProvider": { + "type": "structure", + "members": { + "CfnTemplateProvider": { + "target": "com.amazonaws.sagemaker#CfnCreateTemplateProvider", + "traits": { + "smithy.api#documentation": "

                    The CloudFormation template provider configuration for creating infrastructure resources.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Contains configuration details for a template provider. Only one type of template provider can be specified.

                    " + } + }, + "com.amazonaws.sagemaker#CreateTemplateProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CreateTemplateProvider" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#CreateTrainingJob": { "type": "operation", "input": { @@ -26471,6 +26811,12 @@ "smithy.api#required": {} } }, + "TemplateProviderDetails": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetailList", + "traits": { + "smithy.api#documentation": "

                    An array of template providers associated with the project.

                    " + } + }, "CreatedBy": { "target": "com.amazonaws.sagemaker#UserContext" }, @@ -58991,6 +59337,12 @@ "smithy.api#documentation": "

                    A timestamp specifying when the project was created.

                    " } }, + "TemplateProviderDetails": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetailList", + "traits": { + "smithy.api#documentation": "

                    An array of template providers associated with the project.

                    " + } + }, "Tags": { "target": "com.amazonaws.sagemaker#TagList", "traits": { @@ -61397,7 +61749,7 @@ "InstanceType": { "target": "com.amazonaws.sagemaker#TrainingInstanceType", "traits": { - "smithy.api#documentation": "

                    The ML compute instance type.

                    SageMaker Training on Amazon Elastic Compute Cloud (EC2) P4de instances is in preview release starting December 9th, 2022.

                    Amazon EC2 P4de instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB high-performance HBM2e GPU memory, which accelerate the speed of training ML models that need to be trained on large datasets of high-resolution data. In this preview release, Amazon SageMaker supports ML training jobs on P4de instances (ml.p4de.24xlarge) to reduce model training time. The ml.p4de.24xlarge instances are available in the following Amazon Web Services Regions.

                    • US East (N. Virginia) (us-east-1)

                    • US West (Oregon) (us-west-2)

                    To request quota limit increase and start using P4de instances, contact the SageMaker Training service team through your account team.

                    " + "smithy.api#documentation": "

                    The ML compute instance type.

                    " } }, "InstanceCount": { @@ -68735,6 +69087,32 @@ } } }, + "com.amazonaws.sagemaker#TemplateProviderDetail": { + "type": "structure", + "members": { + "CfnTemplateProviderDetail": { + "target": "com.amazonaws.sagemaker#CfnTemplateProviderDetail", + "traits": { + "smithy.api#documentation": "

                    Details about a CloudFormation template provider configuration and associated provisioning information.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Details about a template provider configuration and associated provisioning information.

                    " + } + }, + "com.amazonaws.sagemaker#TemplateProviderDetailList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetail" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#TemplateUrl": { "type": "string", "traits": { @@ -76346,6 +76724,12 @@ "traits": { "smithy.api#documentation": "

                    An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. In addition, the project must have tag update constraints set in order to include this parameter in the request. For more information, see Amazon Web Services Service Catalog Tag Update Constraints.

                    " } + }, + "TemplateProvidersToUpdate": { + "target": "com.amazonaws.sagemaker#UpdateTemplateProviderList", + "traits": { + "smithy.api#documentation": "

                    The template providers to update in the project.

                    " + } } }, "traits": { @@ -76441,6 +76825,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#UpdateTemplateProvider": { + "type": "structure", + "members": { + "CfnTemplateProvider": { + "target": "com.amazonaws.sagemaker#CfnUpdateTemplateProvider", + "traits": { + "smithy.api#documentation": "

                    The CloudFormation template provider configuration to update.

                    " + } + } + }, + "traits": { + "smithy.api#documentation": "

                    Contains configuration details for updating an existing template provider in the project.

                    " + } + }, + "com.amazonaws.sagemaker#UpdateTemplateProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#UpdateTemplateProvider" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#UpdateTrainingJob": { "type": "operation", "input": { From 08dc07fa9e4f5342dfafb6eb8333ae17e8c67915 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Thu, 19 Jun 2025 18:12:03 +0000 Subject: [PATCH 21/26] Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export This release introduces alternative support for utilizing CFN templates from S3 for SageMaker Projects. This release adds the capability to enable IAM IdentityCenter Trusted Identity Propagation for users running Interactive Sessions on EMR Serverless Applications. Support Schema Registry feature for Kafka Event Source Mapping. Customers can now configure a Schema Registry to enable schema validation and filtering for Avro, Protobuf, and JSON-formatted events in Lambda for Kafka Event Source. This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a trained model into Amazon Bedrock for inference. Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export --- VERSION | 2 +- .../aws/emr-serverless/model/Application.h | 17 + .../model/CreateApplicationRequest.h | 19 + .../model/IdentityCenterConfiguration.h | 77 + .../model/IdentityCenterConfigurationInput.h | 62 + .../model/UpdateApplicationRequest.h | 19 + .../source/model/Application.cpp | 11 + .../source/model/CreateApplicationRequest.cpp | 6 + .../model/IdentityCenterConfiguration.cpp | 62 + .../IdentityCenterConfigurationInput.cpp | 51 + .../source/model/UpdateApplicationRequest.cpp | 6 + .../include/aws/lambda/LambdaClient.h | 20 +- .../AmazonManagedKafkaEventSourceConfig.h | 16 + .../model/CreateEventSourceMappingResult.h | 2 +- .../aws/lambda/model/DeadLetterConfig.h | 2 +- .../model/DeleteEventSourceMappingResult.h | 2 +- .../aws/lambda/model/DestinationConfig.h | 8 +- .../model/EventSourceMappingConfiguration.h | 2 +- .../model/GetEventSourceMappingResult.h | 2 +- .../model/GetRuntimeManagementConfigRequest.h | 2 +- .../model/KafkaSchemaRegistryAccessConfig.h | 80 + .../model/KafkaSchemaRegistryAuthType.h | 32 + .../lambda/model/KafkaSchemaRegistryConfig.h | 122 ++ .../model/KafkaSchemaValidationAttribute.h | 31 + .../model/KafkaSchemaValidationConfig.h | 61 + .../model/ListEventSourceMappingsRequest.h | 2 +- .../include/aws/lambda/model/OnFailure.h | 6 +- .../include/aws/lambda/model/OnSuccess.h | 4 +- .../model/PutFunctionConcurrencyRequest.h | 2 +- .../model/SchemaRegistryEventRecordFormat.h | 31 + .../model/SelfManagedKafkaEventSourceConfig.h | 20 +- .../lambda/model/SourceAccessConfiguration.h | 2 +- .../model/UpdateEventSourceMappingRequest.h | 28 + .../model/UpdateEventSourceMappingResult.h | 2 +- .../AmazonManagedKafkaEventSourceConfig.cpp | 11 + .../model/KafkaSchemaRegistryAccessConfig.cpp | 61 + .../model/KafkaSchemaRegistryAuthType.cpp | 79 + .../model/KafkaSchemaRegistryConfig.cpp | 101 + .../model/KafkaSchemaValidationAttribute.cpp | 72 + .../model/KafkaSchemaValidationConfig.cpp | 50 + .../model/SchemaRegistryEventRecordFormat.cpp | 72 + .../SelfManagedKafkaEventSourceConfig.cpp | 11 + .../model/UpdateEventSourceMappingRequest.cpp | 12 + .../model/KeyCheckValueAlgorithm.h | 3 +- .../model/SymmetricKeyAlgorithm.h | 6 +- .../source/model/KeyCheckValueAlgorithm.cpp | 7 + .../source/model/SymmetricKeyAlgorithm.cpp | 28 + .../PaymentCryptographyClient.h | 192 +- .../model/CreateKeyRequest.h | 5 +- .../model/DiffieHellmanDerivationData.h | 14 +- .../model/ExportDiffieHellmanTr31KeyBlock.h | 23 +- .../model/ExportKeyMaterial.h | 4 +- .../model/ExportTr34KeyBlock.h | 4 +- .../model/GetParametersForExportResult.h | 6 +- .../model/GetParametersForImportResult.h | 6 +- .../model/ImportDiffieHellmanTr31KeyBlock.h | 23 +- .../model/ImportKeyCryptogram.h | 2 +- .../model/ImportKeyMaterial.h | 4 +- .../model/ImportTr34KeyBlock.h | 2 +- .../payment-cryptography/model/KeyAlgorithm.h | 4 + .../model/KeyCheckValueAlgorithm.h | 3 +- .../model/SymmetricKeyAlgorithm.h | 6 +- .../source/model/KeyAlgorithm.cpp | 28 + .../source/model/KeyCheckValueAlgorithm.cpp | 7 + .../source/model/SymmetricKeyAlgorithm.cpp | 28 + .../model/CfnCreateTemplateProvider.h | 109 ++ .../sagemaker/model/CfnStackCreateParameter.h | 75 + .../aws/sagemaker/model/CfnStackDetail.h | 89 + .../aws/sagemaker/model/CfnStackParameter.h | 75 + .../sagemaker/model/CfnStackUpdateParameter.h | 75 + .../model/CfnTemplateProviderDetail.h | 126 ++ .../model/CfnUpdateTemplateProvider.h | 94 + .../sagemaker/model/CreateProjectRequest.h | 19 + .../sagemaker/model/CreateTemplateProvider.h | 61 + .../sagemaker/model/DescribeProjectResult.h | 18 + .../include/aws/sagemaker/model/Project.h | 18 + .../aws/sagemaker/model/ResourceConfig.h | 15 +- .../sagemaker/model/TemplateProviderDetail.h | 61 + .../sagemaker/model/UpdateProjectRequest.h | 18 + .../sagemaker/model/UpdateTemplateProvider.h | 60 + .../model/CfnCreateTemplateProvider.cpp | 93 + .../source/model/CfnStackCreateParameter.cpp | 62 + .../source/model/CfnStackDetail.cpp | 73 + .../source/model/CfnStackParameter.cpp | 62 + .../source/model/CfnStackUpdateParameter.cpp | 62 + .../model/CfnTemplateProviderDetail.cpp | 104 ++ .../model/CfnUpdateTemplateProvider.cpp | 82 + .../source/model/CreateProjectRequest.cpp | 11 + .../source/model/CreateTemplateProvider.cpp | 51 + .../source/model/DescribeProjectResult.cpp | 9 + .../source/model/Project.cpp | 20 + .../source/model/TemplateProviderDetail.cpp | 51 + .../source/model/UpdateProjectRequest.cpp | 11 + .../source/model/UpdateTemplateProvider.cpp | 51 + .../EMRServerlessIncludeTests.cpp | 2 + .../lambda-gen-tests/LambdaIncludeTests.cpp | 6 + .../SageMakerIncludeTests.cpp | 10 + .../include/aws/core/VersionConfig.h | 4 +- .../bedrock-2023-04-20.normal.json | 2 +- .../emr-serverless-2021-07-13.normal.json | 46 + .../lambda-2015-03-31.normal.json | 116 +- ...ayment-cryptography-2021-09-14.normal.json | 79 +- ...t-cryptography-data-2022-02-03.normal.json | 29 +- .../sagemaker-2017-07-24.normal.json | 268 ++- .../codegen/cpp-smoke-tests/smithy-build.json | 1630 ++++++++--------- 105 files changed, 4503 insertions(+), 1029 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackDetail.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackUpdateParameter.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnTemplateProviderDetail.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp diff --git a/VERSION b/VERSION index 6d433588b7c..3686d9e0684 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.591 \ No newline at end of file +1.11.592 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h index 431c9b9dfeb..d3e32b1f21d 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -340,6 +341,19 @@ namespace Model template Application& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                    The IAM Identity Center configuration applied to enable trusted identity + * propagation.

                    + */ + inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + Application& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -407,6 +421,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfiguration m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h index 7f8ef2d95b8..26852f0940b 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -282,6 +283,21 @@ namespace Model template CreateApplicationRequest& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                    The IAM Identity Center Configuration accepts the Identity Center instance + * parameter required to enable trusted identity propagation. This configuration + * allows identity propagation between integrated services and the Identity Center + * instance.

                    + */ + inline const IdentityCenterConfigurationInput& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + CreateApplicationRequest& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -334,6 +350,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfigurationInput m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h new file mode 100644 index 00000000000..bd610a3f687 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EMRServerless +{ +namespace Model +{ + + /** + *

                    The IAM Identity Center Configuration that includes the Identify Center + * instance and application ARNs that provide trusted-identity + * propagation.

                    See Also:

                    AWS + * API Reference

                    + */ + class IdentityCenterConfiguration + { + public: + AWS_EMRSERVERLESS_API IdentityCenterConfiguration() = default; + AWS_EMRSERVERLESS_API IdentityCenterConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_EMRSERVERLESS_API IdentityCenterConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EMRSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                    The ARN of the IAM Identity Center instance.

                    + */ + inline const Aws::String& GetIdentityCenterInstanceArn() const { return m_identityCenterInstanceArn; } + inline bool IdentityCenterInstanceArnHasBeenSet() const { return m_identityCenterInstanceArnHasBeenSet; } + template + void SetIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { m_identityCenterInstanceArnHasBeenSet = true; m_identityCenterInstanceArn = std::forward(value); } + template + IdentityCenterConfiguration& WithIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { SetIdentityCenterInstanceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    The ARN of the EMR Serverless created IAM Identity Center Application that + * provides trusted-identity propagation.

                    + */ + inline const Aws::String& GetIdentityCenterApplicationArn() const { return m_identityCenterApplicationArn; } + inline bool IdentityCenterApplicationArnHasBeenSet() const { return m_identityCenterApplicationArnHasBeenSet; } + template + void SetIdentityCenterApplicationArn(IdentityCenterApplicationArnT&& value) { m_identityCenterApplicationArnHasBeenSet = true; m_identityCenterApplicationArn = std::forward(value); } + template + IdentityCenterConfiguration& WithIdentityCenterApplicationArn(IdentityCenterApplicationArnT&& value) { SetIdentityCenterApplicationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identityCenterInstanceArn; + bool m_identityCenterInstanceArnHasBeenSet = false; + + Aws::String m_identityCenterApplicationArn; + bool m_identityCenterApplicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h new file mode 100644 index 00000000000..42e91efae16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EMRServerless +{ +namespace Model +{ + + /** + *

                    Specifies the IAM Identity Center configuration used to enable or disable + * trusted identity propagation. When provided, this configuration determines how + * the application interacts with IAM Identity Center for user authentication and + * access control.

                    See Also:

                    AWS + * API Reference

                    + */ + class IdentityCenterConfigurationInput + { + public: + AWS_EMRSERVERLESS_API IdentityCenterConfigurationInput() = default; + AWS_EMRSERVERLESS_API IdentityCenterConfigurationInput(Aws::Utils::Json::JsonView jsonValue); + AWS_EMRSERVERLESS_API IdentityCenterConfigurationInput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_EMRSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                    The ARN of the IAM Identity Center instance.

                    + */ + inline const Aws::String& GetIdentityCenterInstanceArn() const { return m_identityCenterInstanceArn; } + inline bool IdentityCenterInstanceArnHasBeenSet() const { return m_identityCenterInstanceArnHasBeenSet; } + template + void SetIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { m_identityCenterInstanceArnHasBeenSet = true; m_identityCenterInstanceArn = std::forward(value); } + template + IdentityCenterConfigurationInput& WithIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { SetIdentityCenterInstanceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identityCenterInstanceArn; + bool m_identityCenterInstanceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h index 3a7a09b409e..f23fd80b6fa 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -253,6 +254,21 @@ namespace Model template UpdateApplicationRequest& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                    Specifies the IAM Identity Center configuration used to enable or disable + * trusted identity propagation. When provided, this configuration determines how + * the application interacts with IAM Identity Center for user authentication and + * access control.

                    + */ + inline const IdentityCenterConfigurationInput& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + UpdateApplicationRequest& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -299,6 +315,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfigurationInput m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp index 26afadd8b22..53d3d936a13 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp @@ -151,6 +151,11 @@ Application& Application::operator =(JsonView jsonValue) m_schedulerConfiguration = jsonValue.GetObject("schedulerConfiguration"); m_schedulerConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("identityCenterConfiguration")) + { + m_identityCenterConfiguration = jsonValue.GetObject("identityCenterConfiguration"); + m_identityCenterConfigurationHasBeenSet = true; + } return *this; } @@ -306,6 +311,12 @@ JsonValue Application::Jsonize() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp index 160dc158159..c619b71fb4b 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp @@ -137,6 +137,12 @@ Aws::String CreateApplicationRequest::SerializePayload() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp new file mode 100644 index 00000000000..875426b5ef4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EMRServerless +{ +namespace Model +{ + +IdentityCenterConfiguration::IdentityCenterConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentityCenterConfiguration& IdentityCenterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("identityCenterInstanceArn")) + { + m_identityCenterInstanceArn = jsonValue.GetString("identityCenterInstanceArn"); + m_identityCenterInstanceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("identityCenterApplicationArn")) + { + m_identityCenterApplicationArn = jsonValue.GetString("identityCenterApplicationArn"); + m_identityCenterApplicationArnHasBeenSet = true; + } + return *this; +} + +JsonValue IdentityCenterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterInstanceArnHasBeenSet) + { + payload.WithString("identityCenterInstanceArn", m_identityCenterInstanceArn); + + } + + if(m_identityCenterApplicationArnHasBeenSet) + { + payload.WithString("identityCenterApplicationArn", m_identityCenterApplicationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp new file mode 100644 index 00000000000..83426564005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EMRServerless +{ +namespace Model +{ + +IdentityCenterConfigurationInput::IdentityCenterConfigurationInput(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentityCenterConfigurationInput& IdentityCenterConfigurationInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("identityCenterInstanceArn")) + { + m_identityCenterInstanceArn = jsonValue.GetString("identityCenterInstanceArn"); + m_identityCenterInstanceArnHasBeenSet = true; + } + return *this; +} + +JsonValue IdentityCenterConfigurationInput::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterInstanceArnHasBeenSet) + { + payload.WithString("identityCenterInstanceArn", m_identityCenterInstanceArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp index 26477d6e790..978792c8465 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp @@ -114,6 +114,12 @@ Aws::String UpdateApplicationRequest::SerializePayload() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h index fb71d4bf1b9..bfeb6a4cb20 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h @@ -294,10 +294,12 @@ namespace Lambda * ParallelizationFactor – Process multiple batches from each shard * concurrently.

                  For stream sources (DynamoDB, Kinesis, Amazon * MSK, and self-managed Apache Kafka), the following option is also available:

                  - *
                  • DestinationConfig – Send discarded records to an - * Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                  For - * information about which configuration parameters apply to each event source, see - * the following topics.

                  For information about which configuration + * parameters apply to each event source, see the following topics.

                  For stream sources (DynamoDB, Kinesis, Amazon * MSK, and self-managed Apache Kafka), the following option is also available:

                  - *
                  • DestinationConfig – Send discarded records to an - * Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                  For - * information about which configuration parameters apply to each event source, see - * the following topics.

                  For information about which configuration + * parameters apply to each event source, see the following topics.

                  • + *

                    * Amazon DynamoDB Streams

                  • diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h index fc89d8fd223..8a2bc51a593 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -54,10 +55,25 @@ namespace Model template AmazonManagedKafkaEventSourceConfig& WithConsumerGroupId(ConsumerGroupIdT&& value) { SetConsumerGroupId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                    Specific configuration settings for a Kafka schema registry.

                    + */ + inline const KafkaSchemaRegistryConfig& GetSchemaRegistryConfig() const { return m_schemaRegistryConfig; } + inline bool SchemaRegistryConfigHasBeenSet() const { return m_schemaRegistryConfigHasBeenSet; } + template + void SetSchemaRegistryConfig(SchemaRegistryConfigT&& value) { m_schemaRegistryConfigHasBeenSet = true; m_schemaRegistryConfig = std::forward(value); } + template + AmazonManagedKafkaEventSourceConfig& WithSchemaRegistryConfig(SchemaRegistryConfigT&& value) { SetSchemaRegistryConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_consumerGroupId; bool m_consumerGroupIdHasBeenSet = false; + + KafkaSchemaRegistryConfig m_schemaRegistryConfig; + bool m_schemaRegistryConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h index b318753c0cf..50c20bcdeca 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                    The result of the last Lambda invocation of your function.

                    + *

                    The result of the event source mapping's last processing attempt.

                    */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h index b4e1746cd5a..73f140b8a41 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h @@ -25,7 +25,7 @@ namespace Model /** *

                    The dead-letter + * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq">dead-letter * queue for failed asynchronous invocations.

                    See Also:

                    AWS * API Reference

                    diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h index 78939b605b0..d4d6a60edbd 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                    The result of the last Lambda invocation of your function.

                    + *

                    The result of the event source mapping's last processing attempt.

                    */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h index c8a374eaf35..bc187e6d286 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h @@ -26,7 +26,9 @@ namespace Model /** *

                    A configuration object that specifies the destination of an event after - * Lambda processes it.

                    See Also:

                    Adding + * a destination.

                    See Also:

                    AWS * API Reference

                    */ @@ -41,7 +43,9 @@ namespace Model ///@{ /** - *

                    The destination configuration for successful invocations.

                    + *

                    The destination configuration for successful invocations. Not supported in + * CreateEventSourceMapping or + * UpdateEventSourceMapping.

                    */ inline const OnSuccess& GetOnSuccess() const { return m_onSuccess; } inline bool OnSuccessHasBeenSet() const { return m_onSuccessHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h index 206d0003c54..67fce88cda9 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h @@ -199,7 +199,7 @@ namespace Model ///@{ /** - *

                    The result of the last Lambda invocation of your function.

                    + *

                    The result of the event source mapping's last processing attempt.

                    */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } inline bool LastProcessingResultHasBeenSet() const { return m_lastProcessingResultHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h index b605ac40e39..84bd1c7988d 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                    The result of the last Lambda invocation of your function.

                    + *

                    The result of the event source mapping's last processing attempt.

                    */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h index 7944aeda20d..0fe3fe71a0d 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h @@ -42,7 +42,7 @@ namespace Model /** *

                    The name or ARN of the Lambda function.

                    Name * formats

                    • Function name – - * my-function.

                    • Function ARN �� + * my-function.

                    • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

                      *
                    • Partial ARN – * 123456789012:function:my-function.

                    The length diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h new file mode 100644 index 00000000000..2d4b16d1775 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                    Specific access configuration settings that tell Lambda how to authenticate + * with your schema registry.

                    If you're working with an Glue schema + * registry, don't provide authentication details in this object. Instead, ensure + * that your execution role has the required permissions for Lambda to access your + * cluster.

                    If you're working with a Confluent schema registry, choose the + * authentication method in the Type field, and provide the Secrets + * Manager secret ARN in the URI field.

                    See Also:

                    AWS + * API Reference

                    + */ + class KafkaSchemaRegistryAccessConfig + { + public: + AWS_LAMBDA_API KafkaSchemaRegistryAccessConfig() = default; + AWS_LAMBDA_API KafkaSchemaRegistryAccessConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API KafkaSchemaRegistryAccessConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                    The type of authentication Lambda uses to access your schema registry.

                    + */ + inline KafkaSchemaRegistryAuthType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(KafkaSchemaRegistryAuthType value) { m_typeHasBeenSet = true; m_type = value; } + inline KafkaSchemaRegistryAccessConfig& WithType(KafkaSchemaRegistryAuthType value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

                    The URI of the secret (Secrets Manager secret ARN) to authenticate with your + * schema registry.

                    + */ + inline const Aws::String& GetURI() const { return m_uRI; } + inline bool URIHasBeenSet() const { return m_uRIHasBeenSet; } + template + void SetURI(URIT&& value) { m_uRIHasBeenSet = true; m_uRI = std::forward(value); } + template + KafkaSchemaRegistryAccessConfig& WithURI(URIT&& value) { SetURI(std::forward(value)); return *this;} + ///@} + private: + + KafkaSchemaRegistryAuthType m_type{KafkaSchemaRegistryAuthType::NOT_SET}; + bool m_typeHasBeenSet = false; + + Aws::String m_uRI; + bool m_uRIHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h new file mode 100644 index 00000000000..ef38d50a768 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + enum class KafkaSchemaRegistryAuthType + { + NOT_SET, + BASIC_AUTH, + CLIENT_CERTIFICATE_TLS_AUTH, + SERVER_ROOT_CA_CERTIFICATE + }; + +namespace KafkaSchemaRegistryAuthTypeMapper +{ +AWS_LAMBDA_API KafkaSchemaRegistryAuthType GetKafkaSchemaRegistryAuthTypeForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForKafkaSchemaRegistryAuthType(KafkaSchemaRegistryAuthType value); +} // namespace KafkaSchemaRegistryAuthTypeMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h new file mode 100644 index 00000000000..a120a42a3be --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                    Specific configuration settings for a Kafka schema registry.

                    See + * Also:

                    AWS + * API Reference

                    + */ + class KafkaSchemaRegistryConfig + { + public: + AWS_LAMBDA_API KafkaSchemaRegistryConfig() = default; + AWS_LAMBDA_API KafkaSchemaRegistryConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API KafkaSchemaRegistryConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                    The URI for your schema registry. The correct URI format depends on the type + * of schema registry you're using.

                    • For Glue schema registries, + * use the ARN of the registry.

                    • For Confluent schema registries, + * use the URL of the registry.

                    + */ + inline const Aws::String& GetSchemaRegistryURI() const { return m_schemaRegistryURI; } + inline bool SchemaRegistryURIHasBeenSet() const { return m_schemaRegistryURIHasBeenSet; } + template + void SetSchemaRegistryURI(SchemaRegistryURIT&& value) { m_schemaRegistryURIHasBeenSet = true; m_schemaRegistryURI = std::forward(value); } + template + KafkaSchemaRegistryConfig& WithSchemaRegistryURI(SchemaRegistryURIT&& value) { SetSchemaRegistryURI(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                    The record format that Lambda delivers to your function after schema + * validation.

                    • Choose JSON to have Lambda deliver the + * record to your function as a standard JSON object.

                    • Choose + * SOURCE to have Lambda deliver the record to your function in its + * original source format. Lambda removes all schema metadata, such as the schema + * ID, before sending the record to your function.

                    + */ + inline SchemaRegistryEventRecordFormat GetEventRecordFormat() const { return m_eventRecordFormat; } + inline bool EventRecordFormatHasBeenSet() const { return m_eventRecordFormatHasBeenSet; } + inline void SetEventRecordFormat(SchemaRegistryEventRecordFormat value) { m_eventRecordFormatHasBeenSet = true; m_eventRecordFormat = value; } + inline KafkaSchemaRegistryConfig& WithEventRecordFormat(SchemaRegistryEventRecordFormat value) { SetEventRecordFormat(value); return *this;} + ///@} + + ///@{ + /** + *

                    An array of access configuration objects that tell Lambda how to authenticate + * with your schema registry.

                    + */ + inline const Aws::Vector& GetAccessConfigs() const { return m_accessConfigs; } + inline bool AccessConfigsHasBeenSet() const { return m_accessConfigsHasBeenSet; } + template> + void SetAccessConfigs(AccessConfigsT&& value) { m_accessConfigsHasBeenSet = true; m_accessConfigs = std::forward(value); } + template> + KafkaSchemaRegistryConfig& WithAccessConfigs(AccessConfigsT&& value) { SetAccessConfigs(std::forward(value)); return *this;} + template + KafkaSchemaRegistryConfig& AddAccessConfigs(AccessConfigsT&& value) { m_accessConfigsHasBeenSet = true; m_accessConfigs.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                    An array of schema validation configuration objects, which tell Lambda the + * message attributes you want to validate and filter using your schema + * registry.

                    + */ + inline const Aws::Vector& GetSchemaValidationConfigs() const { return m_schemaValidationConfigs; } + inline bool SchemaValidationConfigsHasBeenSet() const { return m_schemaValidationConfigsHasBeenSet; } + template> + void SetSchemaValidationConfigs(SchemaValidationConfigsT&& value) { m_schemaValidationConfigsHasBeenSet = true; m_schemaValidationConfigs = std::forward(value); } + template> + KafkaSchemaRegistryConfig& WithSchemaValidationConfigs(SchemaValidationConfigsT&& value) { SetSchemaValidationConfigs(std::forward(value)); return *this;} + template + KafkaSchemaRegistryConfig& AddSchemaValidationConfigs(SchemaValidationConfigsT&& value) { m_schemaValidationConfigsHasBeenSet = true; m_schemaValidationConfigs.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_schemaRegistryURI; + bool m_schemaRegistryURIHasBeenSet = false; + + SchemaRegistryEventRecordFormat m_eventRecordFormat{SchemaRegistryEventRecordFormat::NOT_SET}; + bool m_eventRecordFormatHasBeenSet = false; + + Aws::Vector m_accessConfigs; + bool m_accessConfigsHasBeenSet = false; + + Aws::Vector m_schemaValidationConfigs; + bool m_schemaValidationConfigsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h new file mode 100644 index 00000000000..df7fd429b58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + enum class KafkaSchemaValidationAttribute + { + NOT_SET, + KEY, + VALUE + }; + +namespace KafkaSchemaValidationAttributeMapper +{ +AWS_LAMBDA_API KafkaSchemaValidationAttribute GetKafkaSchemaValidationAttributeForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForKafkaSchemaValidationAttribute(KafkaSchemaValidationAttribute value); +} // namespace KafkaSchemaValidationAttributeMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h new file mode 100644 index 00000000000..c933b16f4ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                    Specific schema validation configuration settings that tell Lambda the + * message attributes you want to validate and filter using your schema + * registry.

                    See Also:

                    AWS + * API Reference

                    + */ + class KafkaSchemaValidationConfig + { + public: + AWS_LAMBDA_API KafkaSchemaValidationConfig() = default; + AWS_LAMBDA_API KafkaSchemaValidationConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API KafkaSchemaValidationConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                    The attributes you want your schema registry to validate and filter for. If + * you selected JSON as the EventRecordFormat, Lambda + * also deserializes the selected message attributes.

                    + */ + inline KafkaSchemaValidationAttribute GetAttribute() const { return m_attribute; } + inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } + inline void SetAttribute(KafkaSchemaValidationAttribute value) { m_attributeHasBeenSet = true; m_attribute = value; } + inline KafkaSchemaValidationConfig& WithAttribute(KafkaSchemaValidationAttribute value) { SetAttribute(value); return *this;} + ///@} + private: + + KafkaSchemaValidationAttribute m_attribute{KafkaSchemaValidationAttribute::NOT_SET}; + bool m_attributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h index bf6b33044c9..84c9c7788a0 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h @@ -67,7 +67,7 @@ namespace Model * arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

                    *
                  • Version or Alias ARN – * arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

                    - *
                  • Partial ARN �� + *

                  • Partial ARN – * 123456789012:function:MyFunction.

                  The length * constraint applies only to the full ARN. If you specify only the function name, * it's limited to 64 characters in length.

                  diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h index 8d35cd4cfb2..ae4a7bce50e 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h @@ -24,8 +24,10 @@ namespace Model { /** - *

                  A destination for events that failed processing.

                  See Also:

                  - * AWS + *

                  A destination for events that failed processing. For more information, see Adding + * a destination.

                  See Also:

                  AWS * API Reference

                  */ class OnFailure diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h index be753819017..99390430fbb 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h @@ -28,7 +28,9 @@ namespace Model * records of successful asynchronous * invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda - * function, or Amazon EventBridge event bus as the destination.

                  See + * function, or Amazon EventBridge event bus as the destination.

                  + * OnSuccess is not supported in CreateEventSourceMapping + * or UpdateEventSourceMapping requests.

                  See * Also:

                  AWS * API Reference

                  diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h index 70376376196..287043af08f 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h @@ -36,7 +36,7 @@ namespace Model /** *

                  The name or ARN of the Lambda function.

                  Name * formats

                  • Function name – - * my-function.

                  • Function ARN ��� + * my-function.

                  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

                    *
                  • Partial ARN – * 123456789012:function:my-function.

                  The length diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h new file mode 100644 index 00000000000..70e3987f8e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + enum class SchemaRegistryEventRecordFormat + { + NOT_SET, + JSON, + SOURCE + }; + +namespace SchemaRegistryEventRecordFormatMapper +{ +AWS_LAMBDA_API SchemaRegistryEventRecordFormat GetSchemaRegistryEventRecordFormatForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForSchemaRegistryEventRecordFormat(SchemaRegistryEventRecordFormat value); +} // namespace SchemaRegistryEventRecordFormatMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h index 38661a61105..bc50f32fa06 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -40,11 +41,11 @@ namespace Model ///@{ /** - *

                  The identifier for the Kafka consumer group to join. The consumer group ID + *

                  The identifier for the Kafka consumer group to join. The consumer group ID * must be unique among all your Kafka event sources. After creating a Kafka event * source mapping with the consumer group ID specified, you cannot update this * value. For more information, see Customizable + * href="https://docs.aws.amazon.com/lambda/latest/dg/with-kafka-process.html#services-smaa-topic-add">Customizable * consumer group ID.

                  */ inline const Aws::String& GetConsumerGroupId() const { return m_consumerGroupId; } @@ -54,10 +55,25 @@ namespace Model template SelfManagedKafkaEventSourceConfig& WithConsumerGroupId(ConsumerGroupIdT&& value) { SetConsumerGroupId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                  Specific configuration settings for a Kafka schema registry.

                  + */ + inline const KafkaSchemaRegistryConfig& GetSchemaRegistryConfig() const { return m_schemaRegistryConfig; } + inline bool SchemaRegistryConfigHasBeenSet() const { return m_schemaRegistryConfigHasBeenSet; } + template + void SetSchemaRegistryConfig(SchemaRegistryConfigT&& value) { m_schemaRegistryConfigHasBeenSet = true; m_schemaRegistryConfig = std::forward(value); } + template + SelfManagedKafkaEventSourceConfig& WithSchemaRegistryConfig(SchemaRegistryConfigT&& value) { SetSchemaRegistryConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_consumerGroupId; bool m_consumerGroupIdHasBeenSet = false; + + KafkaSchemaRegistryConfig m_schemaRegistryConfig; + bool m_schemaRegistryConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h index 5818f25dd2a..2db80887fcf 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h @@ -62,7 +62,7 @@ namespace Model * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

                • - *
                • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed + *

                • CLIENT_CERTIFICATE_TLS_AUTH ��� (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h index 355d955a19c..051d9db51bd 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include @@ -258,6 +260,26 @@ namespace Model UpdateEventSourceMappingRequest& WithScalingConfig(ScalingConfigT&& value) { SetScalingConfig(std::forward(value)); return *this;} ///@} + ///@{ + + inline const AmazonManagedKafkaEventSourceConfig& GetAmazonManagedKafkaEventSourceConfig() const { return m_amazonManagedKafkaEventSourceConfig; } + inline bool AmazonManagedKafkaEventSourceConfigHasBeenSet() const { return m_amazonManagedKafkaEventSourceConfigHasBeenSet; } + template + void SetAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfigT&& value) { m_amazonManagedKafkaEventSourceConfigHasBeenSet = true; m_amazonManagedKafkaEventSourceConfig = std::forward(value); } + template + UpdateEventSourceMappingRequest& WithAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfigT&& value) { SetAmazonManagedKafkaEventSourceConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const SelfManagedKafkaEventSourceConfig& GetSelfManagedKafkaEventSourceConfig() const { return m_selfManagedKafkaEventSourceConfig; } + inline bool SelfManagedKafkaEventSourceConfigHasBeenSet() const { return m_selfManagedKafkaEventSourceConfigHasBeenSet; } + template + void SetSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfigT&& value) { m_selfManagedKafkaEventSourceConfigHasBeenSet = true; m_selfManagedKafkaEventSourceConfig = std::forward(value); } + template + UpdateEventSourceMappingRequest& WithSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfigT&& value) { SetSelfManagedKafkaEventSourceConfig(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                  Specific configuration settings for a DocumentDB event source.

                  @@ -361,6 +383,12 @@ namespace Model ScalingConfig m_scalingConfig; bool m_scalingConfigHasBeenSet = false; + AmazonManagedKafkaEventSourceConfig m_amazonManagedKafkaEventSourceConfig; + bool m_amazonManagedKafkaEventSourceConfigHasBeenSet = false; + + SelfManagedKafkaEventSourceConfig m_selfManagedKafkaEventSourceConfig; + bool m_selfManagedKafkaEventSourceConfigHasBeenSet = false; + DocumentDBEventSourceConfig m_documentDBEventSourceConfig; bool m_documentDBEventSourceConfigHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h index 9811294aa41..ac0f03b585b 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                  The result of the last Lambda invocation of your function.

                  + *

                  The result of the event source mapping's last processing attempt.

                  */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp index f39880481e9..a282736fdc5 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp @@ -30,6 +30,11 @@ AmazonManagedKafkaEventSourceConfig& AmazonManagedKafkaEventSourceConfig::operat m_consumerGroupId = jsonValue.GetString("ConsumerGroupId"); m_consumerGroupIdHasBeenSet = true; } + if(jsonValue.ValueExists("SchemaRegistryConfig")) + { + m_schemaRegistryConfig = jsonValue.GetObject("SchemaRegistryConfig"); + m_schemaRegistryConfigHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue AmazonManagedKafkaEventSourceConfig::Jsonize() const } + if(m_schemaRegistryConfigHasBeenSet) + { + payload.WithObject("SchemaRegistryConfig", m_schemaRegistryConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp new file mode 100644 index 00000000000..45d8aeee230 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaRegistryAccessConfig::KafkaSchemaRegistryAccessConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaRegistryAccessConfig& KafkaSchemaRegistryAccessConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = KafkaSchemaRegistryAuthTypeMapper::GetKafkaSchemaRegistryAuthTypeForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("URI")) + { + m_uRI = jsonValue.GetString("URI"); + m_uRIHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaRegistryAccessConfig::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", KafkaSchemaRegistryAuthTypeMapper::GetNameForKafkaSchemaRegistryAuthType(m_type)); + } + + if(m_uRIHasBeenSet) + { + payload.WithString("URI", m_uRI); + + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp new file mode 100644 index 00000000000..ab52316c61d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Lambda + { + namespace Model + { + namespace KafkaSchemaRegistryAuthTypeMapper + { + + static const int BASIC_AUTH_HASH = HashingUtils::HashString("BASIC_AUTH"); + static const int CLIENT_CERTIFICATE_TLS_AUTH_HASH = HashingUtils::HashString("CLIENT_CERTIFICATE_TLS_AUTH"); + static const int SERVER_ROOT_CA_CERTIFICATE_HASH = HashingUtils::HashString("SERVER_ROOT_CA_CERTIFICATE"); + + + KafkaSchemaRegistryAuthType GetKafkaSchemaRegistryAuthTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BASIC_AUTH_HASH) + { + return KafkaSchemaRegistryAuthType::BASIC_AUTH; + } + else if (hashCode == CLIENT_CERTIFICATE_TLS_AUTH_HASH) + { + return KafkaSchemaRegistryAuthType::CLIENT_CERTIFICATE_TLS_AUTH; + } + else if (hashCode == SERVER_ROOT_CA_CERTIFICATE_HASH) + { + return KafkaSchemaRegistryAuthType::SERVER_ROOT_CA_CERTIFICATE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KafkaSchemaRegistryAuthType::NOT_SET; + } + + Aws::String GetNameForKafkaSchemaRegistryAuthType(KafkaSchemaRegistryAuthType enumValue) + { + switch(enumValue) + { + case KafkaSchemaRegistryAuthType::NOT_SET: + return {}; + case KafkaSchemaRegistryAuthType::BASIC_AUTH: + return "BASIC_AUTH"; + case KafkaSchemaRegistryAuthType::CLIENT_CERTIFICATE_TLS_AUTH: + return "CLIENT_CERTIFICATE_TLS_AUTH"; + case KafkaSchemaRegistryAuthType::SERVER_ROOT_CA_CERTIFICATE: + return "SERVER_ROOT_CA_CERTIFICATE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KafkaSchemaRegistryAuthTypeMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp new file mode 100644 index 00000000000..fd9f26a466d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaRegistryConfig::KafkaSchemaRegistryConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaRegistryConfig& KafkaSchemaRegistryConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SchemaRegistryURI")) + { + m_schemaRegistryURI = jsonValue.GetString("SchemaRegistryURI"); + m_schemaRegistryURIHasBeenSet = true; + } + if(jsonValue.ValueExists("EventRecordFormat")) + { + m_eventRecordFormat = SchemaRegistryEventRecordFormatMapper::GetSchemaRegistryEventRecordFormatForName(jsonValue.GetString("EventRecordFormat")); + m_eventRecordFormatHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessConfigs")) + { + Aws::Utils::Array accessConfigsJsonList = jsonValue.GetArray("AccessConfigs"); + for(unsigned accessConfigsIndex = 0; accessConfigsIndex < accessConfigsJsonList.GetLength(); ++accessConfigsIndex) + { + m_accessConfigs.push_back(accessConfigsJsonList[accessConfigsIndex].AsObject()); + } + m_accessConfigsHasBeenSet = true; + } + if(jsonValue.ValueExists("SchemaValidationConfigs")) + { + Aws::Utils::Array schemaValidationConfigsJsonList = jsonValue.GetArray("SchemaValidationConfigs"); + for(unsigned schemaValidationConfigsIndex = 0; schemaValidationConfigsIndex < schemaValidationConfigsJsonList.GetLength(); ++schemaValidationConfigsIndex) + { + m_schemaValidationConfigs.push_back(schemaValidationConfigsJsonList[schemaValidationConfigsIndex].AsObject()); + } + m_schemaValidationConfigsHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaRegistryConfig::Jsonize() const +{ + JsonValue payload; + + if(m_schemaRegistryURIHasBeenSet) + { + payload.WithString("SchemaRegistryURI", m_schemaRegistryURI); + + } + + if(m_eventRecordFormatHasBeenSet) + { + payload.WithString("EventRecordFormat", SchemaRegistryEventRecordFormatMapper::GetNameForSchemaRegistryEventRecordFormat(m_eventRecordFormat)); + } + + if(m_accessConfigsHasBeenSet) + { + Aws::Utils::Array accessConfigsJsonList(m_accessConfigs.size()); + for(unsigned accessConfigsIndex = 0; accessConfigsIndex < accessConfigsJsonList.GetLength(); ++accessConfigsIndex) + { + accessConfigsJsonList[accessConfigsIndex].AsObject(m_accessConfigs[accessConfigsIndex].Jsonize()); + } + payload.WithArray("AccessConfigs", std::move(accessConfigsJsonList)); + + } + + if(m_schemaValidationConfigsHasBeenSet) + { + Aws::Utils::Array schemaValidationConfigsJsonList(m_schemaValidationConfigs.size()); + for(unsigned schemaValidationConfigsIndex = 0; schemaValidationConfigsIndex < schemaValidationConfigsJsonList.GetLength(); ++schemaValidationConfigsIndex) + { + schemaValidationConfigsJsonList[schemaValidationConfigsIndex].AsObject(m_schemaValidationConfigs[schemaValidationConfigsIndex].Jsonize()); + } + payload.WithArray("SchemaValidationConfigs", std::move(schemaValidationConfigsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp new file mode 100644 index 00000000000..e43592f904a --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Lambda + { + namespace Model + { + namespace KafkaSchemaValidationAttributeMapper + { + + static const int KEY_HASH = HashingUtils::HashString("KEY"); + static const int VALUE_HASH = HashingUtils::HashString("VALUE"); + + + KafkaSchemaValidationAttribute GetKafkaSchemaValidationAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == KEY_HASH) + { + return KafkaSchemaValidationAttribute::KEY; + } + else if (hashCode == VALUE_HASH) + { + return KafkaSchemaValidationAttribute::VALUE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KafkaSchemaValidationAttribute::NOT_SET; + } + + Aws::String GetNameForKafkaSchemaValidationAttribute(KafkaSchemaValidationAttribute enumValue) + { + switch(enumValue) + { + case KafkaSchemaValidationAttribute::NOT_SET: + return {}; + case KafkaSchemaValidationAttribute::KEY: + return "KEY"; + case KafkaSchemaValidationAttribute::VALUE: + return "VALUE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KafkaSchemaValidationAttributeMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp new file mode 100644 index 00000000000..87fd9c0b72d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaValidationConfig::KafkaSchemaValidationConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaValidationConfig& KafkaSchemaValidationConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Attribute")) + { + m_attribute = KafkaSchemaValidationAttributeMapper::GetKafkaSchemaValidationAttributeForName(jsonValue.GetString("Attribute")); + m_attributeHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaValidationConfig::Jsonize() const +{ + JsonValue payload; + + if(m_attributeHasBeenSet) + { + payload.WithString("Attribute", KafkaSchemaValidationAttributeMapper::GetNameForKafkaSchemaValidationAttribute(m_attribute)); + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp new file mode 100644 index 00000000000..db1ef0765c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Lambda + { + namespace Model + { + namespace SchemaRegistryEventRecordFormatMapper + { + + static const int JSON_HASH = HashingUtils::HashString("JSON"); + static const int SOURCE_HASH = HashingUtils::HashString("SOURCE"); + + + SchemaRegistryEventRecordFormat GetSchemaRegistryEventRecordFormatForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == JSON_HASH) + { + return SchemaRegistryEventRecordFormat::JSON; + } + else if (hashCode == SOURCE_HASH) + { + return SchemaRegistryEventRecordFormat::SOURCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SchemaRegistryEventRecordFormat::NOT_SET; + } + + Aws::String GetNameForSchemaRegistryEventRecordFormat(SchemaRegistryEventRecordFormat enumValue) + { + switch(enumValue) + { + case SchemaRegistryEventRecordFormat::NOT_SET: + return {}; + case SchemaRegistryEventRecordFormat::JSON: + return "JSON"; + case SchemaRegistryEventRecordFormat::SOURCE: + return "SOURCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SchemaRegistryEventRecordFormatMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp index a7d1f62a7d8..e795f6e84cb 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp @@ -30,6 +30,11 @@ SelfManagedKafkaEventSourceConfig& SelfManagedKafkaEventSourceConfig::operator = m_consumerGroupId = jsonValue.GetString("ConsumerGroupId"); m_consumerGroupIdHasBeenSet = true; } + if(jsonValue.ValueExists("SchemaRegistryConfig")) + { + m_schemaRegistryConfig = jsonValue.GetObject("SchemaRegistryConfig"); + m_schemaRegistryConfigHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue SelfManagedKafkaEventSourceConfig::Jsonize() const } + if(m_schemaRegistryConfigHasBeenSet) + { + payload.WithObject("SchemaRegistryConfig", m_schemaRegistryConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp index e13d754fe08..16c1046ef43 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp @@ -110,6 +110,18 @@ Aws::String UpdateEventSourceMappingRequest::SerializePayload() const } + if(m_amazonManagedKafkaEventSourceConfigHasBeenSet) + { + payload.WithObject("AmazonManagedKafkaEventSourceConfig", m_amazonManagedKafkaEventSourceConfig.Jsonize()); + + } + + if(m_selfManagedKafkaEventSourceConfigHasBeenSet) + { + payload.WithObject("SelfManagedKafkaEventSourceConfig", m_selfManagedKafkaEventSourceConfig.Jsonize()); + + } + if(m_documentDBEventSourceConfigHasBeenSet) { payload.WithObject("DocumentDBEventSourceConfig", m_documentDBEventSourceConfig.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h index a46faec8fff..72ef8b980ad 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, CMAC, - ANSI_X9_24 + ANSI_X9_24, + HMAC }; namespace KeyCheckValueAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h index 7b74af7ff0c..6b4ca786ce1 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h @@ -20,7 +20,11 @@ namespace Model TDES_3KEY, AES_128, AES_192, - AES_256 + AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224 }; namespace SymmetricKeyAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp index 63eb28fed7e..04fe872c93c 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp @@ -22,6 +22,7 @@ namespace Aws static const int CMAC_HASH = HashingUtils::HashString("CMAC"); static const int ANSI_X9_24_HASH = HashingUtils::HashString("ANSI_X9_24"); + static const int HMAC_HASH = HashingUtils::HashString("HMAC"); KeyCheckValueAlgorithm GetKeyCheckValueAlgorithmForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return KeyCheckValueAlgorithm::ANSI_X9_24; } + else if (hashCode == HMAC_HASH) + { + return KeyCheckValueAlgorithm::HMAC; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "CMAC"; case KeyCheckValueAlgorithm::ANSI_X9_24: return "ANSI_X9_24"; + case KeyCheckValueAlgorithm::HMAC: + return "HMAC"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp index de1a2fd0f41..69bdfa96295 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); SymmetricKeyAlgorithm GetSymmetricKeyAlgorithmForName(const Aws::String& name) @@ -50,6 +54,22 @@ namespace Aws { return SymmetricKeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA224; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +96,14 @@ namespace Aws return "AES_192"; case SymmetricKeyAlgorithm::AES_256: return "AES_256"; + case SymmetricKeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case SymmetricKeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case SymmetricKeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case SymmetricKeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h index 939b21dec90..aac2a565074 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h @@ -164,15 +164,29 @@ namespace PaymentCryptography * class (example: SYMMETRIC_KEY), key algorithm (example: * TDES_2KEY), key usage (example: * TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: - * Encrypt). For information about valid combinations of key - * attributes, see Encrypt
                  ). Amazon Web Services Payment Cryptography binds key + * attributes to keys using key blocks when you store or export them. Amazon Web + * Services Payment Cryptography stores the key contents wrapped and never stores + * or transmits them in the clear.

                  For information about valid combinations + * of key attributes, see Understanding * key attributes in the Amazon Web Services Payment Cryptography User * Guide. The mutable data contained within a key includes usage timestamp and - * key deletion timestamp and can be modified after creation.

                  Amazon Web - * Services Payment Cryptography binds key attributes to keys using key blocks when - * you store or export them. Amazon Web Services Payment Cryptography stores the - * key contents wrapped and never stores or transmits them in the clear.

                  + * key deletion timestamp and can be modified after creation.

                  You can use + * the CreateKey operation to generate an ECC (Elliptic Curve + * Cryptography) key pair used for establishing an ECDH (Elliptic Curve + * Diffie-Hellman) key agreement between two parties. In the ECDH key agreement + * process, both parties generate their own ECC key pair with key usage K3 and + * exchange the public keys. Each party then use their private key, the received + * public key from the other party, and the key derivation parameters including key + * derivation function, hash algorithm, derivation data, and key algorithm to + * derive a shared key.

                  To maintain the single-use principle of + * cryptographic keys in payments, ECDH derived keys should not be used for + * multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and + * TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in + * Amazon Web Services Payment Cryptography you can optionally set the + * DeriveKeyUsage parameter, which defines the key usage bound to the + * symmetric key that will be derived using the ECC key pair.

                  * Cross-account use: This operation can't be used across different Amazon * Web Services accounts.

                  Related operations:

                  • DeleteKey @@ -309,18 +323,21 @@ namespace PaymentCryptography * Payment Cryptography

                    For symmetric key exchange, Amazon Web Services * Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN * guidelines. And for asymmetric key exchange, Amazon Web Services Payment - * Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange - * mechanism. Asymmetric key exchange methods are typically used to establish - * bi-directional trust between the two parties exhanging keys and are used for - * initial key exchange such as Key Encryption Key (KEK). After which you can - * export working keys using symmetric method to perform various cryptographic - * operations within Amazon Web Services Payment Cryptography.

                    The TR-34 - * norm is intended for exchanging 3DES keys only and keys are imported in a - * WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, - * KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap - * and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported - * in a WrappedKeyCryptogram format and you will need to specify the key attributes - * during import.

                    You can also use ExportKey functionality to + * Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve + * Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are + * typically used to establish bi-directional trust between the two parties + * exhanging keys and are used for initial key exchange such as Key Encryption Key + * (KEK). After which you can export working keys using symmetric method to perform + * various cryptographic operations within Amazon Web Services Payment + * Cryptography.

                    PCI requires specific minimum key strength of wrapping keys + * used to protect the keys being exchanged electronically. These requirements can + * change when PCI standards are revised. The rules specify that wrapping keys used + * for transport must be at least as strong as the key being protected. For more + * information on recommended key strength of wrapping keys and key exchange + * mechanism, see Importing + * and exporting keys in the Amazon Web Services Payment Cryptography User + * Guide.

                    You can also use ExportKey functionality to * generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web * Services Payment Cryptography using either TR-31 or TR-34 export key exchange. * IPEK is generated from BDK (Base Derivation Key) and @@ -356,7 +373,7 @@ namespace PaymentCryptography * sign the the export payload and the signing public key certificate is provided * to KRD to verify the signature. The KRD can import the root certificate into its * Hardware Security Module (HSM), as required. The export token and the associated - * KDH signing certificate expires after 7 days.

                    Next the KRD generates a + * KDH signing certificate expires after 30 days.

                    Next the KRD generates a * key pair for the the purpose of encrypting the KDH key and provides the public * key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD * will also import the root cerificate chain into Amazon Web Services Payment @@ -416,11 +433,33 @@ namespace PaymentCryptography * This parameter is optional for KEK export.

                  • * ExportKeyIdentifier: The KeyARN of the KEK or BDK (in * case of IPEK) under export.

                  • KeyMaterial: Use - * Tr31KeyBlock parameters.

                  When this operation is - * successful, Amazon Web Services Payment Cryptography returns the working key or - * IPEK as a TR-31 WrappedKeyBlock.

                  Cross-account use: This - * operation can't be used across different Amazon Web Services accounts.

                  - * Related operations:

                  To export working + * keys using ECDH

                  You can also use ECDH key agreement to export + * working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived + * key.

                  To initiate a TR-31 key export using ECDH, both sides must create an + * ECC key pair with key usage K3 and exchange public key certificates. In Amazon + * Web Services Payment Cryptography, you can do this by calling + * CreateKey. If you have not already done so, you must import the CA + * chain that issued the receiving public key certificate by calling + * ImportKey with input RootCertificatePublicKey for root + * CA or TrustedPublicKey for intermediate CA. You can then complete a + * TR-31 key export by deriving a shared wrapping key using the service ECC key + * pair, public certificate of your ECC key pair outside of Amazon Web Services + * Payment Cryptography, and the key derivation parameters including key derivation + * function, hash algorithm, derivation data, key algorithm.

                  • + * KeyMaterial: Use DiffieHellmanTr31KeyBlock + * parameters.

                  • PrivateKeyIdentifier: The + * KeyArn of the ECC key pair created within Amazon Web Services + * Payment Cryptography to derive a shared KEK.

                  • + * PublicKeyCertificate: The public key certificate of the receiving + * ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                  • + *
                  • CertificateAuthorityPublicKeyIdentifier: The + * keyARN of the CA that signed the public key certificate of the + * receiving ECC key pair.

                  When this operation is successful, + * Amazon Web Services Payment Cryptography returns the working key as a TR-31 + * WrappedKeyBlock, where the wrapping key is the ECDH derived key.

                  + * Cross-account use: This operation can't be used across different Amazon + * Web Services accounts.

                  Related operations:

                  • GetParametersForExport *

                  • ImportKey @@ -526,7 +565,7 @@ namespace PaymentCryptography * export token and signing key certificate must be in place and operational before * calling ExportKey. - * The export token expires in 7 days. You can use the same export token to export + * The export token expires in 30 days. You can use the same export token to export * multiple keys from your service account.

                    Cross-account use: This * operation can't be used across different Amazon Web Services accounts.

                    * Related operations:

                    • ImportKey. - * The import token expires in 7 days. You can use the same import token to import + * The import token expires in 30 days. You can use the same import token to import * multiple keys into your service account.

                      Cross-account use: This * operation can't be used across different Amazon Web Services accounts.

                      * Related operations:

                      • For symmetric key exchange, Amazon * Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with * PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment - * Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange - * mechanisms. Asymmetric key exchange methods are typically used to establish - * bi-directional trust between the two parties exhanging keys and are used for - * initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). - * After which you can import working keys using symmetric method to perform - * various cryptographic operations within Amazon Web Services Payment - * Cryptography.

                        The TR-34 norm is intended for exchanging 3DES keys only - * and keys are imported in a WrappedKeyBlock format. Key attributes (such as - * KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the - * key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 - * keys. The keys are imported in a WrappedKeyCryptogram format and you will need - * to specify the key attributes during import.

                        You can also import a - * root public key certificate, used to sign other public key certificates, - * or a trusted public key certificate under an already established root - * public key certificate.

                        To import a public root key certificate - *

                        Using this operation, you can import the public component (in PEM - * cerificate format) of your private root key. You can use the imported public - * root key certificate for digital signatures, for example signing wrapping key or - * signing key in TR-34, within your Amazon Web Services Payment Cryptography - * account.

                        Set the following parameters:

                        • - * KeyMaterial: RootCertificatePublicKey

                        • - *

                          KeyClass: PUBLIC_KEY

                        • - * KeyModesOfUse: Verify

                        • - * KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE - *

                        • PublicKeyCertificate: The public key - * certificate in PEM format (base64 encoded) of the private root key under - * import.

                        To import a trusted public key certificate - *

                        The root public key certificate must be in place and operational before - * you import a trusted public key certificate. Set the following parameters:

                        - *
                        • KeyMaterial: TrustedCertificatePublicKey - *

                        • CertificateAuthorityPublicKeyIdentifier: + * Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve + * Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are + * typically used to establish bi-directional trust between the two parties + * exhanging keys and are used for initial key exchange such as Key Encryption Key + * (KEK) or Zone Master Key (ZMK). After which you can import working keys using + * symmetric method to perform various cryptographic operations within Amazon Web + * Services Payment Cryptography.

                          PCI requires specific minimum key strength + * of wrapping keys used to protect the keys being exchanged electronically. These + * requirements can change when PCI standards are revised. The rules specify that + * wrapping keys used for transport must be at least as strong as the key being + * protected. For more information on recommended key strength of wrapping keys and + * key exchange mechanism, see Importing + * and exporting keys in the Amazon Web Services Payment Cryptography User + * Guide.

                          You can also import a root public key certificate, used + * to sign other public key certificates, or a trusted public key + * certificate under an already established root public key certificate.

                          + *

                          To import a public root key certificate

                          Using this operation, + * you can import the public component (in PEM cerificate format) of your private + * root key. You can use the imported public root key certificate for digital + * signatures, for example signing wrapping key or signing key in TR-34, within + * your Amazon Web Services Payment Cryptography account.

                          Set the following + * parameters:

                          • KeyMaterial: + * RootCertificatePublicKey

                          • KeyClass: + * PUBLIC_KEY

                          • KeyModesOfUse: + * Verify

                          • KeyUsage: + * TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                          • + * PublicKeyCertificate: The public key certificate in PEM format + * (base64 encoded) of the private root key under import.

                          To + * import a trusted public key certificate

                          The root public key + * certificate must be in place and operational before you import a trusted public + * key certificate. Set the following parameters:

                          • + * KeyMaterial: TrustedCertificatePublicKey

                          • + *
                          • CertificateAuthorityPublicKeyIdentifier: * KeyArn of the RootCertificatePublicKey.

                          • *

                            KeyModesOfUse and KeyUsage: Corresponding to the * cryptographic operations such as wrap, sign, or encrypt that you will allow the @@ -687,7 +729,7 @@ namespace PaymentCryptography * wrapping certificate) and the root certificate chain. The KDH must trust and * install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the * KDH key during TR-34 WrappedKeyBlock generation. The import token and associated - * KRD wrapping certificate expires after 7 days.

                            Next the KDH generates a + * KRD wrapping certificate expires after 30 days.

                            Next the KDH generates a * key pair for the purpose of signing the encrypted KDH key and provides the * public certificate of the signing key to Amazon Web Services Payment * Cryptography. The KDH will also need to import the root certificate chain of the @@ -720,7 +762,7 @@ namespace PaymentCryptography * import token. This operation also generates an encryption keypair for the * purpose of key import, signs the key and returns back the wrapping key * certificate in PEM format (base64 encoded) and its root certificate chain. The - * import token and associated KRD wrapping certificate expires after 7 days.

                            + * import token and associated KRD wrapping certificate expires after 30 days.

                            *

                            You must trust and install the wrapping certificate and its certificate chain * on the sending HSM and use it to wrap the key under export for * WrappedKeyCryptogram generation. Next call ImportKey with @@ -738,9 +780,35 @@ namespace PaymentCryptography * typically generated by a HSM outside of Amazon Web Services Payment * Cryptography.

                          • WrappingKeyIdentifier: The * KeyArn of the KEK that Amazon Web Services Payment Cryptography - * uses to decrypt or unwrap the key under import.

                          - * Cross-account use: This operation can't be used across different Amazon - * Web Services accounts.

                          Related operations:

                          To import + * working keys using ECDH

                          You can also use ECDH key agreement to + * import working keys as a TR-31 keyblock, where the wrapping key is an ECDH + * derived key.

                          To initiate a TR-31 key import using ECDH, both sides must + * create an ECC key pair with key usage K3 and exchange public key certificates. + * In Amazon Web Services Payment Cryptography, you can do this by calling + * CreateKey and then GetPublicKeyCertificate to retrieve + * its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock + * using your own ECC key pair, the public certificate of the service's ECC key + * pair, and the key derivation parameters including key derivation function, hash + * algorithm, derivation data, and key algorithm. If you have not already done so, + * you must import the CA chain that issued the receiving public key certificate by + * calling ImportKey with input RootCertificatePublicKey + * for root CA or TrustedPublicKey for intermediate CA. To complete + * the TR-31 key import, you can use the following parameters. It is important that + * the ECDH key derivation parameters you use should match those used during import + * to derive the same shared wrapping key within Amazon Web Services Payment + * Cryptography.

                          • KeyMaterial: Use + * DiffieHellmanTr31KeyBlock parameters.

                          • + * PrivateKeyIdentifier: The KeyArn of the ECC key pair + * created within Amazon Web Services Payment Cryptography to derive a shared + * KEK.

                          • PublicKeyCertificate: The public key + * certificate of the receiving ECC key pair in PEM format (base64 encoded) to + * derive a shared KEK.

                          • + * CertificateAuthorityPublicKeyIdentifier: The keyARN of + * the CA that signed the public key certificate of the receiving ECC key pair.

                            + *

                          Cross-account use: This operation can't be used across + * different Amazon Web Services accounts.

                          Related operations:

                          + *
                          • ExportKey *

                          • GetParametersForImport diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h index e4864c7536e..199b3d383a5 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h @@ -117,8 +117,9 @@ namespace Model ///@{ /** - *

                            The cryptographic usage of an ECDH derived key as defined in section A.5.2 of - * the TR-31 spec.

                            + *

                            The intended cryptographic usage of keys derived from the ECC key pair to be + * created.

                            After creating an ECC key pair, you cannot change the intended + * cryptographic usage of keys derived from it using ECDH.

                            */ inline DeriveKeyUsage GetDeriveKeyUsage() const { return m_deriveKeyUsage; } inline bool DeriveKeyUsageHasBeenSet() const { return m_deriveKeyUsageHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h index b3c8f226f48..bb9e362a384 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h @@ -24,7 +24,8 @@ namespace Model { /** - *

                            Derivation data used to derive an ECDH key.

                            See Also:

                            The shared information used when deriving a key using ECDH.

                            See + * Also:

                            AWS * API Reference

                            */ @@ -39,12 +40,13 @@ namespace Model ///@{ /** - *

                            A byte string containing information that binds the ECDH derived key to the - * two parties involved or to the context of the key.

                            It may include details + *

                            A string containing information that binds the ECDH derived key to the two + * parties involved or to the context of the key.

                            It may include details * like identities of the two parties deriving the key, context of the operation, - * session IDs, and optionally a nonce. It must not contain zero bytes, and - * re-using shared information for multiple ECDH key derivations is not - * recommended.

                            + * session IDs, and optionally a nonce. It must not contain zero bytes. It is not + * recommended to reuse shared information for multiple ECDH key derivations, as it + * could result in derived key material being the same across different + * derivations.

                            */ inline const Aws::String& GetSharedInformation() const { return m_sharedInformation; } inline bool SharedInformationHasBeenSet() const { return m_sharedInformationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h index 5b218207dd9..2191dc3b655 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h @@ -29,8 +29,8 @@ namespace Model { /** - *

                            Parameter information for key material export using the asymmetric ECDH key - * exchange method.

                            See Also:

                            Key derivation parameter information for key material export using asymmetric + * ECDH key exchange method.

                            See Also:

                            AWS * API Reference

                            */ @@ -45,7 +45,8 @@ namespace Model ///@{ /** - *

                            The keyARN of the asymmetric ECC key.

                            + *

                            The keyARN of the asymmetric ECC key created within Amazon Web + * Services Payment Cryptography.

                            */ inline const Aws::String& GetPrivateKeyIdentifier() const { return m_privateKeyIdentifier; } inline bool PrivateKeyIdentifierHasBeenSet() const { return m_privateKeyIdentifierHasBeenSet; } @@ -57,8 +58,8 @@ namespace Model ///@{ /** - *

                            The keyARN of the certificate that signed the client's - * PublicKeyCertificate.

                            + *

                            The keyARN of the CA that signed the + * PublicKeyCertificate for the client's receiving ECC key pair.

                            */ inline const Aws::String& GetCertificateAuthorityPublicKeyIdentifier() const { return m_certificateAuthorityPublicKeyIdentifier; } inline bool CertificateAuthorityPublicKeyIdentifierHasBeenSet() const { return m_certificateAuthorityPublicKeyIdentifierHasBeenSet; } @@ -70,8 +71,8 @@ namespace Model ///@{ /** - *

                            The client's public key certificate in PEM format (base64 encoded) to use for - * ECDH key derivation.

                            + *

                            The public key certificate of the client's receiving ECC key pair, in PEM + * format (base64 encoded), to use for ECDH key derivation.

                            */ inline const Aws::String& GetPublicKeyCertificate() const { return m_publicKeyCertificate; } inline bool PublicKeyCertificateHasBeenSet() const { return m_publicKeyCertificateHasBeenSet; } @@ -83,7 +84,7 @@ namespace Model ///@{ /** - *

                            The key algorithm of the derived ECDH key.

                            + *

                            The key algorithm of the shared derived ECDH key.

                            */ inline SymmetricKeyAlgorithm GetDeriveKeyAlgorithm() const { return m_deriveKeyAlgorithm; } inline bool DeriveKeyAlgorithmHasBeenSet() const { return m_deriveKeyAlgorithmHasBeenSet; } @@ -93,7 +94,7 @@ namespace Model ///@{ /** - *

                            The key derivation function to use for deriving a key using ECDH.

                            + *

                            The key derivation function to use when deriving a key using ECDH.

                            */ inline KeyDerivationFunction GetKeyDerivationFunction() const { return m_keyDerivationFunction; } inline bool KeyDerivationFunctionHasBeenSet() const { return m_keyDerivationFunctionHasBeenSet; } @@ -103,7 +104,7 @@ namespace Model ///@{ /** - *

                            The hash type to use for deriving a key using ECDH.

                            + *

                            The hash type to use when deriving a key using ECDH.

                            */ inline KeyDerivationHashAlgorithm GetKeyDerivationHashAlgorithm() const { return m_keyDerivationHashAlgorithm; } inline bool KeyDerivationHashAlgorithmHasBeenSet() const { return m_keyDerivationHashAlgorithmHasBeenSet; } @@ -113,7 +114,7 @@ namespace Model ///@{ /** - *

                            Derivation data used to derive an ECDH key.

                            + *

                            The shared information used when deriving a key using ECDH.

                            */ inline const DiffieHellmanDerivationData& GetDerivationData() const { return m_derivationData; } inline bool DerivationDataHasBeenSet() const { return m_derivationDataHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h index f6ed9b26e3f..12288d2cf78 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h @@ -83,8 +83,8 @@ namespace Model ///@{ /** - *

                            Parameter information for key material export using the asymmetric ECDH key - * exchange method.

                            + *

                            Key derivation parameter information for key material export using asymmetric + * ECDH key exchange method.

                            */ inline const ExportDiffieHellmanTr31KeyBlock& GetDiffieHellmanTr31KeyBlock() const { return m_diffieHellmanTr31KeyBlock; } inline bool DiffieHellmanTr31KeyBlockHasBeenSet() const { return m_diffieHellmanTr31KeyBlockHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h index 1848fc1304d..bab8964ce2a 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h @@ -72,8 +72,8 @@ namespace Model * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call GetParametersForExport - * to receive an export token. It expires after 7 days. You can use the same export - * token to export multiple keys from the same service account.

                            + * to receive an export token. It expires after 30 days. You can use the same + * export token to export multiple keys from the same service account.

                            */ inline const Aws::String& GetExportToken() const { return m_exportToken; } inline bool ExportTokenHasBeenSet() const { return m_exportTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h index 2502fd08dc9..ffa5876ebb3 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The signing key certificate in PEM format (base64 encoded) of the public key - * for signature within the TR-34 key block. The certificate expires after 7 + * for signature within the TR-34 key block. The certificate expires after 30 * days.

                            */ inline const Aws::String& GetSigningKeyCertificate() const { return m_signingKeyCertificate; } @@ -72,8 +72,8 @@ namespace Model ///@{ /** *

                            The export token to initiate key export from Amazon Web Services Payment - * Cryptography. The export token expires after 7 days. You can use the same export - * token to export multiple keys from the same service account.

                            + * Cryptography. The export token expires after 30 days. You can use the same + * export token to export multiple keys from the same service account.

                            */ inline const Aws::String& GetExportToken() const { return m_exportToken; } template diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h index 608ce271de4..86cc9ce0a2d 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The wrapping key certificate in PEM format (base64 encoded) of the wrapping - * key for use within the TR-34 key block. The certificate expires in 7 days.

                            + * key for use within the TR-34 key block. The certificate expires in 30 days.

                            */ inline const Aws::String& GetWrappingKeyCertificate() const { return m_wrappingKeyCertificate; } template @@ -71,8 +71,8 @@ namespace Model ///@{ /** *

                            The import token to initiate key import into Amazon Web Services Payment - * Cryptography. The import token expires after 7 days. You can use the same import - * token to import multiple keys to the same service account.

                            + * Cryptography. The import token expires after 30 days. You can use the same + * import token to import multiple keys to the same service account.

                            */ inline const Aws::String& GetImportToken() const { return m_importToken; } template diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h index 01818417a59..af5b361126a 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h @@ -28,8 +28,8 @@ namespace Model { /** - *

                            Parameter information for key material import using the asymmetric ECDH key - * exchange method.

                            See Also:

                            Key derivation parameter information for key material import using asymmetric + * ECDH key exchange method.

                            See Also:

                            AWS * API Reference

                            */ @@ -44,7 +44,8 @@ namespace Model ///@{ /** - *

                            The keyARN of the asymmetric ECC key.

                            + *

                            The keyARN of the asymmetric ECC key created within Amazon Web + * Services Payment Cryptography.

                            */ inline const Aws::String& GetPrivateKeyIdentifier() const { return m_privateKeyIdentifier; } inline bool PrivateKeyIdentifierHasBeenSet() const { return m_privateKeyIdentifierHasBeenSet; } @@ -56,8 +57,8 @@ namespace Model ///@{ /** - *

                            The keyARN of the certificate that signed the client's - * PublicKeyCertificate.

                            + *

                            The keyARN of the CA that signed the + * PublicKeyCertificate for the client's receiving ECC key pair.

                            */ inline const Aws::String& GetCertificateAuthorityPublicKeyIdentifier() const { return m_certificateAuthorityPublicKeyIdentifier; } inline bool CertificateAuthorityPublicKeyIdentifierHasBeenSet() const { return m_certificateAuthorityPublicKeyIdentifierHasBeenSet; } @@ -69,8 +70,8 @@ namespace Model ///@{ /** - *

                            The client's public key certificate in PEM format (base64 encoded) to use for - * ECDH key derivation.

                            + *

                            The public key certificate of the client's receiving ECC key pair, in PEM + * format (base64 encoded), to use for ECDH key derivation.

                            */ inline const Aws::String& GetPublicKeyCertificate() const { return m_publicKeyCertificate; } inline bool PublicKeyCertificateHasBeenSet() const { return m_publicKeyCertificateHasBeenSet; } @@ -82,7 +83,7 @@ namespace Model ///@{ /** - *

                            The key algorithm of the derived ECDH key.

                            + *

                            The key algorithm of the shared derived ECDH key.

                            */ inline SymmetricKeyAlgorithm GetDeriveKeyAlgorithm() const { return m_deriveKeyAlgorithm; } inline bool DeriveKeyAlgorithmHasBeenSet() const { return m_deriveKeyAlgorithmHasBeenSet; } @@ -92,7 +93,7 @@ namespace Model ///@{ /** - *

                            The key derivation function to use for deriving a key using ECDH.

                            + *

                            The key derivation function to use when deriving a key using ECDH.

                            */ inline KeyDerivationFunction GetKeyDerivationFunction() const { return m_keyDerivationFunction; } inline bool KeyDerivationFunctionHasBeenSet() const { return m_keyDerivationFunctionHasBeenSet; } @@ -102,7 +103,7 @@ namespace Model ///@{ /** - *

                            The hash type to use for deriving a key using ECDH.

                            + *

                            The hash type to use when deriving a key using ECDH.

                            */ inline KeyDerivationHashAlgorithm GetKeyDerivationHashAlgorithm() const { return m_keyDerivationHashAlgorithm; } inline bool KeyDerivationHashAlgorithmHasBeenSet() const { return m_keyDerivationHashAlgorithmHasBeenSet; } @@ -112,7 +113,7 @@ namespace Model ///@{ /** - *

                            Derivation data used to derive an ECDH key.

                            + *

                            The shared information used when deriving a key using ECDH.

                            */ inline const DiffieHellmanDerivationData& GetDerivationData() const { return m_derivationData; } inline bool DerivationDataHasBeenSet() const { return m_derivationDataHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h index b7f8d5f8566..4bee96a9b1b 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h @@ -75,7 +75,7 @@ namespace Model ///@{ /** *

                            The import token that initiates key import using the asymmetric RSA wrap and - * unwrap key exchange method into AWS Payment Cryptography. It expires after 7 + * unwrap key exchange method into AWS Payment Cryptography. It expires after 30 * days. You can use the same import token to import multiple keys to the same * service account.

                            */ diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h index 4dce242c6f5..b33587326bb 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h @@ -109,8 +109,8 @@ namespace Model ///@{ /** - *

                            Parameter information for key material import using the asymmetric ECDH key - * exchange method.

                            + *

                            Key derivation parameter information for key material import using asymmetric + * ECDH key exchange method.

                            */ inline const ImportDiffieHellmanTr31KeyBlock& GetDiffieHellmanTr31KeyBlock() const { return m_diffieHellmanTr31KeyBlock; } inline bool DiffieHellmanTr31KeyBlockHasBeenSet() const { return m_diffieHellmanTr31KeyBlockHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h index 6ef1522d1aa..64b30da025e 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h @@ -69,7 +69,7 @@ namespace Model /** *

                            The import token that initiates key import using the asymmetric TR-34 key * exchange method into Amazon Web Services Payment Cryptography. It expires after - * 7 days. You can use the same import token to import multiple keys to the same + * 30 days. You can use the same import token to import multiple keys to the same * service account.

                            */ inline const Aws::String& GetImportToken() const { return m_importToken; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h index 963cd851ee6..b778bd82a99 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h @@ -21,6 +21,10 @@ namespace Model AES_128, AES_192, AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h index 9a7955f77c7..a9df0e08025 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, CMAC, - ANSI_X9_24 + ANSI_X9_24, + HMAC }; namespace KeyCheckValueAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h index ee0ad2af990..a7978f9acaf 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h @@ -20,7 +20,11 @@ namespace Model TDES_3KEY, AES_128, AES_192, - AES_256 + AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224 }; namespace SymmetricKeyAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp index 3d4411e61fb..53938cdbb28 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); static const int RSA_2048_HASH = HashingUtils::HashString("RSA_2048"); static const int RSA_3072_HASH = HashingUtils::HashString("RSA_3072"); static const int RSA_4096_HASH = HashingUtils::HashString("RSA_4096"); @@ -56,6 +60,22 @@ namespace Aws { return KeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return KeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return KeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return KeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return KeyAlgorithm::HMAC_SHA224; + } else if (hashCode == RSA_2048_HASH) { return KeyAlgorithm::RSA_2048; @@ -106,6 +126,14 @@ namespace Aws return "AES_192"; case KeyAlgorithm::AES_256: return "AES_256"; + case KeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case KeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case KeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case KeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; case KeyAlgorithm::RSA_2048: return "RSA_2048"; case KeyAlgorithm::RSA_3072: diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp index ae8814fcdf1..33dfccce05b 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp @@ -22,6 +22,7 @@ namespace Aws static const int CMAC_HASH = HashingUtils::HashString("CMAC"); static const int ANSI_X9_24_HASH = HashingUtils::HashString("ANSI_X9_24"); + static const int HMAC_HASH = HashingUtils::HashString("HMAC"); KeyCheckValueAlgorithm GetKeyCheckValueAlgorithmForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return KeyCheckValueAlgorithm::ANSI_X9_24; } + else if (hashCode == HMAC_HASH) + { + return KeyCheckValueAlgorithm::HMAC; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "CMAC"; case KeyCheckValueAlgorithm::ANSI_X9_24: return "ANSI_X9_24"; + case KeyCheckValueAlgorithm::HMAC: + return "HMAC"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp index eef5b0786df..bf1a5211104 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); SymmetricKeyAlgorithm GetSymmetricKeyAlgorithmForName(const Aws::String& name) @@ -50,6 +54,22 @@ namespace Aws { return SymmetricKeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA224; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +96,14 @@ namespace Aws return "AES_192"; case SymmetricKeyAlgorithm::AES_256: return "AES_256"; + case SymmetricKeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case SymmetricKeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case SymmetricKeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case SymmetricKeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h new file mode 100644 index 00000000000..e7f980a345d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            The CloudFormation template provider configuration for creating + * infrastructure resources.

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnCreateTemplateProvider + { + public: + AWS_SAGEMAKER_API CfnCreateTemplateProvider() = default; + AWS_SAGEMAKER_API CfnCreateTemplateProvider(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnCreateTemplateProvider& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            A unique identifier for the template within the project.

                            + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnCreateTemplateProvider& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The Amazon S3 URL of the CloudFormation template.

                            + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnCreateTemplateProvider& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The IAM role that CloudFormation assumes when creating the stack.

                            + */ + inline const Aws::String& GetRoleARN() const { return m_roleARN; } + inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } + template + void SetRoleARN(RoleARNT&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::forward(value); } + template + CfnCreateTemplateProvider& WithRoleARN(RoleARNT&& value) { SetRoleARN(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            An array of CloudFormation stack parameters.

                            + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnCreateTemplateProvider& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnCreateTemplateProvider& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::String m_roleARN; + bool m_roleARNHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h new file mode 100644 index 00000000000..6c9515885d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            A key-value pair that represents a parameter for the CloudFormation stack. + *

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnStackCreateParameter + { + public: + AWS_SAGEMAKER_API CfnStackCreateParameter() = default; + AWS_SAGEMAKER_API CfnStackCreateParameter(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnStackCreateParameter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The name of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackCreateParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The value of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + CfnStackCreateParameter& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackDetail.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackDetail.h new file mode 100644 index 00000000000..92ca1503423 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackDetail.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Details about the CloudFormation stack.

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnStackDetail + { + public: + AWS_SAGEMAKER_API CfnStackDetail() = default; + AWS_SAGEMAKER_API CfnStackDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnStackDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The name of the CloudFormation stack.

                            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CfnStackDetail& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The unique identifier of the CloudFormation stack.

                            + */ + inline const Aws::String& GetId() const { return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + template + void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward(value); } + template + CfnStackDetail& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            A human-readable message about the stack's current status.

                            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + CfnStackDetail& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h new file mode 100644 index 00000000000..91492e2bcbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            A key-value pair representing a parameter used in the CloudFormation stack. + *

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnStackParameter + { + public: + AWS_SAGEMAKER_API CfnStackParameter() = default; + AWS_SAGEMAKER_API CfnStackParameter(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnStackParameter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The name of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The value of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + CfnStackParameter& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackUpdateParameter.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackUpdateParameter.h new file mode 100644 index 00000000000..91d43f43ce3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackUpdateParameter.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            A key-value pair representing a parameter used in the CloudFormation stack. + *

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnStackUpdateParameter + { + public: + AWS_SAGEMAKER_API CfnStackUpdateParameter() = default; + AWS_SAGEMAKER_API CfnStackUpdateParameter(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnStackUpdateParameter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The name of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackUpdateParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The value of the CloudFormation parameter.

                            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + CfnStackUpdateParameter& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnTemplateProviderDetail.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnTemplateProviderDetail.h new file mode 100644 index 00000000000..2af19ce1bbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnTemplateProviderDetail.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Details about a CloudFormation template provider configuration and + * associated provisioning information.

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnTemplateProviderDetail + { + public: + AWS_SAGEMAKER_API CfnTemplateProviderDetail() = default; + AWS_SAGEMAKER_API CfnTemplateProviderDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnTemplateProviderDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The unique identifier of the template within the project.

                            + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnTemplateProviderDetail& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The Amazon S3 URL of the CloudFormation template.

                            + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnTemplateProviderDetail& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The IAM role used by CloudFormation to create the stack.

                            + */ + inline const Aws::String& GetRoleARN() const { return m_roleARN; } + inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } + template + void SetRoleARN(RoleARNT&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::forward(value); } + template + CfnTemplateProviderDetail& WithRoleARN(RoleARNT&& value) { SetRoleARN(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            An array of CloudFormation stack parameters.

                            + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnTemplateProviderDetail& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnTemplateProviderDetail& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            Information about the CloudFormation stack created by the template provider. + *

                            + */ + inline const CfnStackDetail& GetStackDetail() const { return m_stackDetail; } + inline bool StackDetailHasBeenSet() const { return m_stackDetailHasBeenSet; } + template + void SetStackDetail(StackDetailT&& value) { m_stackDetailHasBeenSet = true; m_stackDetail = std::forward(value); } + template + CfnTemplateProviderDetail& WithStackDetail(StackDetailT&& value) { SetStackDetail(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::String m_roleARN; + bool m_roleARNHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + + CfnStackDetail m_stackDetail; + bool m_stackDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h new file mode 100644 index 00000000000..b8414491aa9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Contains configuration details for updating an existing CloudFormation + * template provider in the project.

                            See Also:

                            AWS + * API Reference

                            + */ + class CfnUpdateTemplateProvider + { + public: + AWS_SAGEMAKER_API CfnUpdateTemplateProvider() = default; + AWS_SAGEMAKER_API CfnUpdateTemplateProvider(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CfnUpdateTemplateProvider& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The unique identifier of the template to update within the project.

                            + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnUpdateTemplateProvider& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The Amazon S3 URL of the CloudFormation template.

                            + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnUpdateTemplateProvider& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            An array of CloudFormation stack parameters.

                            + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnUpdateTemplateProvider& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnUpdateTemplateProvider& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h index 43a191e6ea1..2986e6d042e 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -95,6 +96,21 @@ namespace Model template CreateProjectRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            An array of template provider configurations for creating infrastructure + * resources for the project.

                            + */ + inline const Aws::Vector& GetTemplateProviders() const { return m_templateProviders; } + inline bool TemplateProvidersHasBeenSet() const { return m_templateProvidersHasBeenSet; } + template> + void SetTemplateProviders(TemplateProvidersT&& value) { m_templateProvidersHasBeenSet = true; m_templateProviders = std::forward(value); } + template> + CreateProjectRequest& WithTemplateProviders(TemplateProvidersT&& value) { SetTemplateProviders(std::forward(value)); return *this;} + template + CreateProjectRequest& AddTemplateProviders(TemplateProvidersT&& value) { m_templateProvidersHasBeenSet = true; m_templateProviders.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_projectName; @@ -108,6 +124,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + Aws::Vector m_templateProviders; + bool m_templateProvidersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h new file mode 100644 index 00000000000..dc9c82a7810 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Contains configuration details for a template provider. Only one type of + * template provider can be specified.

                            See Also:

                            AWS + * API Reference

                            + */ + class CreateTemplateProvider + { + public: + AWS_SAGEMAKER_API CreateTemplateProvider() = default; + AWS_SAGEMAKER_API CreateTemplateProvider(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API CreateTemplateProvider& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The CloudFormation template provider configuration for creating + * infrastructure resources.

                            + */ + inline const CfnCreateTemplateProvider& GetCfnTemplateProvider() const { return m_cfnTemplateProvider; } + inline bool CfnTemplateProviderHasBeenSet() const { return m_cfnTemplateProviderHasBeenSet; } + template + void SetCfnTemplateProvider(CfnTemplateProviderT&& value) { m_cfnTemplateProviderHasBeenSet = true; m_cfnTemplateProvider = std::forward(value); } + template + CreateTemplateProvider& WithCfnTemplateProvider(CfnTemplateProviderT&& value) { SetCfnTemplateProvider(std::forward(value)); return *this;} + ///@} + private: + + CfnCreateTemplateProvider m_cfnTemplateProvider; + bool m_cfnTemplateProviderHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h index 7fc163da599..dfe7ea145c9 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include namespace Aws @@ -115,6 +117,19 @@ namespace Model inline DescribeProjectResult& WithProjectStatus(ProjectStatus value) { SetProjectStatus(value); return *this;} ///@} + ///@{ + /** + *

                            An array of template providers associated with the project.

                            + */ + inline const Aws::Vector& GetTemplateProviderDetails() const { return m_templateProviderDetails; } + template> + void SetTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails = std::forward(value); } + template> + DescribeProjectResult& WithTemplateProviderDetails(TemplateProviderDetailsT&& value) { SetTemplateProviderDetails(std::forward(value)); return *this;} + template + DescribeProjectResult& AddTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ inline const UserContext& GetCreatedBy() const { return m_createdBy; } @@ -186,6 +201,9 @@ namespace Model ProjectStatus m_projectStatus{ProjectStatus::NOT_SET}; bool m_projectStatusHasBeenSet = false; + Aws::Vector m_templateProviderDetails; + bool m_templateProviderDetailsHasBeenSet = false; + UserContext m_createdBy; bool m_createdByHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h index 143436f81ae..64de6d3738a 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -147,6 +148,20 @@ namespace Model Project& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                            An array of template providers associated with the project.

                            + */ + inline const Aws::Vector& GetTemplateProviderDetails() const { return m_templateProviderDetails; } + inline bool TemplateProviderDetailsHasBeenSet() const { return m_templateProviderDetailsHasBeenSet; } + template> + void SetTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails = std::forward(value); } + template> + Project& WithTemplateProviderDetails(TemplateProviderDetailsT&& value) { SetTemplateProviderDetails(std::forward(value)); return *this;} + template + Project& AddTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

                            An array of key-value pairs. You can use tags to categorize your Amazon Web @@ -215,6 +230,9 @@ namespace Model Aws::Utils::DateTime m_creationTime{}; bool m_creationTimeHasBeenSet = false; + Aws::Vector m_templateProviderDetails; + bool m_templateProviderDetailsHasBeenSet = false; + Aws::Vector m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h index 4ffd4c7fa6a..b2a84009586 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h @@ -44,20 +44,7 @@ namespace Model ///@{ /** - *

                            The ML compute instance type.

                            SageMaker Training on Amazon - * Elastic Compute Cloud (EC2) P4de instances is in preview release starting - * December 9th, 2022.

                            Amazon EC2 P4de - * instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB - * high-performance HBM2e GPU memory, which accelerate the speed of training ML - * models that need to be trained on large datasets of high-resolution data. In - * this preview release, Amazon SageMaker supports ML training jobs on P4de - * instances (ml.p4de.24xlarge) to reduce model training time. The - * ml.p4de.24xlarge instances are available in the following Amazon - * Web Services Regions.

                            • US East (N. Virginia) (us-east-1)

                              - *
                            • US West (Oregon) (us-west-2)

                            To request quota - * limit increase and start using P4de instances, contact the SageMaker Training - * service team through your account team.

                            + *

                            The ML compute instance type.

                            */ inline TrainingInstanceType GetInstanceType() const { return m_instanceType; } inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h new file mode 100644 index 00000000000..22220e2880b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Details about a template provider configuration and associated provisioning + * information.

                            See Also:

                            AWS + * API Reference

                            + */ + class TemplateProviderDetail + { + public: + AWS_SAGEMAKER_API TemplateProviderDetail() = default; + AWS_SAGEMAKER_API TemplateProviderDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API TemplateProviderDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            Details about a CloudFormation template provider configuration and + * associated provisioning information.

                            + */ + inline const CfnTemplateProviderDetail& GetCfnTemplateProviderDetail() const { return m_cfnTemplateProviderDetail; } + inline bool CfnTemplateProviderDetailHasBeenSet() const { return m_cfnTemplateProviderDetailHasBeenSet; } + template + void SetCfnTemplateProviderDetail(CfnTemplateProviderDetailT&& value) { m_cfnTemplateProviderDetailHasBeenSet = true; m_cfnTemplateProviderDetail = std::forward(value); } + template + TemplateProviderDetail& WithCfnTemplateProviderDetail(CfnTemplateProviderDetailT&& value) { SetCfnTemplateProviderDetail(std::forward(value)); return *this;} + ///@} + private: + + CfnTemplateProviderDetail m_cfnTemplateProviderDetail; + bool m_cfnTemplateProviderDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h index c7a7eec274b..f41c7def21b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -99,6 +100,20 @@ namespace Model template UpdateProjectRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            The template providers to update in the project.

                            + */ + inline const Aws::Vector& GetTemplateProvidersToUpdate() const { return m_templateProvidersToUpdate; } + inline bool TemplateProvidersToUpdateHasBeenSet() const { return m_templateProvidersToUpdateHasBeenSet; } + template> + void SetTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { m_templateProvidersToUpdateHasBeenSet = true; m_templateProvidersToUpdate = std::forward(value); } + template> + UpdateProjectRequest& WithTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { SetTemplateProvidersToUpdate(std::forward(value)); return *this;} + template + UpdateProjectRequest& AddTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { m_templateProvidersToUpdateHasBeenSet = true; m_templateProvidersToUpdate.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_projectName; @@ -112,6 +127,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + Aws::Vector m_templateProvidersToUpdate; + bool m_templateProvidersToUpdateHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h new file mode 100644 index 00000000000..b4b9dbb222d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                            Contains configuration details for updating an existing template provider in + * the project.

                            See Also:

                            AWS + * API Reference

                            + */ + class UpdateTemplateProvider + { + public: + AWS_SAGEMAKER_API UpdateTemplateProvider() = default; + AWS_SAGEMAKER_API UpdateTemplateProvider(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API UpdateTemplateProvider& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The CloudFormation template provider configuration to update.

                            + */ + inline const CfnUpdateTemplateProvider& GetCfnTemplateProvider() const { return m_cfnTemplateProvider; } + inline bool CfnTemplateProviderHasBeenSet() const { return m_cfnTemplateProviderHasBeenSet; } + template + void SetCfnTemplateProvider(CfnTemplateProviderT&& value) { m_cfnTemplateProviderHasBeenSet = true; m_cfnTemplateProvider = std::forward(value); } + template + UpdateTemplateProvider& WithCfnTemplateProvider(CfnTemplateProviderT&& value) { SetCfnTemplateProvider(std::forward(value)); return *this;} + ///@} + private: + + CfnUpdateTemplateProvider m_cfnTemplateProvider; + bool m_cfnTemplateProviderHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp new file mode 100644 index 00000000000..04d7db0ef51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnCreateTemplateProvider::CfnCreateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnCreateTemplateProvider& CfnCreateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("RoleARN")) + { + m_roleARN = jsonValue.GetString("RoleARN"); + m_roleARNHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + return *this; +} + +JsonValue CfnCreateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_roleARNHasBeenSet) + { + payload.WithString("RoleARN", m_roleARN); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp new file mode 100644 index 00000000000..59b2ef02000 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackCreateParameter::CfnStackCreateParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackCreateParameter& CfnStackCreateParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackCreateParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp new file mode 100644 index 00000000000..b31b334518d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackDetail::CfnStackDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackDetail& CfnStackDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + m_idHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackDetail::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp new file mode 100644 index 00000000000..a8106502740 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackParameter::CfnStackParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackParameter& CfnStackParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp new file mode 100644 index 00000000000..d619b03bb81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackUpdateParameter::CfnStackUpdateParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackUpdateParameter& CfnStackUpdateParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackUpdateParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp new file mode 100644 index 00000000000..6d32622d02f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnTemplateProviderDetail::CfnTemplateProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnTemplateProviderDetail& CfnTemplateProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("RoleARN")) + { + m_roleARN = jsonValue.GetString("RoleARN"); + m_roleARNHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + if(jsonValue.ValueExists("StackDetail")) + { + m_stackDetail = jsonValue.GetObject("StackDetail"); + m_stackDetailHasBeenSet = true; + } + return *this; +} + +JsonValue CfnTemplateProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_roleARNHasBeenSet) + { + payload.WithString("RoleARN", m_roleARN); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + if(m_stackDetailHasBeenSet) + { + payload.WithObject("StackDetail", m_stackDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp new file mode 100644 index 00000000000..55ceae3a341 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnUpdateTemplateProvider::CfnUpdateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnUpdateTemplateProvider& CfnUpdateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + return *this; +} + +JsonValue CfnUpdateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp index 07a983d0676..f74db84c899 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp @@ -45,6 +45,17 @@ Aws::String CreateProjectRequest::SerializePayload() const } + if(m_templateProvidersHasBeenSet) + { + Aws::Utils::Array templateProvidersJsonList(m_templateProviders.size()); + for(unsigned templateProvidersIndex = 0; templateProvidersIndex < templateProvidersJsonList.GetLength(); ++templateProvidersIndex) + { + templateProvidersJsonList[templateProvidersIndex].AsObject(m_templateProviders[templateProvidersIndex].Jsonize()); + } + payload.WithArray("TemplateProviders", std::move(templateProvidersJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp new file mode 100644 index 00000000000..54ce77719f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CreateTemplateProvider::CreateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreateTemplateProvider& CreateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProvider")) + { + m_cfnTemplateProvider = jsonValue.GetObject("CfnTemplateProvider"); + m_cfnTemplateProviderHasBeenSet = true; + } + return *this; +} + +JsonValue CreateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderHasBeenSet) + { + payload.WithObject("CfnTemplateProvider", m_cfnTemplateProvider.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp index b95accb2928..4e3bdbfe5f2 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp @@ -60,6 +60,15 @@ DescribeProjectResult& DescribeProjectResult::operator =(const Aws::AmazonWebSer m_projectStatus = ProjectStatusMapper::GetProjectStatusForName(jsonValue.GetString("ProjectStatus")); m_projectStatusHasBeenSet = true; } + if(jsonValue.ValueExists("TemplateProviderDetails")) + { + Aws::Utils::Array templateProviderDetailsJsonList = jsonValue.GetArray("TemplateProviderDetails"); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + m_templateProviderDetails.push_back(templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject()); + } + m_templateProviderDetailsHasBeenSet = true; + } if(jsonValue.ValueExists("CreatedBy")) { m_createdBy = jsonValue.GetObject("CreatedBy"); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp index 6d127192316..72d2552a1bd 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp @@ -70,6 +70,15 @@ Project& Project::operator =(JsonView jsonValue) m_creationTime = jsonValue.GetDouble("CreationTime"); m_creationTimeHasBeenSet = true; } + if(jsonValue.ValueExists("TemplateProviderDetails")) + { + Aws::Utils::Array templateProviderDetailsJsonList = jsonValue.GetArray("TemplateProviderDetails"); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + m_templateProviderDetails.push_back(templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject()); + } + m_templateProviderDetailsHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); @@ -148,6 +157,17 @@ JsonValue Project::Jsonize() const payload.WithDouble("CreationTime", m_creationTime.SecondsWithMSPrecision()); } + if(m_templateProviderDetailsHasBeenSet) + { + Aws::Utils::Array templateProviderDetailsJsonList(m_templateProviderDetails.size()); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject(m_templateProviderDetails[templateProviderDetailsIndex].Jsonize()); + } + payload.WithArray("TemplateProviderDetails", std::move(templateProviderDetailsJsonList)); + + } + if(m_tagsHasBeenSet) { Aws::Utils::Array tagsJsonList(m_tags.size()); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp new file mode 100644 index 00000000000..880ee42f275 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +TemplateProviderDetail::TemplateProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +TemplateProviderDetail& TemplateProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProviderDetail")) + { + m_cfnTemplateProviderDetail = jsonValue.GetObject("CfnTemplateProviderDetail"); + m_cfnTemplateProviderDetailHasBeenSet = true; + } + return *this; +} + +JsonValue TemplateProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderDetailHasBeenSet) + { + payload.WithObject("CfnTemplateProviderDetail", m_cfnTemplateProviderDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp index fd6d1172295..032e1948078 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp @@ -45,6 +45,17 @@ Aws::String UpdateProjectRequest::SerializePayload() const } + if(m_templateProvidersToUpdateHasBeenSet) + { + Aws::Utils::Array templateProvidersToUpdateJsonList(m_templateProvidersToUpdate.size()); + for(unsigned templateProvidersToUpdateIndex = 0; templateProvidersToUpdateIndex < templateProvidersToUpdateJsonList.GetLength(); ++templateProvidersToUpdateIndex) + { + templateProvidersToUpdateJsonList[templateProvidersToUpdateIndex].AsObject(m_templateProvidersToUpdate[templateProvidersToUpdateIndex].Jsonize()); + } + payload.WithArray("TemplateProvidersToUpdate", std::move(templateProvidersToUpdateJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp new file mode 100644 index 00000000000..e0eee9bf64b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +UpdateTemplateProvider::UpdateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +UpdateTemplateProvider& UpdateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProvider")) + { + m_cfnTemplateProvider = jsonValue.GetObject("CfnTemplateProvider"); + m_cfnTemplateProviderHasBeenSet = true; + } + return *this; +} + +JsonValue UpdateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderHasBeenSet) + { + payload.WithObject("CfnTemplateProvider", m_cfnTemplateProvider.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp b/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp index c1bc3d45ead..35be88e3b6f 100644 --- a/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp +++ b/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp @@ -36,6 +36,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp b/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp index 4b037b3271d..ade38f09904 100644 --- a/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp +++ b/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp @@ -147,6 +147,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -220,6 +225,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp b/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp index 5eec79d3edd..d76ec9ea8d3 100644 --- a/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp +++ b/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp @@ -146,6 +146,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -317,6 +324,7 @@ #include #include #include +#include #include #include #include @@ -1436,6 +1444,7 @@ #include #include #include +#include #include #include #include @@ -1584,6 +1593,7 @@ #include #include #include +#include #include #include #include diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 01133a0f9e9..911d9ab7a6a 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.591" +#define AWS_SDK_VERSION_STRING "1.11.592" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 591 +#define AWS_SDK_VERSION_PATCH 592 diff --git a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json index e3f437e8989..ccffc3092f2 100644 --- a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json @@ -2161,7 +2161,7 @@ "type":"string", "max":1011, "min":20, - "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12})" + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2})/[a-z0-9]{12}" }, "CustomModelName":{ "type":"string", diff --git a/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json b/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json index 7fb0de82b95..3f3be64c4b7 100644 --- a/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json +++ b/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json @@ -375,6 +375,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                            The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                            " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfiguration", + "documentation":"

                            The IAM Identity Center configuration applied to enable trusted identity propagation.

                            " } }, "documentation":"

                            Information about an application. Amazon EMR Serverless uses applications to run jobs.

                            " @@ -749,6 +753,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                            The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                            " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfigurationInput", + "documentation":"

                            The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

                            " } } }, @@ -973,6 +981,40 @@ "min":20, "pattern":"arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)" }, + "IdentityCenterApplicationArn":{ + "type":"string", + "pattern":"arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}" + }, + "IdentityCenterConfiguration":{ + "type":"structure", + "members":{ + "identityCenterInstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

                            The ARN of the IAM Identity Center instance.

                            " + }, + "identityCenterApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

                            The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.

                            " + } + }, + "documentation":"

                            The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.

                            " + }, + "IdentityCenterConfigurationInput":{ + "type":"structure", + "members":{ + "identityCenterInstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

                            The ARN of the IAM Identity Center instance.

                            " + } + }, + "documentation":"

                            Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                            " + }, + "IdentityCenterInstanceArn":{ + "type":"string", + "max":1024, + "min":10, + "pattern":"arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}" + }, "ImageConfiguration":{ "type":"structure", "required":["imageUri"], @@ -2226,6 +2268,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                            The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                            " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfigurationInput", + "documentation":"

                            Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                            " } } }, diff --git a/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json b/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json index 8b5f3b7ff32..a3ab7528ed2 100644 --- a/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json +++ b/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json @@ -101,7 +101,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

                            Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                            For details about how to configure different event sources, see the following topics.

                            The following error handling options are available only for DynamoDB and Kinesis event sources:

                            • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                            • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                            • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                            • ParallelizationFactor – Process multiple batches from each shard concurrently.

                            For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                            • DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                            For information about which configuration parameters apply to each event source, see the following topics.

                            " + "documentation":"

                            Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                            For details about how to configure different event sources, see the following topics.

                            The following error handling options are available only for DynamoDB and Kinesis event sources:

                            • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                            • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                            • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                            • ParallelizationFactor – Process multiple batches from each shard concurrently.

                            For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                            • OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket. For more information, see Adding a destination.

                            For information about which configuration parameters apply to each event source, see the following topics.

                            " }, "CreateFunction":{ "name":"CreateFunction", @@ -1166,7 +1166,7 @@ {"shape":"ResourceConflictException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

                            Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

                            For details about how to configure different event sources, see the following topics.

                            The following error handling options are available only for DynamoDB and Kinesis event sources:

                            • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                            • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                            • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                            • ParallelizationFactor – Process multiple batches from each shard concurrently.

                            For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                            • DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                            For information about which configuration parameters apply to each event source, see the following topics.

                            " + "documentation":"

                            Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

                            For details about how to configure different event sources, see the following topics.

                            The following error handling options are available only for DynamoDB and Kinesis event sources:

                            • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                            • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                            • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                            • ParallelizationFactor – Process multiple batches from each shard concurrently.

                            For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                            • OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket. For more information, see Adding a destination.

                            For information about which configuration parameters apply to each event source, see the following topics.

                            " }, "UpdateFunctionCode":{ "name":"UpdateFunctionCode", @@ -1511,6 +1511,10 @@ "ConsumerGroupId":{ "shape":"URI", "documentation":"

                            The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                            " + }, + "SchemaRegistryConfig":{ + "shape":"KafkaSchemaRegistryConfig", + "documentation":"

                            Specific configuration settings for a Kafka schema registry.

                            " } }, "documentation":"

                            Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

                            " @@ -2080,7 +2084,7 @@ "documentation":"

                            The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

                            " } }, - "documentation":"

                            The dead-letter queue for failed asynchronous invocations.

                            " + "documentation":"

                            The dead-letter queue for failed asynchronous invocations.

                            " }, "DeleteAliasRequest":{ "type":"structure", @@ -2117,8 +2121,7 @@ }, "DeleteCodeSigningConfigResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteEventSourceMappingRequest":{ "type":"structure", @@ -2268,14 +2271,14 @@ "members":{ "OnSuccess":{ "shape":"OnSuccess", - "documentation":"

                            The destination configuration for successful invocations.

                            " + "documentation":"

                            The destination configuration for successful invocations. Not supported in CreateEventSourceMapping or UpdateEventSourceMapping.

                            " }, "OnFailure":{ "shape":"OnFailure", "documentation":"

                            The destination configuration for failed invocations.

                            " } }, - "documentation":"

                            A configuration object that specifies the destination of an event after Lambda processes it.

                            " + "documentation":"

                            A configuration object that specifies the destination of an event after Lambda processes it. For more information, see Adding a destination.

                            " }, "DocumentDBEventSourceConfig":{ "type":"structure", @@ -2520,7 +2523,7 @@ }, "LastProcessingResult":{ "shape":"String", - "documentation":"

                            The result of the last Lambda invocation of your function.

                            " + "documentation":"

                            The result of the event source mapping's last processing attempt.

                            " }, "State":{ "shape":"String", @@ -3064,8 +3067,7 @@ }, "GetAccountSettingsRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetAccountSettingsResponse":{ "type":"structure", @@ -3992,6 +3994,75 @@ "error":{"httpStatusCode":502}, "exception":true }, + "KafkaSchemaRegistryAccessConfig":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"KafkaSchemaRegistryAuthType", + "documentation":"

                            The type of authentication Lambda uses to access your schema registry.

                            " + }, + "URI":{ + "shape":"Arn", + "documentation":"

                            The URI of the secret (Secrets Manager secret ARN) to authenticate with your schema registry.

                            " + } + }, + "documentation":"

                            Specific access configuration settings that tell Lambda how to authenticate with your schema registry.

                            If you're working with an Glue schema registry, don't provide authentication details in this object. Instead, ensure that your execution role has the required permissions for Lambda to access your cluster.

                            If you're working with a Confluent schema registry, choose the authentication method in the Type field, and provide the Secrets Manager secret ARN in the URI field.

                            " + }, + "KafkaSchemaRegistryAccessConfigList":{ + "type":"list", + "member":{"shape":"KafkaSchemaRegistryAccessConfig"} + }, + "KafkaSchemaRegistryAuthType":{ + "type":"string", + "enum":[ + "BASIC_AUTH", + "CLIENT_CERTIFICATE_TLS_AUTH", + "SERVER_ROOT_CA_CERTIFICATE" + ] + }, + "KafkaSchemaRegistryConfig":{ + "type":"structure", + "members":{ + "SchemaRegistryURI":{ + "shape":"SchemaRegistryUri", + "documentation":"

                            The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.

                            • For Glue schema registries, use the ARN of the registry.

                            • For Confluent schema registries, use the URL of the registry.

                            " + }, + "EventRecordFormat":{ + "shape":"SchemaRegistryEventRecordFormat", + "documentation":"

                            The record format that Lambda delivers to your function after schema validation.

                            • Choose JSON to have Lambda deliver the record to your function as a standard JSON object.

                            • Choose SOURCE to have Lambda deliver the record to your function in its original source format. Lambda removes all schema metadata, such as the schema ID, before sending the record to your function.

                            " + }, + "AccessConfigs":{ + "shape":"KafkaSchemaRegistryAccessConfigList", + "documentation":"

                            An array of access configuration objects that tell Lambda how to authenticate with your schema registry.

                            " + }, + "SchemaValidationConfigs":{ + "shape":"KafkaSchemaValidationConfigList", + "documentation":"

                            An array of schema validation configuration objects, which tell Lambda the message attributes you want to validate and filter using your schema registry.

                            " + } + }, + "documentation":"

                            Specific configuration settings for a Kafka schema registry.

                            " + }, + "KafkaSchemaValidationAttribute":{ + "type":"string", + "enum":[ + "KEY", + "VALUE" + ] + }, + "KafkaSchemaValidationConfig":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"KafkaSchemaValidationAttribute", + "documentation":"

                            The attributes you want your schema registry to validate and filter for. If you selected JSON as the EventRecordFormat, Lambda also deserializes the selected message attributes.

                            " + } + }, + "documentation":"

                            Specific schema validation configuration settings that tell Lambda the message attributes you want to validate and filter using your schema registry.

                            " + }, + "KafkaSchemaValidationConfigList":{ + "type":"list", + "member":{"shape":"KafkaSchemaValidationConfig"} + }, "LastUpdateStatus":{ "type":"string", "enum":[ @@ -4814,7 +4885,7 @@ "documentation":"

                            The Amazon Resource Name (ARN) of the destination resource.

                            To retain records of unsuccessful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.

                            To retain records of failed invocations from Kinesis, DynamoDB, self-managed Kafka or Amazon MSK, you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.

                            " } }, - "documentation":"

                            A destination for events that failed processing.

                            " + "documentation":"

                            A destination for events that failed processing. For more information, see Adding a destination.

                            " }, "OnSuccess":{ "type":"structure", @@ -4824,7 +4895,7 @@ "documentation":"

                            The Amazon Resource Name (ARN) of the destination resource.

                            " } }, - "documentation":"

                            A destination for events that were processed successfully.

                            To retain records of successful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.

                            " + "documentation":"

                            A destination for events that were processed successfully.

                            To retain records of successful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.

                            OnSuccess is not supported in CreateEventSourceMapping or UpdateEventSourceMapping requests.

                            " }, "OrganizationId":{ "type":"string", @@ -5578,6 +5649,19 @@ }, "documentation":"

                            (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.

                            " }, + "SchemaRegistryEventRecordFormat":{ + "type":"string", + "enum":[ + "JSON", + "SOURCE" + ] + }, + "SchemaRegistryUri":{ + "type":"string", + "max":10000, + "min":1, + "pattern":"[a-zA-Z0-9-\\/*:_+=.@-]*" + }, "SecurityGroupId":{"type":"string"}, "SecurityGroupIds":{ "type":"list", @@ -5599,7 +5683,11 @@ "members":{ "ConsumerGroupId":{ "shape":"URI", - "documentation":"

                            The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                            " + "documentation":"

                            The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                            " + }, + "SchemaRegistryConfig":{ + "shape":"KafkaSchemaRegistryConfig", + "documentation":"

                            Specific configuration settings for a Kafka schema registry.

                            " } }, "documentation":"

                            Specific configuration settings for a self-managed Apache Kafka event source.

                            " @@ -6132,6 +6220,8 @@ "shape":"ScalingConfig", "documentation":"

                            (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

                            " }, + "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, + "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"}, "DocumentDBEventSourceConfig":{ "shape":"DocumentDBEventSourceConfig", "documentation":"

                            Specific configuration settings for a DocumentDB event source.

                            " diff --git a/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json b/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json index 5f0227ef03c..a39d010c55f 100644 --- a/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json +++ b/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json @@ -54,7 +54,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                            Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                            In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                            When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                            Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " + "documentation":"

                            Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                            In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                            When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                            For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                            You can use the CreateKey operation to generate an ECC (Elliptic Curve Cryptography) key pair used for establishing an ECDH (Elliptic Curve Diffie-Hellman) key agreement between two parties. In the ECDH key agreement process, both parties generate their own ECC key pair with key usage K3 and exchange the public keys. Each party then use their private key, the received public key from the other party, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm to derive a shared key.

                            To maintain the single-use principle of cryptographic keys in payments, ECDH derived keys should not be used for multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in Amazon Web Services Payment Cryptography you can optionally set the DeriveKeyUsage parameter, which defines the key usage bound to the symmetric key that will be derived using the ECC key pair.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " }, "DeleteAlias":{ "name":"DeleteAlias", @@ -113,7 +113,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                            Exports a key from Amazon Web Services Payment Cryptography.

                            Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                            For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                            The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                            You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                            For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                            The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                            Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                            To export initial keys (KEK) or IPEK using TR-34

                            Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                            To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.

                            Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                            Set the following parameters:

                            • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                            • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                            • KeyMaterial: Use Tr34KeyBlock parameters.

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                            • ExportToken: Obtained from KDH by calling GetParametersForImport.

                            • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                            To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                            Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                            Next call ExportKey and set the following parameters:

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                            • KeyMaterial: Set to KeyCryptogram.

                            • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                            To export working keys or IPEK using TR-31

                            Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                            Set the following parameters:

                            • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                            • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                            • KeyMaterial: Use Tr31KeyBlock parameters.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " + "documentation":"

                            Exports a key from Amazon Web Services Payment Cryptography.

                            Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                            For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                            PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                            You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                            For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                            The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                            Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                            To export initial keys (KEK) or IPEK using TR-34

                            Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                            To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 30 days.

                            Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                            Set the following parameters:

                            • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                            • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                            • KeyMaterial: Use Tr34KeyBlock parameters.

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                            • ExportToken: Obtained from KDH by calling GetParametersForImport.

                            • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                            To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                            Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                            Next call ExportKey and set the following parameters:

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                            • KeyMaterial: Set to KeyCryptogram.

                            • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                            To export working keys or IPEK using TR-31

                            Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                            Set the following parameters:

                            • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                            • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                            • KeyMaterial: Use Tr31KeyBlock parameters.

                            To export working keys using ECDH

                            You can also use ECDH key agreement to export working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                            To initiate a TR-31 key export using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. You can then complete a TR-31 key export by deriving a shared wrapping key using the service ECC key pair, public certificate of your ECC key pair outside of Amazon Web Services Payment Cryptography, and the key derivation parameters including key derivation function, hash algorithm, derivation data, key algorithm.

                            • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                            • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                            • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                            • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                            When this operation is successful, Amazon Web Services Payment Cryptography returns the working key as a TR-31 WrappedKeyBlock, where the wrapping key is the ECDH derived key.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " }, "GetAlias":{ "name":"GetAlias", @@ -169,7 +169,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                            Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                            The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " + "documentation":"

                            Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                            The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 30 days. You can use the same export token to export multiple keys from your service account.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " }, "GetParametersForImport":{ "name":"GetParametersForImport", @@ -189,7 +189,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                            Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                            The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " + "documentation":"

                            Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                            The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 30 days. You can use the same import token to import multiple keys into your service account.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " }, "GetPublicKeyCertificate":{ "name":"GetPublicKeyCertificate", @@ -227,7 +227,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                            Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                            Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                            For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                            The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                            You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                            To import a public root key certificate

                            Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                            Set the following parameters:

                            • KeyMaterial: RootCertificatePublicKey

                            • KeyClass: PUBLIC_KEY

                            • KeyModesOfUse: Verify

                            • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                            • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                            To import a trusted public key certificate

                            The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                            • KeyMaterial: TrustedCertificatePublicKey

                            • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                            • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                            • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                            To import initial keys (KEK or ZMK or similar) using TR-34

                            Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                            To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.

                            Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                            Set the following parameters:

                            • KeyMaterial: Use Tr34KeyBlock parameters.

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                            • ImportToken: Obtained from KRD by calling GetParametersForImport.

                            • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                            • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                            To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                            Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.

                            You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                            To import working keys using TR-31

                            Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                            • KeyMaterial: Use Tr31KeyBlock parameters.

                            • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                            • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " + "documentation":"

                            Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                            Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                            For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                            PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                            You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                            To import a public root key certificate

                            Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                            Set the following parameters:

                            • KeyMaterial: RootCertificatePublicKey

                            • KeyClass: PUBLIC_KEY

                            • KeyModesOfUse: Verify

                            • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                            • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                            To import a trusted public key certificate

                            The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                            • KeyMaterial: TrustedCertificatePublicKey

                            • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                            • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                            • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                            To import initial keys (KEK or ZMK or similar) using TR-34

                            Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                            To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 30 days.

                            Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                            Set the following parameters:

                            • KeyMaterial: Use Tr34KeyBlock parameters.

                            • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                            • ImportToken: Obtained from KRD by calling GetParametersForImport.

                            • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                            • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                            To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                            Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 30 days.

                            You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                            To import working keys using TR-31

                            Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                            • KeyMaterial: Use Tr31KeyBlock parameters.

                            • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                            • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                            To import working keys using ECDH

                            You can also use ECDH key agreement to import working keys as a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                            To initiate a TR-31 key import using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey and then GetPublicKeyCertificate to retrieve its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock using your own ECC key pair, the public certificate of the service's ECC key pair, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. To complete the TR-31 key import, you can use the following parameters. It is important that the ECDH key derivation parameters you use should match those used during import to derive the same shared wrapping key within Amazon Web Services Payment Cryptography.

                            • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                            • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                            • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                            • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                            Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                            Related operations:

                            " }, "ListAliases":{ "name":"ListAliases", @@ -508,7 +508,7 @@ }, "DeriveKeyUsage":{ "shape":"DeriveKeyUsage", - "documentation":"

                            The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.

                            " + "documentation":"

                            The intended cryptographic usage of keys derived from the ECC key pair to be created.

                            After creating an ECC key pair, you cannot change the intended cryptographic usage of keys derived from it using ECDH.

                            " } } }, @@ -596,10 +596,10 @@ "members":{ "SharedInformation":{ "shape":"SharedInformation", - "documentation":"

                            A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                            It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                            " + "documentation":"

                            A string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                            It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes. It is not recommended to reuse shared information for multiple ECDH key derivations, as it could result in derived key material being the same across different derivations.

                            " } }, - "documentation":"

                            Derivation data used to derive an ECDH key.

                            ", + "documentation":"

                            The shared information used when deriving a key using ECDH.

                            ", "union":true }, "EvenHexLengthBetween16And32":{ @@ -636,35 +636,35 @@ "members":{ "PrivateKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                            The keyARN of the asymmetric ECC key.

                            " + "documentation":"

                            The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                            " }, "CertificateAuthorityPublicKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                            The keyARN of the certificate that signed the client's PublicKeyCertificate.

                            " + "documentation":"

                            The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                            " }, "PublicKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                            The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                            " + "documentation":"

                            The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                            " }, "DeriveKeyAlgorithm":{ "shape":"SymmetricKeyAlgorithm", - "documentation":"

                            The key algorithm of the derived ECDH key.

                            " + "documentation":"

                            The key algorithm of the shared derived ECDH key.

                            " }, "KeyDerivationFunction":{ "shape":"KeyDerivationFunction", - "documentation":"

                            The key derivation function to use for deriving a key using ECDH.

                            " + "documentation":"

                            The key derivation function to use when deriving a key using ECDH.

                            " }, "KeyDerivationHashAlgorithm":{ "shape":"KeyDerivationHashAlgorithm", - "documentation":"

                            The hash type to use for deriving a key using ECDH.

                            " + "documentation":"

                            The hash type to use when deriving a key using ECDH.

                            " }, "DerivationData":{ "shape":"DiffieHellmanDerivationData", - "documentation":"

                            Derivation data used to derive an ECDH key.

                            " + "documentation":"

                            The shared information used when deriving a key using ECDH.

                            " }, "KeyBlockHeaders":{"shape":"KeyBlockHeaders"} }, - "documentation":"

                            Parameter information for key material export using the asymmetric ECDH key exchange method.

                            " + "documentation":"

                            Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                            " }, "ExportDukptInitialKey":{ "type":"structure", @@ -737,7 +737,7 @@ }, "DiffieHellmanTr31KeyBlock":{ "shape":"ExportDiffieHellmanTr31KeyBlock", - "documentation":"

                            Parameter information for key material export using the asymmetric ECDH key exchange method.

                            " + "documentation":"

                            Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                            " } }, "documentation":"

                            Parameter information for key material export from Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.

                            ", @@ -790,7 +790,7 @@ }, "ExportToken":{ "shape":"ExportTokenId", - "documentation":"

                            The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                            " + "documentation":"

                            The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                            " }, "KeyBlockFormat":{ "shape":"Tr34KeyBlockFormat", @@ -876,7 +876,7 @@ "members":{ "SigningKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                            The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 7 days.

                            " + "documentation":"

                            The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 30 days.

                            " }, "SigningKeyCertificateChain":{ "shape":"CertificateType", @@ -888,7 +888,7 @@ }, "ExportToken":{ "shape":"ExportTokenId", - "documentation":"

                            The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                            " + "documentation":"

                            The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                            " }, "ParametersValidUntilTimestamp":{ "shape":"Timestamp", @@ -925,7 +925,7 @@ "members":{ "WrappingKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                            The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 7 days.

                            " + "documentation":"

                            The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 30 days.

                            " }, "WrappingKeyCertificateChain":{ "shape":"CertificateType", @@ -937,7 +937,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                            The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                            " + "documentation":"

                            The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                            " }, "ParametersValidUntilTimestamp":{ "shape":"Timestamp", @@ -993,38 +993,38 @@ "members":{ "PrivateKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                            The keyARN of the asymmetric ECC key.

                            " + "documentation":"

                            The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                            " }, "CertificateAuthorityPublicKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                            The keyARN of the certificate that signed the client's PublicKeyCertificate.

                            " + "documentation":"

                            The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                            " }, "PublicKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                            The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                            " + "documentation":"

                            The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                            " }, "DeriveKeyAlgorithm":{ "shape":"SymmetricKeyAlgorithm", - "documentation":"

                            The key algorithm of the derived ECDH key.

                            " + "documentation":"

                            The key algorithm of the shared derived ECDH key.

                            " }, "KeyDerivationFunction":{ "shape":"KeyDerivationFunction", - "documentation":"

                            The key derivation function to use for deriving a key using ECDH.

                            " + "documentation":"

                            The key derivation function to use when deriving a key using ECDH.

                            " }, "KeyDerivationHashAlgorithm":{ "shape":"KeyDerivationHashAlgorithm", - "documentation":"

                            The hash type to use for deriving a key using ECDH.

                            " + "documentation":"

                            The hash type to use when deriving a key using ECDH.

                            " }, "DerivationData":{ "shape":"DiffieHellmanDerivationData", - "documentation":"

                            Derivation data used to derive an ECDH key.

                            " + "documentation":"

                            The shared information used when deriving a key using ECDH.

                            " }, "WrappedKeyBlock":{ "shape":"Tr31WrappedKeyBlock", "documentation":"

                            The ECDH wrapped key block to import.

                            " } }, - "documentation":"

                            Parameter information for key material import using the asymmetric ECDH key exchange method.

                            " + "documentation":"

                            Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                            " }, "ImportKeyCryptogram":{ "type":"structure", @@ -1046,7 +1046,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                            The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                            " + "documentation":"

                            The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                            " }, "WrappingSpec":{ "shape":"WrappingKeySpec", @@ -1102,7 +1102,7 @@ }, "DiffieHellmanTr31KeyBlock":{ "shape":"ImportDiffieHellmanTr31KeyBlock", - "documentation":"

                            Parameter information for key material import using the asymmetric ECDH key exchange method.

                            " + "documentation":"

                            Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                            " } }, "documentation":"

                            Parameter information for key material import into Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.

                            ", @@ -1160,7 +1160,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                            The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                            " + "documentation":"

                            The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                            " }, "WrappedKeyBlock":{ "shape":"Tr34WrappedKeyBlock", @@ -1267,6 +1267,10 @@ "AES_128", "AES_192", "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", @@ -1344,7 +1348,8 @@ "type":"string", "enum":[ "CMAC", - "ANSI_X9_24" + "ANSI_X9_24", + "HMAC" ] }, "KeyClass":{ @@ -1782,7 +1787,11 @@ "TDES_3KEY", "AES_128", "AES_192", - "AES_256" + "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224" ] }, "Tag":{ diff --git a/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json b/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json index ae9a8ec440e..03b7aaf5d52 100644 --- a/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json +++ b/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json @@ -480,7 +480,7 @@ }, "CipherTextType":{ "type":"string", - "max":4096, + "max":4224, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true @@ -666,7 +666,7 @@ ], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                            The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                            " }, "DukptDerivationType":{ @@ -681,7 +681,7 @@ "required":["KeySerialNumber"], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                            The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                            " }, "DukptKeyDerivationType":{ @@ -710,7 +710,7 @@ "required":["KeySerialNumber"], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                            The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                            " }, "Mode":{ @@ -1318,11 +1318,11 @@ "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true }, - "HexLengthBetween10And24":{ + "HexLength16Or20Or24":{ "type":"string", "max":24, - "min":10, - "pattern":"[0-9a-fA-F]+" + "min":16, + "pattern":"(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{20}|[0-9a-fA-F]{24})" }, "HexLengthBetween2And4":{ "type":"string", @@ -1547,7 +1547,8 @@ "type":"string", "enum":[ "CMAC", - "ANSI_X9_24" + "ANSI_X9_24", + "HMAC" ] }, "KeyDerivationFunction":{ @@ -1585,7 +1586,7 @@ ], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                            The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                            " }, "DukptKeyVariant":{ @@ -1851,14 +1852,14 @@ }, "PlainTextOutputType":{ "type":"string", - "max":4096, + "max":4224, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true }, "PlainTextType":{ "type":"string", - "max":4064, + "max":4096, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true @@ -2177,7 +2178,11 @@ "TDES_3KEY", "AES_128", "AES_192", - "AES_256" + "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224" ] }, "ThrottlingException":{ diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index caeb06da604..ff6e83029ce 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -7204,6 +7204,208 @@ "min":0 }, "CertifyForMarketplace":{"type":"boolean"}, + "CfnCreateTemplateProvider":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                            A unique identifier for the template within the project.

                            " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                            The Amazon S3 URL of the CloudFormation template.

                            " + }, + "RoleARN":{ + "shape":"RoleArn", + "documentation":"

                            The IAM role that CloudFormation assumes when creating the stack.

                            " + }, + "Parameters":{ + "shape":"CfnStackCreateParameters", + "documentation":"

                            An array of CloudFormation stack parameters.

                            " + } + }, + "documentation":"

                            The CloudFormation template provider configuration for creating infrastructure resources.

                            " + }, + "CfnStackCreateParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                            The name of the CloudFormation parameter.

                            " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                            The value of the CloudFormation parameter.

                            " + } + }, + "documentation":"

                            A key-value pair that represents a parameter for the CloudFormation stack.

                            " + }, + "CfnStackCreateParameters":{ + "type":"list", + "member":{"shape":"CfnStackCreateParameter"}, + "max":180, + "min":0 + }, + "CfnStackDetail":{ + "type":"structure", + "required":["StatusMessage"], + "members":{ + "Name":{ + "shape":"CfnStackName", + "documentation":"

                            The name of the CloudFormation stack.

                            " + }, + "Id":{ + "shape":"CfnStackId", + "documentation":"

                            The unique identifier of the CloudFormation stack.

                            " + }, + "StatusMessage":{ + "shape":"CfnStackStatusMessage", + "documentation":"

                            A human-readable message about the stack's current status.

                            " + } + }, + "documentation":"

                            Details about the CloudFormation stack.

                            " + }, + "CfnStackId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"(?=.{1,256}$)arn:aws[a-z\\-]*:cloudformation:[a-z0-9\\-]*:[0-9]{12}:stack/[a-zA-Z][a-zA-Z0-9-]{0,127}/.*" + }, + "CfnStackName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[A-Za-z][A-Za-z0-9-]{0,127}" + }, + "CfnStackParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                            The name of the CloudFormation parameter.

                            " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                            The value of the CloudFormation parameter.

                            " + } + }, + "documentation":"

                            A key-value pair representing a parameter used in the CloudFormation stack.

                            " + }, + "CfnStackParameterKey":{ + "type":"string", + "max":255, + "min":1, + "pattern":".{1,255}" + }, + "CfnStackParameterValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":".{0,4096}" + }, + "CfnStackParameters":{ + "type":"list", + "member":{"shape":"CfnStackParameter"}, + "max":180, + "min":0 + }, + "CfnStackStatusMessage":{ + "type":"string", + "max":4096, + "min":1, + "pattern":".{1,4096}" + }, + "CfnStackUpdateParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                            The name of the CloudFormation parameter.

                            " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                            The value of the CloudFormation parameter.

                            " + } + }, + "documentation":"

                            A key-value pair representing a parameter used in the CloudFormation stack.

                            " + }, + "CfnStackUpdateParameters":{ + "type":"list", + "member":{"shape":"CfnStackUpdateParameter"}, + "max":180, + "min":0 + }, + "CfnTemplateName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"(?=.{1,32}$)[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "CfnTemplateProviderDetail":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                            The unique identifier of the template within the project.

                            " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                            The Amazon S3 URL of the CloudFormation template.

                            " + }, + "RoleARN":{ + "shape":"RoleArn", + "documentation":"

                            The IAM role used by CloudFormation to create the stack.

                            " + }, + "Parameters":{ + "shape":"CfnStackParameters", + "documentation":"

                            An array of CloudFormation stack parameters.

                            " + }, + "StackDetail":{ + "shape":"CfnStackDetail", + "documentation":"

                            Information about the CloudFormation stack created by the template provider.

                            " + } + }, + "documentation":"

                            Details about a CloudFormation template provider configuration and associated provisioning information.

                            " + }, + "CfnTemplateURL":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"(?=.{1,1024}$)(https)://([^/]+)/(.+)" + }, + "CfnUpdateTemplateProvider":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                            The unique identifier of the template to update within the project.

                            " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                            The Amazon S3 URL of the CloudFormation template.

                            " + }, + "Parameters":{ + "shape":"CfnStackUpdateParameters", + "documentation":"

                            An array of CloudFormation stack parameters.

                            " + } + }, + "documentation":"

                            Contains configuration details for updating an existing CloudFormation template provider in the project.

                            " + }, "Channel":{ "type":"structure", "required":[ @@ -11772,6 +11974,10 @@ "Tags":{ "shape":"TagList", "documentation":"

                            An array of key-value pairs that you want to use to organize and track your Amazon Web Services resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                            " + }, + "TemplateProviders":{ + "shape":"CreateTemplateProviderList", + "documentation":"

                            An array of template provider configurations for creating infrastructure resources for the project.

                            " } } }, @@ -11873,6 +12079,22 @@ } } }, + "CreateTemplateProvider":{ + "type":"structure", + "members":{ + "CfnTemplateProvider":{ + "shape":"CfnCreateTemplateProvider", + "documentation":"

                            The CloudFormation template provider configuration for creating infrastructure resources.

                            " + } + }, + "documentation":"

                            Contains configuration details for a template provider. Only one type of template provider can be specified.

                            " + }, + "CreateTemplateProviderList":{ + "type":"list", + "member":{"shape":"CreateTemplateProvider"}, + "max":1, + "min":1 + }, "CreateTrainingJobRequest":{ "type":"structure", "required":[ @@ -17843,6 +18065,10 @@ "shape":"ProjectStatus", "documentation":"

                            The status of the project.

                            " }, + "TemplateProviderDetails":{ + "shape":"TemplateProviderDetailList", + "documentation":"

                            An array of template providers associated with the project.

                            " + }, "CreatedBy":{"shape":"UserContext"}, "CreationTime":{ "shape":"Timestamp", @@ -35083,6 +35309,10 @@ "shape":"Timestamp", "documentation":"

                            A timestamp specifying when the project was created.

                            " }, + "TemplateProviderDetails":{ + "shape":"TemplateProviderDetailList", + "documentation":"

                            An array of template providers associated with the project.

                            " + }, "Tags":{ "shape":"TagList", "documentation":"

                            An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

                            " @@ -36451,7 +36681,7 @@ "members":{ "InstanceType":{ "shape":"TrainingInstanceType", - "documentation":"

                            The ML compute instance type.

                            SageMaker Training on Amazon Elastic Compute Cloud (EC2) P4de instances is in preview release starting December 9th, 2022.

                            Amazon EC2 P4de instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB high-performance HBM2e GPU memory, which accelerate the speed of training ML models that need to be trained on large datasets of high-resolution data. In this preview release, Amazon SageMaker supports ML training jobs on P4de instances (ml.p4de.24xlarge) to reduce model training time. The ml.p4de.24xlarge instances are available in the following Amazon Web Services Regions.

                            • US East (N. Virginia) (us-east-1)

                            • US West (Oregon) (us-west-2)

                            To request quota limit increase and start using P4de instances, contact the SageMaker Training service team through your account team.

                            " + "documentation":"

                            The ML compute instance type.

                            " }, "InstanceCount":{ "shape":"TrainingInstanceCount", @@ -39000,6 +39230,22 @@ "max":128000, "min":1 }, + "TemplateProviderDetail":{ + "type":"structure", + "members":{ + "CfnTemplateProviderDetail":{ + "shape":"CfnTemplateProviderDetail", + "documentation":"

                            Details about a CloudFormation template provider configuration and associated provisioning information.

                            " + } + }, + "documentation":"

                            Details about a template provider configuration and associated provisioning information.

                            " + }, + "TemplateProviderDetailList":{ + "type":"list", + "member":{"shape":"TemplateProviderDetail"}, + "max":1, + "min":1 + }, "TemplateUrl":{ "type":"string", "max":2048, @@ -42694,6 +42940,10 @@ "Tags":{ "shape":"TagList", "documentation":"

                            An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. In addition, the project must have tag update constraints set in order to include this parameter in the request. For more information, see Amazon Web Services Service Catalog Tag Update Constraints.

                            " + }, + "TemplateProvidersToUpdate":{ + "shape":"UpdateTemplateProviderList", + "documentation":"

                            The template providers to update in the project.

                            " } } }, @@ -42741,6 +42991,22 @@ } } }, + "UpdateTemplateProvider":{ + "type":"structure", + "members":{ + "CfnTemplateProvider":{ + "shape":"CfnUpdateTemplateProvider", + "documentation":"

                            The CloudFormation template provider configuration to update.

                            " + } + }, + "documentation":"

                            Contains configuration details for updating an existing template provider in the project.

                            " + }, + "UpdateTemplateProviderList":{ + "type":"list", + "member":{"shape":"UpdateTemplateProvider"}, + "max":1, + "min":1 + }, "UpdateTrainingJobRequest":{ "type":"structure", "required":["TrainingJobName"], diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 905816a425c..84e0c75b919 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "route53-recovery-cluster.2019-12-02": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "macie2.2020-01-01": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "appconfig.2019-10-09": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "dynamodb.2012-08-10": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "codedeploy.2014-10-06": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "inspector2.2020-06-08": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "appstream.2016-12-01": { + "acm-pca.": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "datasync.2018-11-09": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "chatbot.2017-10-11": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "mediastore-data.2017-09-01": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "detective.2018-10-26": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "security-ir.2018-05-10": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "mailmanager.2023-10-17": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "sso.2019-06-10": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "pipes.2015-10-07": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "directory-service.2015-04-16": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "migration-hub.2017-05-31": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "route-53-domains.2014-05-15": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "controltower.2018-05-10": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "healthlake.2017-07-01": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "cloud9.2017-09-23": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "iot-events-data.2018-10-23": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "sesv2.2019-09-27": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "iotsitewise.2019-12-02": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "mq.2017-11-27": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "comprehend.2017-11-27": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "iotfleethub.2020-11-03": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "iam.2010-05-08": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "redshift.2012-12-01": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "sso-admin.2020-07-20": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "apptest.2022-12-06": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "artifact.2018-05-10": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "kafka.2018-11-14": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "backup-gateway.2021-01-01": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "servicediscovery.2017-03-14": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "clouddirectory.2017-01-11": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "grafana.2020-08-18": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "sso-oidc.2019-06-10": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "codecatalyst.2022-09-28": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "cost-explorer.2017-10-25": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "schemas.2019-12-02": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "rds-data.2018-08-01": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "cloudformation.2010-05-15": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "global-accelerator.2018-08-08": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "account.2021-02-01": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "robomaker.2018-06-29": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "codepipeline.2015-07-09": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "personalize-events.2018-03-22": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "dlm.2018-01-12": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "wisdom.2020-10-19": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "lambda.2015-03-31": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "sqs.2012-11-05": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "workspaces-web.2020-07-08": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "savingsplans.2019-06-28": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "fms.2018-01-01": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "sagemaker.2017-07-24": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "kms.2014-11-01": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "timestream-write.2018-11-01": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "datazone.2018-05-10": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "translate.2017-07-01": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "securitylake.2018-05-10": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "forecastquery.2018-06-26": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "codebuild.2016-10-06": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "ebs.2019-11-02": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "workspaces.2015-04-08": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "finspace-data.2020-07-13": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "opensearch.2021-01-01": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "rekognition.2016-06-27": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "waf.2015-08-24": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "support-app.2021-08-20": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "mediapackage.2017-10-12": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "geo-places.2020-11-19": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "securityhub.2018-10-26": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "mediaconnect.2018-11-14": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "cognito-identity.2014-06-30": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "identitystore.2020-06-15": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "socialmessaging.2024-01-01": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "panorama.2019-07-24": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "snowball.2016-06-30": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "braket.2019-09-01": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "lightsail.2016-11-28": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "greengrass.2017-06-07": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "inspector-scan.2023-08-08": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "transfer.2018-11-05": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "opsworkscm.2016-11-01": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "textract.2018-06-27": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "machine-learning.2014-12-12": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "connect.2017-08-08": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "outposts.2019-12-03": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "medialive.2017-10-14": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "directory-service-data.2023-05-31": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "transcribe.2017-10-26": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "emr-serverless.2021-07-13": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "amplifybackend.2020-08-11": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "greengrassv2.2020-11-30": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "wafv2.2019-07-29": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "application-signals.2024-04-15": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "networkmonitor.2023-08-01": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "mwaa.2020-07-01": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "rds.2014-10-31": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "tnb.2008-10-21": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "fis.2020-12-01": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "service-quotas.2019-06-24": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "resource-groups.2017-11-27": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "snow-device-management.2021-08-04": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "sfn.2016-11-23": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "appflow.2020-08-23": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,9 @@ } } }, - "wellarchitected.2020-03-31": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1651,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1662,9 @@ } } }, - "cloudfront.2020-05-31": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1673,9 @@ } } }, - "chime.2018-05-01": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1684,9 @@ } } }, - "pinpoint.2016-12-01": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1695,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1706,9 @@ } } }, - "quicksight.2018-04-01": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1717,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1728,9 @@ } } }, - "workdocs.2016-05-01": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1739,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1750,9 @@ } } }, - "kendra.2019-02-03": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1761,9 @@ } } }, - "ssm.2014-11-06": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1772,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1783,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1794,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1805,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1816,9 @@ } } }, - "mediatailor.2018-04-23": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1827,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1838,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1849,9 @@ } } }, - "amp.2020-08-01": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1860,9 @@ } } }, - "s3-control.2018-08-20": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1871,9 @@ } } }, - "appsync.2017-07-25": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1882,9 @@ } } }, - "bedrock.2023-04-20": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1893,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1904,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1915,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1926,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1937,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1948,9 @@ } } }, - "launch-wizard.2018-05-10": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1959,9 @@ } } }, - "mgn.2020-02-26": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1970,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1981,9 @@ } } }, - "eks.2017-11-01": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +1992,9 @@ } } }, - "memorydb.2021-01-01": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2003,9 @@ } } }, - "m2.2021-04-28": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2014,9 @@ } } }, - "b2bi.2022-06-23": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2025,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2036,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2047,9 @@ } } }, - "qapps.2023-11-27": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2058,9 @@ } } }, - "notifications.2018-05-10": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2069,9 @@ } } }, - "config-service.2014-11-12": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2080,9 @@ } } }, - "neptune.2014-10-31": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2091,9 @@ } } }, - "pricing.2017-10-15": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2102,9 @@ } } }, - "route53resolver.2018-04-01": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2113,9 @@ } } }, - "secrets-manager.2017-10-17": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2124,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2135,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2146,9 @@ } } }, - "codeartifact.2018-09-22": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2157,9 @@ } } }, - "mediastore.2017-09-01": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2168,9 @@ } } }, - "kinesis-video.2017-09-30": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2179,9 @@ } } }, - "neptune-graph.2023-11-29": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2190,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2201,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2212,9 @@ } } }, - "networkmanager.2019-07-05": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2223,9 @@ } } }, - "qldb.2019-01-02": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2234,9 @@ } } }, - "pcs.2023-02-10": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2245,9 @@ } } }, - "workmail.2017-10-01": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2256,9 @@ } } }, - "sts.2011-06-15": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2267,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2278,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2289,9 @@ } } }, - "qconnect.2020-10-19": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2300,9 @@ } } }, - "signer.2017-08-25": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2311,9 @@ } } }, - "ses.2010-12-01": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2322,9 @@ } } }, - "redshift-data.2019-12-20": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2333,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2344,9 @@ } } }, - "storage-gateway.2013-06-30": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2355,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2366,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2377,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2388,9 @@ } } }, - "eventbridge.2015-10-07": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2399,9 @@ } } }, - "dax.2017-04-19": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2410,9 @@ } } }, - "medical-imaging.2023-07-19": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2421,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2432,9 @@ } } }, - "imagebuilder.2019-12-02": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2443,9 @@ } } }, - "evidently.2021-02-01": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2454,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2465,9 @@ } } }, - "codestar-connections.2019-12-01": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2476,9 @@ } } }, - "auditmanager.2017-07-25": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2487,9 @@ } } }, - "cloudhsm.2014-05-30": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2498,9 @@ } } }, - "ivs.2020-07-14": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2509,9 @@ } } }, - "iot-events.2018-07-27": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2520,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2531,9 @@ } } }, - "inspector.2016-02-16": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2542,9 @@ } } }, - "billingconductor.2021-07-30": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2553,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2564,9 @@ } } }, - "batch.2016-08-10": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2575,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2586,9 @@ } } }, - "app-mesh.2019-01-25": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2597,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2608,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2619,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2630,9 @@ } } }, - "service-catalog.2015-12-10": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2641,9 @@ } } }, - "ecs.2014-11-13": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2652,9 @@ } } }, - "billing.2023-09-07": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2663,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2674,9 @@ } } }, - "mediaconvert.2017-08-29": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2685,9 @@ } } }, - "ivschat.2020-07-14": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2696,9 @@ } } }, - "emr.2009-03-31": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2707,9 @@ } } }, - "route-53.2013-04-01": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2718,9 @@ } } }, - "synthetics.2017-10-11": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2729,9 @@ } } }, - "cloudsearch.2013-01-01": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2740,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2751,9 @@ } } }, - "rbin.2021-06-15": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2762,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2773,9 @@ } } }, - "rum.2018-05-10": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2784,9 @@ } } }, - "pi.2018-02-27": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2795,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2806,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2817,9 @@ } } }, - "acm-pca.": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2828,9 @@ } } }, - "frauddetector.2019-11-15": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2839,9 @@ } } }, - "auto-scaling.2011-01-01": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2850,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2861,9 @@ } } }, - "repostspace.2022-05-13": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2872,9 @@ } } }, - "appconfigdata.2021-11-11": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2883,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2894,9 @@ } } }, - "freetier.2023-09-07": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2905,9 @@ } } }, - "xray.2016-04-12": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2916,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2927,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2938,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2949,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2960,9 @@ } } }, - "waf-regional.2016-11-28": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2971,9 @@ } } }, - "gamelift.2015-10-01": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2982,9 @@ } } }, - "backupsearch.2018-05-10": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +2993,9 @@ } } }, - "devops-guru.2020-12-01": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3004,9 @@ } } }, - "voice-id.2021-09-27": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3015,9 @@ } } }, - "ram.2018-01-04": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3026,9 @@ } } }, - "sms.2016-10-24": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3037,9 @@ } } }, - "evs.2023-07-27": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3048,9 @@ } } }, - "docdb.2014-10-31": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3059,9 @@ } } }, - "connectparticipant.2018-09-07": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3070,9 @@ } } }, - "entityresolution.2018-05-10": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3081,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3092,9 @@ } } }, - "ecr-public.2020-10-30": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3103,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3114,9 @@ } } }, - "supplychain.2024-01-01": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3125,9 @@ } } }, - "emr-containers.2020-10-01": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3136,9 @@ } } }, - "codeguru-security.2018-05-10": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3147,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3158,9 @@ } } }, - "s3tables.2018-05-10": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3169,9 @@ } } }, - "neptunedata.2023-08-01": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3180,9 @@ } } }, - "deadline.2023-10-12": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3191,9 @@ } } }, - "location.2020-11-19": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3202,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3213,9 @@ } } }, - "cloudtrail.2013-11-01": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3224,9 @@ } } }, - "personalize.2018-05-22": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3235,9 @@ } } }, - "data-pipeline.2012-10-29": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3246,9 @@ } } }, - "groundstation.2019-05-23": { + "aiops.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3257,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3268,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3279,9 @@ } } }, - "application-insights.2018-11-25": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3290,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3301,9 @@ } } }, - "glacier.2012-06-01": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3312,9 @@ } } }, - "iotanalytics.2017-11-27": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3323,9 @@ } } }, - "ssm-sap.2018-05-10": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3334,9 @@ } } }, - "lookoutvision.2020-11-20": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3345,9 @@ } } }, - "route53profiles.2018-05-10": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3356,9 @@ } } }, - "codeconnections.2023-12-01": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3367,9 @@ } } }, - "direct-connect.2012-10-25": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3378,9 @@ } } }, - "api-gateway.2015-07-09": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3389,9 @@ } } }, - "polly.2016-06-10": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3400,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3411,9 @@ } } }, - "firehose.2015-08-04": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3422,9 @@ } } }, - "mturk.2017-01-17": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3433,9 @@ } } }, - "eks-auth.2023-11-26": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3444,9 @@ } } }, - "invoicing.2024-12-01": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3455,9 @@ } } }, - "budgets.2016-10-20": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3466,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3477,9 @@ } } }, - "support.2013-04-15": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3488,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3499,9 @@ } } }, - "sns.2010-03-31": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3510,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3521,9 @@ } } }, - "glue.2017-03-31": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3532,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3543,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3554,9 @@ } } }, - "lakeformation.2017-03-31": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3565,9 @@ } } }, - "resiliencehub.2020-04-30": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3576,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3587,9 @@ } } }, - "qldb-session.2019-07-11": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3598,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3609,9 @@ } } }, - "customer-profiles.2020-08-15": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3620,9 @@ } } }, - "organizations.2016-11-28": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3631,9 @@ } } }, - "oam.2022-06-10": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3642,9 @@ } } }, - "acm.2015-12-08": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3653,9 @@ } } }, - "geo-maps.2020-11-19": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3664,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3675,9 @@ } } }, - "keyspaces.2022-02-10": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3686,9 @@ } } }, - "shield.2016-06-02": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3697,9 @@ } } }, - "taxsettings.2018-05-10": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3708,9 @@ } } }, - "controlcatalog.2018-05-10": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3719,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3730,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3741,9 @@ } } }, - "dsql.2018-05-10": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3752,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3763,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3774,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3785,9 @@ } } }, - "qbusiness.2023-11-27": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3796,9 @@ } } }, - "s3.2006-03-01": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3807,9 @@ } } }, - "cloudwatch.2010-08-01": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3818,9 @@ } } }, - "cleanrooms.2022-02-17": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3829,9 @@ } } }, - "appfabric.2023-05-19": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3840,9 @@ } } }, - "apprunner.2020-05-15": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3851,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3862,9 @@ } } }, - "aiops.2018-05-10": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3873,9 @@ } } }, - "guardduty.2017-11-28": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3884,9 @@ } } }, - "ecr.2015-09-21": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3895,9 @@ } } }, - "opsworks.2013-02-18": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3906,9 @@ } } }, - "fsx.2018-03-01": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3917,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3928,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3939,9 @@ } } }, - "forecast.2018-06-26": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3950,9 @@ } } }, - "device-farm.2015-06-23": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3961,9 @@ } } }, - "databrew.2017-07-25": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3972,9 @@ } } }, - "internetmonitor.2021-06-03": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3983,9 @@ } } }, - "iot.2015-05-28": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +3994,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4005,9 @@ } } }, - "kinesis.2013-12-02": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4016,9 @@ } } }, - "license-manager.2018-08-01": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4027,9 @@ } } }, - "scheduler.2021-06-30": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4038,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4049,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4060,9 @@ } } }, - "appintegrations.2020-07-29": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4071,9 @@ } } }, - "proton.2020-07-20": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4082,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4093,9 @@ } } }, - "dataexchange.2017-07-25": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4104,9 @@ } } }, - "iot-wireless.2020-11-22": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4115,9 @@ } } }, - "elasticache.2015-02-02": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4126,9 @@ } } }, - "codecommit.2015-04-13": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4137,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4148,9 @@ } } }, - "database-migration-service.2016-01-01": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4159,9 @@ } } }, - "backup.2018-11-15": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4170,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4181,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4192,9 @@ } } }, - "connectcases.2022-10-03": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4203,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4214,9 @@ } } }, - "geo-routes.2020-11-19": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4225,9 @@ } } }, - "omics.2022-11-28": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4236,9 @@ } } }, - "timestream-query.2018-11-01": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4247,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4258,9 @@ } } }, - "athena.2017-05-18": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4269,9 @@ } } }, - "finspace.2021-03-12": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4280,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4291,9 @@ } } }, - "mpa.2022-07-26": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4302,9 @@ } } }, - "ec2.2016-11-15": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4313,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4324,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4335,9 @@ } } }, - "health.2016-08-04": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4346,9 @@ } } }, - "drs.2020-02-26": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4357,9 @@ } } }, - "managedblockchain.2018-09-24": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4368,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4381,7 +4381,7 @@ }, "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4390,9 @@ } } }, - "efs.2015-02-01": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4401,9 @@ } } }, - "amplify.2017-07-25": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4412,9 @@ } } }, - "network-firewall.2020-11-12": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4423,9 @@ } } }, - "s3outposts.2017-07-25": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4434,9 @@ } } }, - "osis.2022-01-01": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4445,9 @@ } } }, - "swf.2012-01-25": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4456,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4467,9 +4467,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4478,9 +4478,9 @@ } } }, - "cognito-sync.2014-06-30": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src1791027495/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { From c8ed59ab702418615a0acb98ec26b8a23b45953e Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Fri, 20 Jun 2025 18:09:24 +0000 Subject: [PATCH 22/26] Update API model --- .../smithy/api-descriptions/bedrock.json | 124 ++ .../smithy/api-descriptions/ecs.json | 24 +- .../smithy/api-descriptions/geo-places.json | 1051 ++++++++++++----- .../smithy/api-descriptions/glue.json | 79 ++ .../smithy/api-descriptions/mediaconvert.json | 10 +- 5 files changed, 1014 insertions(+), 274 deletions(-) diff --git a/tools/code-generation/smithy/api-descriptions/bedrock.json b/tools/code-generation/smithy/api-descriptions/bedrock.json index da9bc9d4032..afe39557972 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock.json @@ -6845,6 +6845,56 @@ } } }, + "com.amazonaws.bedrock#GuardrailContentFiltersTier": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierName", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters.

                            " + } + }, + "com.amazonaws.bedrock#GuardrailContentFiltersTierConfig": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierName", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                            " + } + }, + "com.amazonaws.bedrock#GuardrailContentFiltersTierName": { + "type": "enum", + "members": { + "CLASSIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLASSIC" + } + }, + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + } + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#GuardrailContentPolicy": { "type": "structure", "members": { @@ -6853,6 +6903,12 @@ "traits": { "smithy.api#documentation": "

                            Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                            " } + }, + "tier": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTier", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters.

                            " + } } }, "traits": { @@ -6868,6 +6924,12 @@ "smithy.api#documentation": "

                            Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                            ", "smithy.api#required": {} } + }, + "tierConfig": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierConfig", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for content filters.

                            " + } } }, "traits": { @@ -8201,6 +8263,12 @@ "smithy.api#documentation": "

                            A list of policies related to topics that the guardrail should deny.

                            ", "smithy.api#required": {} } + }, + "tier": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTier", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters.

                            " + } } }, "traits": { @@ -8216,6 +8284,12 @@ "smithy.api#documentation": "

                            A list of policies related to topics that the guardrail should deny.

                            ", "smithy.api#required": {} } + }, + "tierConfig": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierConfig", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters.

                            " + } } }, "traits": { @@ -8257,6 +8331,56 @@ } } }, + "com.amazonaws.bedrock#GuardrailTopicsTier": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierName", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters.

                            " + } + }, + "com.amazonaws.bedrock#GuardrailTopicsTierConfig": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierName", + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The tier that your guardrail uses for denied topic filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                            " + } + }, + "com.amazonaws.bedrock#GuardrailTopicsTierName": { + "type": "enum", + "members": { + "CLASSIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLASSIC" + } + }, + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + } + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#GuardrailVersion": { "type": "string", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/ecs.json b/tools/code-generation/smithy/api-descriptions/ecs.json index 8e290d0909a..236782d3e5c 100644 --- a/tools/code-generation/smithy/api-descriptions/ecs.json +++ b/tools/code-generation/smithy/api-descriptions/ecs.json @@ -2314,7 +2314,7 @@ "image": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

                            The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the docker\n\t\t\tcontainer create command and the IMAGE parameter of docker run.

                            \n
                              \n
                            • \n

                              When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

                              \n
                            • \n
                            • \n

                              Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

                              \n
                            • \n
                            • \n

                              Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

                              \n
                            • \n
                            • \n

                              Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

                              \n
                            • \n
                            • \n

                              Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

                              \n
                            • \n
                            " + "smithy.api#documentation": "

                            The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . For images using tags (repository-url/image:tag), up to 255 characters total are allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs (#). For images using digests (repository-url/image@digest), the 255 character limit applies only to the repository URL and image name (everything before the @ sign). The only supported hash function is sha256, and the hash value after sha256: must be exactly 64 characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the docker\n\t\t\tcontainer create command and the IMAGE parameter of docker run.

                            \n
                              \n
                            • \n

                              When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

                              \n
                            • \n
                            • \n

                              Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

                              \n
                            • \n
                            • \n

                              Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

                              \n
                            • \n
                            • \n

                              Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

                              \n
                            • \n
                            • \n

                              Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

                              \n
                            • \n
                            " } }, "repositoryCredentials": { @@ -3239,7 +3239,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

                            \n

                            There are two service scheduler strategies available:

                            \n
                              \n
                            • \n

                              \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                              \n
                            • \n
                            • \n

                              \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                              \n
                            • \n
                            \n

                            You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

                            \n

                            If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

                            \n

                            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

                            \n

                            If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

                            \n

                            When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                            \n

                            When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n

                            ", + "smithy.api#documentation": "

                            Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

                            \n

                            There are two service scheduler strategies available:

                            \n
                              \n
                            • \n

                              \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                              \n
                            • \n
                            • \n

                              \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                              \n
                            • \n
                            \n

                            You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

                            \n

                            If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

                            \n

                            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

                            \n

                            If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

                            \n

                            When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                            \n

                            When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n

                            ", "smithy.api#examples": [ { "title": "To create a new service", @@ -9156,6 +9156,18 @@ "smithy.api#enumValue": "WINDOWS_SERVER_2022_FULL" } }, + "WINDOWS_SERVER_2025_CORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WINDOWS_SERVER_2025_CORE" + } + }, + "WINDOWS_SERVER_2025_FULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WINDOWS_SERVER_2025_FULL" + } + }, "WINDOWS_SERVER_20H2_CORE": { "target": "smithy.api#Unit", "traits": { @@ -10606,7 +10618,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Starts a new task using the specified task definition.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            \n

                            Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

                            \n

                            To manage eventual consistency, you can do the following:

                            \n
                              \n
                            • \n

                              Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

                              \n
                            • \n
                            • \n

                              Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

                              \n
                            • \n
                            \n

                            If you get a ConflictException error, the RunTask request could\n\t\t\tnot be processed due to conflicts. The provided clientToken is already in\n\t\t\tuse with a different RunTask request. The resourceIds are the\n\t\t\texisting task ARNs which are already associated with the clientToken.

                            \n

                            To fix this issue:

                            \n
                              \n
                            • \n

                              Run RunTask with a unique clientToken.

                              \n
                            • \n
                            • \n

                              Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

                              \n
                            • \n
                            \n

                            If you get a ClientExceptionerror, the RunTask could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.

                            ", + "smithy.api#documentation": "

                            Starts a new task using the specified task definition.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            \n

                            Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

                            \n

                            To manage eventual consistency, you can do the following:

                            \n
                              \n
                            • \n

                              Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

                              \n
                            • \n
                            • \n

                              Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

                              \n
                            • \n
                            \n

                            If you get a ConflictException error, the RunTask request could\n\t\t\tnot be processed due to conflicts. The provided clientToken is already in\n\t\t\tuse with a different RunTask request. The resourceIds are the\n\t\t\texisting task ARNs which are already associated with the clientToken.

                            \n

                            To fix this issue:

                            \n
                              \n
                            • \n

                              Run RunTask with a unique clientToken.

                              \n
                            • \n
                            • \n

                              Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

                              \n
                            • \n
                            \n

                            If you get a ClientExceptionerror, the RunTask could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.

                            ", "smithy.api#examples": [ { "title": "To run a task on your default cluster", @@ -12231,7 +12243,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            ", + "smithy.api#documentation": "

                            Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n \n

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            \n
                            \n

                            Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            ", "smithy.api#examples": [ { "title": "To start a new task", @@ -15221,7 +15233,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Modifies the parameters of a service.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n

                            For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update\n\t\t\tyour volume configurations and trigger a new deployment.\n\t\t\t\tvolumeConfigurations is only supported for REPLICA service and not\n\t\t\tDAEMON service. If you leave volumeConfigurations\n null, it doesn't trigger a new deployment. For more infomation on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

                            \n

                            For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

                            \n

                            You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

                            \n \n

                            If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

                            \n
                            \n

                            You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

                            \n
                              \n
                            • \n

                              If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

                              \n
                            • \n
                            • \n

                              The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

                              \n
                            • \n
                            \n

                            When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

                            \n

                            When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

                            \n
                              \n
                            • \n

                              Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

                              \n
                            • \n
                            • \n

                              By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

                              \n
                                \n
                              • \n

                                Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

                                \n
                              • \n
                              • \n

                                Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

                                \n
                              • \n
                              \n
                            • \n
                            \n

                            When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

                            \n
                              \n
                            • \n

                              Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

                              \n
                            • \n
                            • \n

                              Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            Modifies the parameters of a service.

                            \n \n

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            \n
                            \n

                            For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update\n\t\t\tyour volume configurations and trigger a new deployment.\n\t\t\t\tvolumeConfigurations is only supported for REPLICA service and not\n\t\t\tDAEMON service. If you leave volumeConfigurations\n null, it doesn't trigger a new deployment. For more information on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

                            \n

                            For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

                            \n

                            You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

                            \n

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            \n

                            If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

                            \n \n

                            If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

                            \n
                            \n

                            You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

                            \n
                              \n
                            • \n

                              If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

                              \n
                            • \n
                            • \n

                              The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

                              \n
                            • \n
                            \n

                            When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

                            \n

                            When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

                            \n
                              \n
                            • \n

                              Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

                              \n
                            • \n
                            • \n

                              By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

                              \n
                                \n
                              • \n

                                Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

                                \n
                              • \n
                              • \n

                                Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

                                \n
                              • \n
                              \n
                            • \n
                            \n

                            When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

                            \n
                              \n
                            • \n

                              Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

                              \n
                            • \n
                            • \n

                              Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

                              \n
                            • \n
                            ", "smithy.api#examples": [ { "title": "To change the number of tasks in a service", @@ -15403,7 +15415,7 @@ "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

                            The details of a capacity provider strategy. You can set a capacity provider when you\n\t\t\tcreate a cluster, run a task, or update a service.

                            \n

                            When you use Fargate, the capacity providers are FARGATE or\n\t\t\t\tFARGATE_SPOT.

                            \n

                            When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                            \n

                            You can change capacity providers for rolling deployments and blue/green\n\t\t\tdeployments.

                            \n

                            The following list provides the valid transitions:

                            \n
                              \n
                            • \n

                              Update the Fargate launch type to an EC2 capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Amazon EC2 launch type to a Fargate capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Fargate capacity provider to an EC2 capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                              \n
                            • \n
                            • \n

                              Update the EC2 or Fargate capacity provider back to the launch type.

                              \n

                              Pass an empty list in the capacityProvider parameter.

                              \n
                            • \n
                            \n

                            For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                            " + "smithy.api#documentation": "

                            The details of a capacity provider strategy. You can set a capacity provider when you\n\t\t\tcreate a cluster, run a task, or update a service.

                            \n

                            When you use Fargate, the capacity providers are FARGATE or\n\t\t\t\tFARGATE_SPOT.

                            \n

                            When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                            \n

                            You can change capacity providers for rolling deployments and blue/green\n\t\t\tdeployments.

                            \n

                            The following list provides the valid transitions:

                            \n
                              \n
                            • \n

                              Update the Fargate launch type to an Auto Scaling group capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Amazon EC2 launch type to a Fargate capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Fargate capacity provider to an Auto Scaling group capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                              \n
                            • \n
                            • \n

                              Update the Auto Scaling group or Fargate capacity provider back to the launch type.

                              \n

                              Pass an empty list in the capacityProviderStrategy parameter.

                              \n
                            • \n
                            \n

                            For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                            " } }, "deploymentConfiguration": { diff --git a/tools/code-generation/smithy/api-descriptions/geo-places.json b/tools/code-generation/smithy/api-descriptions/geo-places.json index a14d4b57e97..14806bcab87 100644 --- a/tools/code-generation/smithy/api-descriptions/geo-places.json +++ b/tools/code-generation/smithy/api-descriptions/geo-places.json @@ -48,7 +48,7 @@ "type": "structure", "members": { "Restricted": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            The restriction.

                            " } @@ -61,7 +61,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Indicates if the access location is restricted. Index correlates to that of an access\n point and indicates if access through this point has some form of restriction.

                            " + "smithy.api#documentation": "

                            Indicates if the access location is restricted. Index correlates to that of an access point and indicates if access through this point has some form of restriction.

                            " } }, "com.amazonaws.geoplaces#AccessRestrictionList": { @@ -80,9 +80,9 @@ "type": "structure", "members": { "Label": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Assembled address value built out of the address components, according to the regional\n postal rules. This is the correctly formatted address.

                            ", + "smithy.api#documentation": "

                            Assembled address value built out of the address components, according to the regional postal rules. This is the correctly formatted address.

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -98,7 +98,7 @@ "Region": { "target": "com.amazonaws.geoplaces#Region", "traits": { - "smithy.api#documentation": "

                            The region or state results should be present in.

                            \n

                            Example: North Rhine-Westphalia.

                            " + "smithy.api#documentation": "

                            The region or state results should be present in.

                            Example: North Rhine-Westphalia.

                            " } }, "SubRegion": { @@ -108,9 +108,9 @@ } }, "Locality": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The locality or city of the address.

                            \n

                            Example: Vancouver.

                            ", + "smithy.api#documentation": "

                            The city or locality of the address.

                            Example: Vancouver.

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -118,7 +118,7 @@ } }, "District": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The district or division of a locality associated with this address.

                            ", "smithy.api#length": { @@ -128,9 +128,9 @@ } }, "SubDistrict": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            A subdivision of a district.

                            \n

                            Example: Minden-Lübbecke.

                            ", + "smithy.api#documentation": "

                            A subdivision of a district.

                            Example: Minden-Lübbecke.

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -138,9 +138,9 @@ } }, "PostalCode": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as\n post code, postcode, or ZIP code, for which the result should posses.

                            ", + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            ", "smithy.api#length": { "min": 0, "max": 50 @@ -148,9 +148,9 @@ } }, "Block": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Name of the block.

                            \n

                            Example: Sunny Mansion 203 block: 2 Chome\n

                            ", + "smithy.api#documentation": "

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -158,9 +158,9 @@ } }, "SubBlock": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Name of sub-block.

                            \n

                            Example: Sunny Mansion 203 sub-block: 4\n

                            ", + "smithy.api#documentation": "

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -168,13 +168,13 @@ } }, "Intersection": { - "target": "com.amazonaws.geoplaces#IntersectionList", + "target": "com.amazonaws.geoplaces#IntersectionStreetList", "traits": { - "smithy.api#documentation": "

                            Name of the streets in the intersection.

                            \n

                            Example: [\"Friedrichstraße\",\"Unter den Linden\"]\n

                            " + "smithy.api#documentation": "

                            Name of the streets in the intersection.

                            Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                            " } }, "Street": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The name of the street results should be present in.

                            ", "smithy.api#length": { @@ -186,11 +186,11 @@ "StreetComponents": { "target": "com.amazonaws.geoplaces#StreetComponentsList", "traits": { - "smithy.api#documentation": "

                            Components of the street.

                            \n

                            Example: Younge from the \"Younge street\".

                            " + "smithy.api#documentation": "

                            Components of the street.

                            Example: Younge from the \"Younge street\".

                            " } }, "AddressNumber": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The number that identifies an address within a street.

                            ", "smithy.api#length": { @@ -200,7 +200,7 @@ } }, "Building": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The name of the building at the address.

                            ", "smithy.api#length": { @@ -208,6 +208,12 @@ "max": 200 } } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentList", + "traits": { + "smithy.api#documentation": "

                            Components that correspond to secondary identifiers on an Address. Secondary address components include information such as Suite or Unit Number, Building, or Floor.

                            " + } } }, "traits": { @@ -228,7 +234,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            \n

                            Example: North Rhine-Westphalia.

                            " + "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            Example: North Rhine-Westphalia.

                            " } }, "SubRegion": { @@ -242,7 +248,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            The city or locality results should be present in.

                            \n

                            Example: Vancouver.

                            " + "smithy.api#documentation": "

                            The city or locality results should be present in.

                            Example: Vancouver.

                            " } }, "District": { @@ -256,34 +262,34 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            A subdivision of a district.

                            \n

                            Example: Minden-Lübbecke\n

                            " + "smithy.api#documentation": "

                            A subdivision of a district.

                            Example: Minden-Lübbecke

                            " } }, "PostalCode": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as\n post code, postcode, or ZIP code, for which the result should posses.

                            " + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            " } }, "Block": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            Name of the block.

                            \n

                            Example: Sunny Mansion 203 block: 2 Chome\n

                            " + "smithy.api#documentation": "

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            " } }, "SubBlock": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            Name of sub-block.

                            \n

                            Example: Sunny Mansion 203 sub-block: 4\n

                            " + "smithy.api#documentation": "

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " } }, "Intersection": { "target": "com.amazonaws.geoplaces#MatchScoreList", "traits": { - "smithy.api#documentation": "

                            Name of the streets in the intersection.

                            \n

                            Example: [\"Friedrichstraße\",\"Unter den Linden\"]\n

                            ", + "smithy.api#documentation": "

                            Name of the streets in the intersection.

                            Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                            ", "smithy.api#length": { "min": 1, "max": 2 @@ -303,10 +309,16 @@ "smithy.api#default": 0, "smithy.api#documentation": "

                            The name of the building at the address.

                            " } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScoreList", + "traits": { + "smithy.api#documentation": "

                            Match scores for the secondary address components in the result.

                            " + } } }, "traits": { - "smithy.api#documentation": "

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input\n tokens are recognized and matched.

                            " + "smithy.api#documentation": "

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                            " } }, "com.amazonaws.geoplaces#AddressComponentPhonemes": { @@ -333,7 +345,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                            How to pronounce the city or locality results should be present in.

                            \n

                            Example: Vancouver.

                            " + "smithy.api#documentation": "

                            How to pronounce the city or locality results should be present in.

                            Example: Vancouver.

                            " } }, "District": { @@ -345,7 +357,7 @@ "SubDistrict": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                            How to pronounce the sub-district or division of a city results should be present\n in.

                            " + "smithy.api#documentation": "

                            How to pronounce the sub-district or division of a city results should be present in.

                            " } }, "Block": { @@ -407,7 +419,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            The autocomplete operation speeds up and increases the accuracy of entering addresses by providing a list of address candidates matching a partially entered address. Results are sorted from most to least matching. Filtering and biasing can be used to increase the relevance of the results if additional search context is known

                            ", + "smithy.api#documentation": "

                            Autocomplete completes potential places and addresses as the user types, based on the partial input. The API enhances the efficiency and accuracy of address by completing query based on a few entered keystrokes. It helps you by completing partial queries with valid address completion. Also, the API supports the filtering of results based on geographic location, country, or specific place types, and can be tailored using optional parameters like language and political views.

                            ", "smithy.api#http": { "uri": "/autocomplete", "method": "POST" @@ -460,7 +472,7 @@ "Label": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            Indicates the starting and ending indexes for result items where they are identified to match the input query.\n This should be used to provide emphasis to output display to make selecting the correct result from a list easier for end users.

                            " + "smithy.api#documentation": "

                            Indicates the starting and ending indexes for result items where they are identified to match the input query. This should be used to provide emphasis to output display to make selecting the correct result from a list easier for end users.

                            " } }, "Country": { @@ -472,7 +484,7 @@ "Region": { "target": "com.amazonaws.geoplaces#RegionHighlights", "traits": { - "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            \n

                            Example: North Rhine-Westphalia.

                            " + "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            Example: North Rhine-Westphalia.

                            " } }, "SubRegion": { @@ -484,7 +496,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            The city or locality results should be present in.

                            \n

                            Example: Vancouver.

                            " + "smithy.api#documentation": "

                            The city or locality results should be present in.

                            Example: Vancouver.

                            " } }, "District": { @@ -508,13 +520,13 @@ "Block": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            Name of the block. Example: Sunny Mansion 203\nblock: 2 Chome

                            " + "smithy.api#documentation": "

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            " } }, "SubBlock": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                            " + "smithy.api#documentation": "

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " } }, "Intersection": { @@ -526,7 +538,7 @@ "PostalCode": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            " + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            " } }, "AddressNumber": { @@ -552,7 +564,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Circle": { @@ -572,7 +584,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Autocomplete structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            Autocomplete structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "com.amazonaws.geoplaces#AutocompleteFilterPlaceType": { @@ -641,7 +653,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            ", + "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 1, "max": 200 @@ -663,25 +675,25 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position in longitude and latitude that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                            \n \n

                            The fields BiasPosition, FilterBoundingBox, and\n FilterCircle are mutually exclusive.

                            \n
                            " + "smithy.api#documentation": "

                            The position in longitude and latitude that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            " } }, "Filter": { "target": "com.amazonaws.geoplaces#AutocompleteFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "PostalCodeMode": { "target": "com.amazonaws.geoplaces#PostalCodeMode", "traits": { - "smithy.api#documentation": "

                            The PostalCodeMode affects how postal code results are returned. If a\n postal code spans multiple localities and this value is empty, \n partial district or locality information may be returned under a single postal code result entry. If it's populated with the value cityLookup, all cities in that\n postal code are returned.

                            " + "smithy.api#documentation": "

                            The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value EnumerateSpannedLocalities, all cities in that postal code are returned.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#AutocompleteAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters that can be requested for each result.

                            " } }, "Language": { @@ -693,19 +705,19 @@ "PoliticalView": { "target": "com.amazonaws.geoplaces#CountryCode", "traits": { - "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " + "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            The following political views are currently supported:

                            • ARG: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands

                            • EGY: Egypt's view on Bir Tawil

                            • IND: India's view on Gilgit-Baltistan

                            • KEN: Kenya's view on the Ilemi Triangle

                            • MAR: Morocco's view on Western Sahara

                            • RUS: Russia's view on Crimea

                            • SDN: Sudan's view on the Halaib Triangle

                            • SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                            • SUR: Suriname's view on the Courantyne Headwaters and Lawa Headwaters

                            • SYR: Syria's view on the Golan Heights

                            • TUR: Turkey's view on Cyprus and Northern Cyprus

                            • TZA: Tanzania's view on Lake Malawi

                            • URY: Uruguay's view on Rincon de Artigas

                            • VNM: Vietnam's view on the Paracel Islands and Spratly Islands

                            " } }, "IntendedUse": { "target": "com.amazonaws.geoplaces#AutocompleteIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left\n empty.

                            " + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -720,7 +732,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -740,12 +752,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place associated with this result. This can be used to look up additional details about the result via GetPlace.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -758,7 +770,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            A formatted string for display when presenting this result to an end user.

                            ", "smithy.api#length": { @@ -836,7 +848,7 @@ "type": "structure", "members": { "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The business chain name.

                            ", "smithy.api#length": { @@ -846,7 +858,7 @@ } }, "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The Business Chain Id.

                            ", "smithy.api#length": { @@ -876,7 +888,7 @@ "type": "structure", "members": { "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The category ID.

                            ", "smithy.api#length": { @@ -887,7 +899,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The category name.

                            ", "smithy.api#length": { @@ -898,7 +910,7 @@ } }, "LocalizedName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Localized name of the category type.

                            ", "smithy.api#length": { @@ -908,7 +920,7 @@ } }, "Primary": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean which indicates if this category is the primary offered by the place.

                            " } @@ -937,7 +949,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                            Indicates the starting and ending index of the title in the text query that match the found title.

                            " + "smithy.api#documentation": "

                            Indicates the match score of the title in the text query that match the found title.

                            " } }, "Address": { @@ -948,14 +960,14 @@ } }, "traits": { - "smithy.api#documentation": "

                            Indicates how well the input matches the returned element.\n It is equal to 1 if all input tokens are recognized and matched to the title in the result.

                            " + "smithy.api#documentation": "

                            Indicates how well the returned title and address components matches the input TextQuery. For each component a score is provied with 1 indicating all tokens were matched and 0 indicating no tokens were matched.

                            " } }, "com.amazonaws.geoplaces#ContactDetails": { "type": "structure", "members": { "Label": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The contact's label.

                            ", "smithy.api#length": { @@ -965,7 +977,7 @@ } }, "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The contact's value.

                            ", "smithy.api#length": { @@ -1045,7 +1057,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Name of the country.

                            ", "smithy.api#length": { @@ -1066,7 +1078,8 @@ "min": 2, "max": 3 }, - "smithy.api#pattern": "^([A-Z]{2}|[A-Z]{3})$" + "smithy.api#pattern": "^([A-Z]{2}|[A-Z]{3})$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCode2": { @@ -1076,7 +1089,8 @@ "min": 2, "max": 2 }, - "smithy.api#pattern": "^[A-Z]{2}$" + "smithy.api#pattern": "^[A-Z]{2}$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCode3": { @@ -1086,7 +1100,8 @@ "min": 3, "max": 3 }, - "smithy.api#pattern": "^[A-Z]{3}$" + "smithy.api#pattern": "^[A-Z]{3}$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCodeList": { @@ -1129,7 +1144,8 @@ "smithy.api#range": { "min": 0, "max": 4294967295 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#DurationSeconds": { @@ -1139,13 +1155,14 @@ "smithy.api#range": { "min": 0, "max": 4294967295 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#FilterBusinessChainList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1163,7 +1180,7 @@ "com.amazonaws.geoplaces#FilterCategoryList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1209,7 +1226,7 @@ "com.amazonaws.geoplaces#FilterFoodTypeList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1228,7 +1245,7 @@ "type": "structure", "members": { "LocalizedName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Localized name of the food type.

                            ", "smithy.api#length": { @@ -1239,7 +1256,7 @@ } }, "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The Food Type Id.

                            ", "smithy.api#length": { @@ -1249,9 +1266,9 @@ } }, "Primary": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

                            Boolean which indicates if this food type is the primary offered by the place. For\n example, if a location serves fast food, but also dessert, he primary would likely be fast\n food.

                            " + "smithy.api#documentation": "

                            Boolean which indicates if this food type is the primary offered by the place. For example, if a location serves fast food, but also dessert, he primary would likely be fast food.

                            " } } }, @@ -1295,7 +1312,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            The Geocode action allows you to obtain coordinates, addresses, and other\n information about places.

                            ", + "smithy.api#documentation": "

                            Geocode converts a textual address or place into geographic coordinates. You can obtain geographic coordinates, address component, and other related information. It supports flexible queries, including free-form text or structured queries with components like street names, postal codes, and regions. The Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                            ", "smithy.api#http": { "uri": "/geocode", "method": "POST" @@ -1329,6 +1346,14 @@ { "name": "ACCESS", "value": "Access" + }, + { + "name": "SECONDARY_ADDRESSES", + "value": "SecondaryAddresses" + }, + { + "name": "INTERSECTIONS", + "value": "Intersections" } ] } @@ -1363,7 +1388,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Geocode structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            Geocode structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "com.amazonaws.geoplaces#GeocodeFilterPlaceType": { @@ -1394,7 +1419,8 @@ "name": "INTERPOLATED_ADDRESS", "value": "InterpolatedAddress" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#GeocodeFilterPlaceTypeList": { @@ -1427,6 +1453,112 @@ ] } }, + "com.amazonaws.geoplaces#GeocodeParsedQuery": { + "type": "structure", + "members": { + "Title": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            " + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#GeocodeParsedQueryAddressComponents", + "traits": { + "smithy.api#documentation": "

                            The place address.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Parsed components in the provided QueryText.

                            " + } + }, + "com.amazonaws.geoplaces#GeocodeParsedQueryAddressComponents": { + "type": "structure", + "members": { + "Country": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the country that the results will be present in.

                            " + } + }, + "Region": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The region or state results should be present in.

                            Example: North Rhine-Westphalia.

                            " + } + }, + "SubRegion": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The sub-region or county for which results should be present in.

                            " + } + }, + "Locality": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The city or locality of the address.

                            Example: Vancouver.

                            " + } + }, + "District": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The district or division of a city the results should be present in.

                            " + } + }, + "SubDistrict": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            A subdivision of a district.

                            Example: Minden-Lübbecke.

                            " + } + }, + "PostalCode": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            " + } + }, + "Block": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            " + } + }, + "SubBlock": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " + } + }, + "Street": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The name of the street results should be present in.

                            " + } + }, + "AddressNumber": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The number that identifies an address within a street.

                            " + } + }, + "Building": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                            The name of the building at the address.

                            " + } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponentList", + "traits": { + "smithy.api#documentation": "

                            Parsed secondary address components from the provided query text.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Parsed address components in the provided QueryText.

                            " + } + }, "com.amazonaws.geoplaces#GeocodeQueryComponents": { "type": "structure", "members": { @@ -1444,7 +1576,7 @@ "Region": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            \n

                            Example: North Rhine-Westphalia.

                            ", + "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            Example: North Rhine-Westphalia.

                            ", "smithy.api#length": { "min": 1, "max": 100 @@ -1466,7 +1598,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            City or locality results should be present in.

                            \n

                            Example: Vancouver.

                            ", + "smithy.api#documentation": "

                            The city or locality results should be present in.

                            Example: Vancouver.

                            ", "smithy.api#length": { "min": 1, "max": 100 @@ -1510,7 +1642,7 @@ "PostalCode": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            ", + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            ", "smithy.api#length": { "min": 1, "max": 100 @@ -1529,7 +1661,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            ", + "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 1, "max": 200 @@ -1553,19 +1685,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                            \n \n

                            The fields BiasPosition, FilterBoundingBox, and\n FilterCircle are mutually exclusive.

                            \n
                            " + "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            " } }, "Filter": { "target": "com.amazonaws.geoplaces#GeocodeFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#GeocodeAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for each result.

                            " } }, "Language": { @@ -1577,19 +1709,19 @@ "PoliticalView": { "target": "com.amazonaws.geoplaces#CountryCode", "traits": { - "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the political view of a country. \n The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " + "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " } }, "IntendedUse": { "target": "com.amazonaws.geoplaces#GeocodeIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left\n empty.

                            " + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an Geocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -1604,7 +1736,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -1624,12 +1756,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", + "smithy.api#documentation": "

                            The PlaceId of the place result.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1642,7 +1774,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", "smithy.api#length": { @@ -1659,7 +1791,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean indicating if the address provided has been corrected.

                            " } @@ -1686,7 +1818,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -1704,7 +1836,7 @@ "AccessPoints": { "target": "com.amazonaws.geoplaces#AccessPointList", "traits": { - "smithy.api#documentation": "

                            Position of the access point represent by longitude and latitude.

                            " + "smithy.api#documentation": "

                            Position of the access point represented by longitude and latitude.

                            " } }, "TimeZone": { @@ -1722,7 +1854,31 @@ "MatchScores": { "target": "com.amazonaws.geoplaces#MatchScoreDetails", "traits": { - "smithy.api#documentation": "

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input\n tokens are recognized and matched.

                            " + "smithy.api#documentation": "

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                            " + } + }, + "ParsedQuery": { + "target": "com.amazonaws.geoplaces#GeocodeParsedQuery", + "traits": { + "smithy.api#documentation": "

                            Free-form text query.

                            " + } + }, + "Intersections": { + "target": "com.amazonaws.geoplaces#IntersectionList", + "traits": { + "smithy.api#documentation": "

                            All Intersections that are near the provided address.

                            " + } + }, + "MainAddress": { + "target": "com.amazonaws.geoplaces#RelatedPlace", + "traits": { + "smithy.api#documentation": "

                            The main address corresponding to a place of type Secondary Address.

                            " + } + }, + "SecondaryAddresses": { + "target": "com.amazonaws.geoplaces#RelatedPlaceList", + "traits": { + "smithy.api#documentation": "

                            All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                            " } } }, @@ -1766,7 +1922,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            Finds a place by its unique ID. A PlaceId is returned by other place\n operations.

                            ", + "smithy.api#documentation": "

                            GetPlace finds a place by its unique ID. A PlaceId is returned by other place operations.

                            ", "smithy.api#http": { "uri": "/place/{PlaceId}", "method": "GET" @@ -1793,6 +1949,10 @@ { "name": "CONTACT", "value": "Contact" + }, + { + "name": "SECONDARY_ADDRESSES", + "value": "SecondaryAddresses" } ] } @@ -1836,8 +1996,7 @@ "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#httpLabel": {}, "smithy.api#length": { - "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1845,7 +2004,7 @@ "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#GetPlaceAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters such as time zone that can be requested for\n each result.

                            ", + "smithy.api#documentation": "

                            A list of optional additional parameters such as time zone that can be requested for each result.

                            ", "smithy.api#httpQuery": "additional-features" } }, @@ -1866,14 +2025,14 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#GetPlaceIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            ", + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an GetPlace query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            ", "smithy.api#httpQuery": "intended-use" } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -1886,12 +2045,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1904,9 +2063,9 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", + "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -1917,7 +2076,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -1929,7 +2088,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean indicating if the address provided has been corrected.

                            " } @@ -1949,7 +2108,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set of four coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -2009,7 +2168,19 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various\n languages.

                            " + "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various languages.

                            " + } + }, + "MainAddress": { + "target": "com.amazonaws.geoplaces#RelatedPlace", + "traits": { + "smithy.api#documentation": "

                            The main address corresponding to a place of type Secondary Address.

                            " + } + }, + "SecondaryAddresses": { + "target": "com.amazonaws.geoplaces#RelatedPlaceList", + "traits": { + "smithy.api#documentation": "

                            All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                            " } } }, @@ -2039,7 +2210,7 @@ } }, "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The highlight's value.

                            ", "smithy.api#length": { @@ -2050,7 +2221,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Describes how parts of the result response match the input query.

                            " + "smithy.api#documentation": "

                            Indicates the starting and ending index of the text query that match the found title.

                            " } }, "com.amazonaws.geoplaces#HighlightList": { @@ -2083,6 +2254,71 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.geoplaces#Intersection": { + "type": "structure", + "members": { + "PlaceId": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The PlaceId of the place result.

                            ", + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#Address" + }, + "Position": { + "target": "com.amazonaws.geoplaces#Position", + "traits": { + "smithy.api#documentation": "

                            The position, in longitude and latitude.

                            " + } + }, + "Distance": { + "target": "com.amazonaws.geoplaces#DistanceMeters", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

                            The distance in meters from the QueryPosition.

                            " + } + }, + "RouteDistance": { + "target": "com.amazonaws.geoplaces#DistanceMeters", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

                            The distance from the routing position of the nearby address to the street result.

                            " + } + }, + "MapView": { + "target": "com.amazonaws.geoplaces#BoundingBox", + "traits": { + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " + } + }, + "AccessPoints": { + "target": "com.amazonaws.geoplaces#AccessPointList", + "traits": { + "smithy.api#documentation": "

                            Position of the access point represented by longitude and latitude.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            All Intersections that are near the provided address.

                            " + } + }, "com.amazonaws.geoplaces#IntersectionHighlightsList": { "type": "list", "member": { @@ -2098,12 +2334,11 @@ "com.amazonaws.geoplaces#IntersectionList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#IntersectionStreet" + "target": "com.amazonaws.geoplaces#Intersection" }, "traits": { "smithy.api#length": { - "min": 1, - "max": 100 + "min": 1 } } }, @@ -2116,6 +2351,18 @@ } } }, + "com.amazonaws.geoplaces#IntersectionStreetList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#IntersectionStreet" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.geoplaces#LanguageTag": { "type": "string", "traits": { @@ -2148,7 +2395,7 @@ "Components": { "target": "com.amazonaws.geoplaces#ComponentMatchScores", "traits": { - "smithy.api#documentation": "

                            Indicates how well the component input matches the returned. It is equal to 1 if all\n input tokens are recognized and matched.

                            " + "smithy.api#documentation": "

                            Indicates how well the component input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                            " } } }, @@ -2168,11 +2415,11 @@ "Display": { "target": "com.amazonaws.geoplaces#OpeningHoursDisplayList", "traits": { - "smithy.api#documentation": "

                            List of opening hours in the format they are displayed in. This can vary by result and\n in most cases represents how the result uniquely formats their opening hours.

                            " + "smithy.api#documentation": "

                            List of opening hours in the format they are displayed in. This can vary by result and in most cases represents how the result uniquely formats their opening hours.

                            " } }, "OpenNow": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean which indicates if the result/place is currently open.

                            " } @@ -2198,7 +2445,7 @@ "type": "structure", "members": { "OpenTime": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            String which represents the opening hours, such as \"T070000\".

                            ", "smithy.api#length": { @@ -2208,9 +2455,9 @@ } }, "OpenDuration": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            String which represents the duration of the opening period, such as\n \"PT12H00M\".

                            ", + "smithy.api#documentation": "

                            String which represents the duration of the opening period, such as \"PT12H00M\".

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -2218,34 +2465,117 @@ } }, "Recurrence": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Days or periods when the provided opening hours are in affect.

                            Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU

                            ", + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Components of the opening hours object.

                            " + } + }, + "com.amazonaws.geoplaces#OpeningHoursComponentsList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHoursComponents" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#OpeningHoursDisplay": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.geoplaces#OpeningHoursDisplayList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHoursDisplay" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#OpeningHoursList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHours" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#ParsedQueryComponent": { + "type": "structure", + "members": { + "StartIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            Start index of the parsed query component.

                            ", + "smithy.api#range": { + "min": 0 + } + } + }, + "EndIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            End index of the parsed query component.

                            ", + "smithy.api#range": { + "min": 0 + } + } + }, + "Value": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Value of the parsed query component.

                            ", + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "QueryComponent": { + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Days or periods when the provided opening hours are in affect.

                            \n

                            Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU\n

                            ", + "smithy.api#documentation": "

                            The address component that the parsed query component corresponds to.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 11 } } } }, "traits": { - "smithy.api#documentation": "

                            Components of the opening hours object.

                            " + "smithy.api#documentation": "

                            Parsed components in the provided QueryText.

                            " } }, - "com.amazonaws.geoplaces#OpeningHoursComponentsList": { + "com.amazonaws.geoplaces#ParsedQueryComponentList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#OpeningHoursComponents" + "target": "com.amazonaws.geoplaces#ParsedQueryComponent" }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.geoplaces#OpeningHoursDisplay": { - "type": "string", "traits": { "smithy.api#length": { "min": 0, @@ -2253,27 +2583,76 @@ } } }, - "com.amazonaws.geoplaces#OpeningHoursDisplayList": { - "type": "list", - "member": { - "target": "com.amazonaws.geoplaces#OpeningHoursDisplay" + "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponent": { + "type": "structure", + "members": { + "StartIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            Start index of the parsed secondary address component in the query text.

                            ", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "EndIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            End index of the parsed secondary address component in the query text.

                            ", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Value of the parsed secondary address component.

                            ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Number": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Secondary address number provided in the query.

                            ", + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#required": {} + } + }, + "Designator": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Secondary address designator provided in the query.

                            ", + "smithy.api#length": { + "min": 0, + "max": 4 + }, + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } + "smithy.api#documentation": "

                            Information about a secondary address component parsed from the query text.

                            " } }, - "com.amazonaws.geoplaces#OpeningHoursList": { + "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponentList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#OpeningHours" + "target": "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponent" }, "traits": { "smithy.api#length": { - "min": 1, - "max": 100 + "min": 0, + "max": 200 } } }, @@ -2283,7 +2662,7 @@ "Title": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                            List of PhonemeTranscription. See PhonemeTranscription for\n fields.

                            " + "smithy.api#documentation": "

                            List of PhonemeTranscription. See PhonemeTranscription for fields.

                            " } }, "Address": { @@ -2301,7 +2680,7 @@ "type": "structure", "members": { "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Value which indicates how to pronounce the value.

                            ", "smithy.api#length": { @@ -2317,7 +2696,7 @@ } }, "Preferred": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean which indicates if it the preferred pronunciation.

                            " } @@ -2398,8 +2777,13 @@ { "name": "INTERPOLATED_ADDRESS", "value": "InterpolatedAddress" + }, + { + "name": "SECONDARY_ADDRESS", + "value": "SecondaryAddress" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#PlacesService": { @@ -2443,20 +2827,20 @@ ], "aws-us-gov": [ { - "endpoint": "https://places.geo.{region}.us-gov.{dnsSuffix}/v2" + "endpoint": "https://places.geo.{region}.{dnsSuffix}/v2" }, { - "endpoint": "https://places.geo-fips.{region}.us-gov.{dualStackDnsSuffix}/v2", + "endpoint": "https://places.geo-fips.{region}.{dualStackDnsSuffix}/v2", "fips": true, "dualStack": true }, { - "endpoint": "https://places.geo-fips.{region}.us-gov.{dnsSuffix}/v2", + "endpoint": "https://places.geo-fips.{region}.{dnsSuffix}/v2", "fips": true, "dualStack": false }, { - "endpoint": "https://places.geo.{region}.us-gov.{dualStackDnsSuffix}/v2", + "endpoint": "https://places.geo.{region}.{dualStackDnsSuffix}/v2", "fips": false, "dualStack": true } @@ -2471,7 +2855,7 @@ "content-type" ] }, - "smithy.api#documentation": "

                            \n The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:\n

                            \n
                              \n
                            • \n

                              Forward and reverse geocoding for addresses and coordinates

                              \n
                            • \n
                            • \n

                              Comprehensive place searches with detailed information, including:

                              \n
                                \n
                              • \n

                                Business names and addresses

                                \n
                              • \n
                              • \n

                                Contact information

                                \n
                              • \n
                              • \n

                                Hours of operation

                                \n
                              • \n
                              • \n

                                POI (Points of Interest) categories

                                \n
                              • \n
                              • \n

                                Food types for restaurants

                                \n
                              • \n
                              • \n

                                Chain affiliation for relevant businesses

                                \n
                              • \n
                              \n
                            • \n
                            • \n

                              Global data coverage with a wide range of POI categories

                              \n
                            • \n
                            • \n

                              Regular data updates to ensure accuracy and relevance

                              \n
                            • \n
                            ", + "smithy.api#documentation": "

                            The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:

                            • Forward and reverse geocoding for addresses and coordinates

                            • Comprehensive place searches with detailed information, including:

                              • Business names and addresses

                              • Contact information

                              • Hours of operation

                              • POI (Points of Interest) categories

                              • Food types for restaurants

                              • Chain affiliation for relevant businesses

                            • Global data coverage with a wide range of POI categories

                            • Regular data updates to ensure accuracy and relevance

                            ", "smithy.api#title": "Amazon Location Service Places V2", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -2803,7 +3187,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2846,7 +3230,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2889,7 +3273,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2932,7 +3316,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -3304,7 +3688,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo-fips.us-gov-west-1.api.aws/v2" } }, "params": { @@ -3317,7 +3701,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo-fips.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -3330,7 +3714,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo.us-gov-west-1.api.aws/v2" } }, "params": { @@ -3343,7 +3727,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -3579,16 +3963,17 @@ "name": "USPS", "value": "Usps" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#PostalCodeDetails": { "type": "structure", "members": { "PostalCode": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            ", + "smithy.api#documentation": "

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            ", "smithy.api#length": { "min": 0, "max": 50 @@ -3663,7 +4048,8 @@ "name": "USPS_ZIP_PLUS_4", "value": "UspsZipPlus4" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#ProviderResource": { @@ -3696,7 +4082,7 @@ "type": "structure", "members": { "RefinedTerm": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The term that will be suggested to the user.

                            ", "smithy.api#length": { @@ -3707,7 +4093,7 @@ } }, "OriginalTerm": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The sub-string of the original query that is replaced by this query term.

                            ", "smithy.api#length": { @@ -3739,7 +4125,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Suggestions for refining individual query terms. Suggestions are returned as objects\n which note the term, suggested replacement, and its index in the query.

                            " + "smithy.api#documentation": "

                            Suggestions for refining individual query terms. Suggestions are returned as objects which note the term, suggested replacement, and its index in the query.

                            " } }, "com.amazonaws.geoplaces#QueryRefinementList": { @@ -3797,16 +4183,17 @@ "name": "STREET", "value": "Street" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#Region": { "type": "structure", "members": { "Code": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Abbreviated code for a the state, province or region of the country.

                            \n

                            Example: BC.

                            ", + "smithy.api#documentation": "

                            Abbreviated code for a the state, province or region of the country.

                            Example: BC.

                            ", "smithy.api#length": { "min": 0, "max": 3 @@ -3814,9 +4201,9 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Name for a the state, province, or region of the country.

                            \n

                            Example: British Columbia.

                            ", + "smithy.api#documentation": "

                            Name for a the state, province, or region of the country.

                            Example: British Columbia.

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -3825,7 +4212,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            \n

                            Example: North Rhine-Westphalia.

                            " + "smithy.api#documentation": "

                            The region or state results should be to be present in.

                            Example: North Rhine-Westphalia.

                            " } }, "com.amazonaws.geoplaces#RegionHighlights": { @@ -3848,6 +4235,69 @@ "smithy.api#documentation": "

                            Indicates the starting and ending index of the region in the text query that match the found title.

                            " } }, + "com.amazonaws.geoplaces#RelatedPlace": { + "type": "structure", + "members": { + "PlaceId": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The PlaceId of the place result.

                            ", + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#required": {} + } + }, + "PlaceType": { + "target": "com.amazonaws.geoplaces#PlaceType", + "traits": { + "smithy.api#documentation": "

                            A PlaceType is a category that the result place must belong to.

                            ", + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#Address" + }, + "Position": { + "target": "com.amazonaws.geoplaces#Position", + "traits": { + "smithy.api#documentation": "

                            The position, in longitude and latitude.

                            " + } + }, + "AccessPoints": { + "target": "com.amazonaws.geoplaces#AccessPointList", + "traits": { + "smithy.api#documentation": "

                            Position of the access point represented by longitude and latitude.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Place that is related to the result item.

                            " + } + }, + "com.amazonaws.geoplaces#RelatedPlaceList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#RelatedPlace" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.geoplaces#ReverseGeocode": { "type": "operation", "input": { @@ -3872,7 +4322,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            The ReverseGeocode operation allows you to retrieve addresses and place\n information from coordinates.

                            ", + "smithy.api#documentation": "

                            ReverseGeocode converts geographic coordinates into a human-readable address or place. You can obtain address component, and other related information such as place type, category, street information. The Reverse Geocode API supports filtering to on place type so that you can refine result based on your need. Also, The Reverse Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                            ", "smithy.api#http": { "uri": "/reverse-geocode", "method": "POST" @@ -3909,6 +4359,10 @@ { "name": "ACCESS", "value": "Access" + }, + { + "name": "INTERSECTIONS", + "value": "Intersections" } ] } @@ -4003,7 +4457,7 @@ "QueryPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                            ", + "smithy.api#documentation": "

                            The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                            ", "smithy.api#required": {} } }, @@ -4032,13 +4486,13 @@ "Filter": { "target": "com.amazonaws.geoplaces#ReverseGeocodeFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#ReverseGeocodeAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone that can be requested for each result.

                            " } }, "Language": { @@ -4056,13 +4510,13 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#ReverseGeocodeIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an ReverseGeocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -4077,7 +4531,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4097,12 +4551,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4115,7 +4569,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The localized display name of this result item based on request parameter language.

                            ", "smithy.api#length": { @@ -4132,7 +4586,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean indicating if the address provided has been corrected.

                            " } @@ -4159,7 +4613,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -4177,7 +4631,7 @@ "AccessPoints": { "target": "com.amazonaws.geoplaces#AccessPointList", "traits": { - "smithy.api#documentation": "

                            Position of the access point represent by longitude and latitude.

                            " + "smithy.api#documentation": "

                            Position of the access point represented by longitude and latitude.

                            " } }, "TimeZone": { @@ -4191,6 +4645,12 @@ "traits": { "smithy.api#documentation": "

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " } + }, + "Intersections": { + "target": "com.amazonaws.geoplaces#IntersectionList", + "traits": { + "smithy.api#documentation": "

                            All Intersections that are near the provided address.

                            " + } } }, "traits": { @@ -4233,7 +4693,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            Search nearby a specified location.

                            ", + "smithy.api#documentation": "

                            SearchNearby queries for points of interest within a radius from a central coordinates, returning place results with optional filters such as categories, business chains, food types and more. The API returns details such as a place name, address, phone, category, food type, contact, opening hours. Also, the API can return phonemes, time zones and more based on requested parameters.

                            ", "smithy.api#http": { "uri": "/search-nearby", "method": "POST" @@ -4301,7 +4761,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "IncludeCountries": { @@ -4348,7 +4808,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            SearchNearby structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            SearchNearby structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "com.amazonaws.geoplaces#SearchNearbyIntendedUse": { @@ -4374,7 +4834,7 @@ "QueryPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                            ", + "smithy.api#documentation": "

                            The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                            ", "smithy.api#required": {} } }, @@ -4382,7 +4842,7 @@ "target": "com.amazonaws.geoplaces#DistanceMeters", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

                            The maximum distance in meters from the QueryPosition from which a result will be returned.

                            ", + "smithy.api#documentation": "

                            The maximum distance in meters from the QueryPosition from which a result will be returned.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#range": { "min": 1, "max": 21000000 @@ -4403,13 +4863,13 @@ "Filter": { "target": "com.amazonaws.geoplaces#SearchNearbyFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SearchNearbyAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for each result.

                            " } }, "Language": { @@ -4427,19 +4887,19 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#SearchNearbyIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an SearchNearby query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " } }, "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                            If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                            " + "smithy.api#documentation": "

                            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                            " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -4454,7 +4914,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4468,7 +4928,7 @@ "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                            If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                            " + "smithy.api#documentation": "

                            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                            " } } }, @@ -4480,12 +4940,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4498,7 +4958,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The item's title.

                            ", "smithy.api#length": { @@ -4515,7 +4975,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean indicating if the address provided has been corrected.

                            " } @@ -4536,7 +4996,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -4596,7 +5056,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various\n languages.

                            " + "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various languages.

                            " } } }, @@ -4640,7 +5100,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            Use the SearchText operation to search for geocode and place information.\n You can then complete a follow-up query suggested from the Suggest API via a\n query id.

                            ", + "smithy.api#documentation": "

                            SearchText searches for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                            ", "smithy.api#http": { "uri": "/search-text", "method": "POST" @@ -4709,7 +5169,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Circle": { @@ -4723,7 +5183,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            SearchText structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            SearchText structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "com.amazonaws.geoplaces#SearchTextIntendedUse": { @@ -4749,7 +5209,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            ", + "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 1, "max": 200 @@ -4759,10 +5219,10 @@ "QueryId": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The query Id.

                            ", + "smithy.api#documentation": "

                            The query Id returned by the suggest API. If passed in the request, the SearchText API will preform a SearchText query with the improved query terms for the original query made to the suggest API.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 1, - "max": 400 + "max": 500 } } }, @@ -4780,19 +5240,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                            \n \n

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            \n
                            " + "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            " } }, "Filter": { "target": "com.amazonaws.geoplaces#SearchTextFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SearchTextAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for each result.

                            " } }, "Language": { @@ -4810,19 +5270,19 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#SearchTextIntendedUse", "traits": { - "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "smithy.api#documentation": "

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an SearchText query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " } }, "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                            If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                            " + "smithy.api#documentation": "

                            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                            " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -4837,7 +5297,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4851,7 +5311,7 @@ "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                            If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                            " + "smithy.api#documentation": "

                            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                            " } } }, @@ -4863,12 +5323,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4881,7 +5341,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The item's title.

                            ", "smithy.api#length": { @@ -4898,7 +5358,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                            Boolean indicating if the address provided has been corrected.

                            " } @@ -4919,7 +5379,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -4979,7 +5439,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various\n languages.

                            " + "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various languages.

                            " } } }, @@ -4999,6 +5459,64 @@ } } }, + "com.amazonaws.geoplaces#SecondaryAddressComponent": { + "type": "structure", + "members": { + "Number": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                            Number that uniquely identifies a secondary address.

                            ", + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Components that correspond to secondary identifiers on an address. The only component type supported currently is Unit.

                            " + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponent" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScore": { + "type": "structure", + "members": { + "Number": { + "target": "com.amazonaws.geoplaces#MatchScore", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

                            Match score for the secondary address number.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Match score for a secondary address component in the result.

                            " + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScoreList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScore" + } + }, + "com.amazonaws.geoplaces#SensitiveBoolean": { + "type": "boolean", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.geoplaces#SensitiveString": { "type": "string", "traits": { @@ -5009,9 +5527,9 @@ "type": "structure", "members": { "BaseName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Base name part of the street name.

                            \n

                            Example: Younge from the “Younge street\".

                            ", + "smithy.api#documentation": "

                            Base name part of the street name.

                            Example: Younge from the \"Younge street\".

                            ", "smithy.api#length": { "min": 0, "max": 200 @@ -5019,9 +5537,9 @@ } }, "Type": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            Street type part of the street name.

                            \n

                            Example: “avenue\".

                            ", + "smithy.api#documentation": "

                            Street type part of the street name.

                            Example: \"avenue\".

                            ", "smithy.api#length": { "min": 0, "max": 50 @@ -5037,13 +5555,13 @@ "TypeSeparator": { "target": "com.amazonaws.geoplaces#TypeSeparator", "traits": { - "smithy.api#documentation": "

                            What character(s) separates the string from its type.

                            " + "smithy.api#documentation": "

                            Defines a separator character such as \"\" or \" \" between the base name and type.

                            " } }, "Prefix": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            A prefix is a directional identifier that precedes, but is not included in, the base\n name of a road.

                            \n

                            Example: E for East.

                            ", + "smithy.api#documentation": "

                            A prefix is a directional identifier that precedes, but is not included in, the base name of a road.

                            Example: E for East.

                            ", "smithy.api#length": { "min": 0, "max": 50 @@ -5051,9 +5569,9 @@ } }, "Suffix": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            A suffix is a directional identifier that follows, but is not included in, the base name\n of a road.

                            \n

                            Example W for West.

                            ", + "smithy.api#documentation": "

                            A suffix is a directional identifier that follows, but is not included in, the base name of a road.

                            Example W for West.

                            ", "smithy.api#length": { "min": 0, "max": 50 @@ -5061,7 +5579,7 @@ } }, "Direction": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Indicates the official directional identifiers assigned to highways.

                            ", "smithy.api#length": { @@ -5097,7 +5615,7 @@ "type": "structure", "members": { "Code": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Abbreviated code for the county or sub-region.

                            ", "smithy.api#length": { @@ -5107,7 +5625,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Name for the county or sub-region.

                            ", "smithy.api#length": { @@ -5127,7 +5645,7 @@ "Code": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                            Indicates the starting and ending index of the sub-region in the text query that match\n the found title.

                            " + "smithy.api#documentation": "

                            Indicates the starting and ending index of the sub-region in the text query that match the found title.

                            " } }, "Name": { @@ -5138,7 +5656,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            Indicates the starting and ending index of the sub-region in the text query that match\n the found title.

                            " + "smithy.api#documentation": "

                            Indicates the starting and ending index of the sub-region in the text query that match the found title.

                            " } }, "com.amazonaws.geoplaces#Suggest": { @@ -5165,7 +5683,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                            The Suggest operation finds addresses or place candidates based on\n incomplete or misspelled queries. You then select the best query to submit based on the\n returned results.

                            ", + "smithy.api#documentation": "

                            Suggest provides intelligent predictions or recommendations based on the user's input or context, such as relevant places, points of interest, query terms or search category. It is designed to help users find places or point of interests candidates or identify a follow on query based on incomplete or misspelled queries. It returns a list of possible matches or refinements that can be used to formulate a more accurate query. Users can select the most appropriate suggestion and use it for further searching. The API provides options for filtering results by location and other attributes, and allows for additional features like phonemes and timezones. The response includes refined query terms and detailed place information.

                            ", "smithy.api#http": { "uri": "/suggest", "method": "POST" @@ -5248,7 +5766,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Circle": { @@ -5262,7 +5780,7 @@ } }, "traits": { - "smithy.api#documentation": "

                            SuggestFilter structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            SuggestFilter structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "com.amazonaws.geoplaces#SuggestHighlights": { @@ -5301,12 +5819,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The PlaceId of the place you wish to receive the information for.

                            ", "smithy.api#length": { "min": 1, - "max": 200 + "max": 500 } } }, @@ -5338,7 +5856,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            \n

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                            " + "smithy.api#documentation": "

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " } }, "Categories": { @@ -5386,7 +5904,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various\n languages.

                            " + "smithy.api#documentation": "

                            How the various components of the result's address are pronounced in various languages.

                            " } } }, @@ -5398,19 +5916,19 @@ "type": "structure", "members": { "QueryId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                            ", + "smithy.api#documentation": "

                            QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 0, - "max": 400 + "max": 500 } } }, "QueryType": { "target": "com.amazonaws.geoplaces#QueryType", "traits": { - "smithy.api#documentation": "

                            The query type. Category qeuries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                            " + "smithy.api#documentation": "

                            The query type. Category queries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                            " } } }, @@ -5424,7 +5942,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            ", + "smithy.api#documentation": "

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "smithy.api#length": { "min": 1, "max": 200 @@ -5457,19 +5975,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                            \n \n

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            \n
                            " + "smithy.api#documentation": "

                            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                            " } }, "Filter": { "target": "com.amazonaws.geoplaces#SuggestFilter", "traits": { - "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "smithy.api#documentation": "

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SuggestAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                            " + "smithy.api#documentation": "

                            A list of optional additional parameters, such as time zone, that can be requested for each result.

                            " } }, "Language": { @@ -5493,7 +6011,7 @@ "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                            ", + "smithy.api#documentation": "

                            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                            ", "smithy.api#httpQuery": "key" } } @@ -5508,7 +6026,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            \n

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "smithy.api#documentation": "

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -5534,7 +6052,7 @@ "type": "structure", "members": { "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The display title that should be used when presenting this option to the end user.

                            ", "smithy.api#length": { @@ -5620,7 +6138,7 @@ "type": "structure", "members": { "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            The time zone name.

                            ", "smithy.api#length": { @@ -5631,7 +6149,7 @@ } }, "Offset": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                            Time zone offset of the timezone from UTC.

                            ", "smithy.api#length": { @@ -5833,7 +6351,8 @@ "name": "UNIQUE", "value": "Unique" } - ] + ], + "smithy.api#sensitive": {} } } } diff --git a/tools/code-generation/smithy/api-descriptions/glue.json b/tools/code-generation/smithy/api-descriptions/glue.json index fd36f6302b0..682258c133f 100644 --- a/tools/code-generation/smithy/api-descriptions/glue.json +++ b/tools/code-generation/smithy/api-descriptions/glue.json @@ -9966,6 +9966,7 @@ } }, "traits": { + "smithy.api#documentation": "

                            A request to create a data quality ruleset.

                            ", "smithy.api#input": {} } }, @@ -13025,6 +13026,50 @@ "target": "com.amazonaws.glue#DataOperation" } }, + "com.amazonaws.glue#DataQualityAggregatedMetrics": { + "type": "structure", + "members": { + "TotalRowsProcessed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of rows that were processed during the data quality evaluation.

                            " + } + }, + "TotalRowsPassed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of rows that passed all applicable data quality rules.

                            " + } + }, + "TotalRowsFailed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of rows that failed one or more data quality rules.

                            " + } + }, + "TotalRulesProcessed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of data quality rules that were evaluated.

                            " + } + }, + "TotalRulesPassed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of data quality rules that passed their evaluation criteria.

                            " + } + }, + "TotalRulesFailed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                            The total number of data quality rules that failed their evaluation criteria.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            A summary of metrics showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " + } + }, "com.amazonaws.glue#DataQualityAnalyzerResult": { "type": "structure", "members": { @@ -13316,6 +13361,12 @@ "traits": { "smithy.api#documentation": "

                            A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                            " } + }, + "AggregatedMetrics": { + "target": "com.amazonaws.glue#DataQualityAggregatedMetrics", + "traits": { + "smithy.api#documentation": "

                            A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " + } } }, "traits": { @@ -13537,6 +13588,12 @@ "traits": { "smithy.api#documentation": "

                            The evaluated rule.

                            " } + }, + "RuleMetrics": { + "target": "com.amazonaws.glue#RuleMetricsMap", + "traits": { + "smithy.api#documentation": "

                            A map containing metrics associated with the evaluation of the rule based on row-level results.

                            " + } } }, "traits": { @@ -20429,9 +20486,16 @@ "traits": { "smithy.api#documentation": "

                            A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                            " } + }, + "AggregatedMetrics": { + "target": "com.amazonaws.glue#DataQualityAggregatedMetrics", + "traits": { + "smithy.api#documentation": "

                            A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " + } } }, "traits": { + "smithy.api#documentation": "

                            The response for the data quality result.

                            ", "smithy.api#output": {} } }, @@ -20566,6 +20630,7 @@ } }, "traits": { + "smithy.api#documentation": "

                            The response for the Data Quality rule recommendation run.

                            ", "smithy.api#output": {} } }, @@ -20803,6 +20868,7 @@ } }, "traits": { + "smithy.api#documentation": "

                            Returns the data quality ruleset response.

                            ", "smithy.api#output": {} } }, @@ -35164,6 +35230,18 @@ "com.amazonaws.glue#RowTag": { "type": "string" }, + "com.amazonaws.glue#RuleMetricsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#NameString" + }, + "value": { + "target": "com.amazonaws.glue#NullableDouble" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.glue#RulesetNames": { "type": "list", "member": { @@ -38689,6 +38767,7 @@ } }, "traits": { + "smithy.api#documentation": "

                            The request of the Data Quality rule recommendation request.

                            ", "smithy.api#input": {} } }, diff --git a/tools/code-generation/smithy/api-descriptions/mediaconvert.json b/tools/code-generation/smithy/api-descriptions/mediaconvert.json index 2abf16ffc69..022b3c34faa 100644 --- a/tools/code-generation/smithy/api-descriptions/mediaconvert.json +++ b/tools/code-generation/smithy/api-descriptions/mediaconvert.json @@ -7599,7 +7599,7 @@ "DdsHandling": { "target": "com.amazonaws.mediaconvert#DvbddsHandling", "traits": { - "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match.", + "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate.", "smithy.api#jsonName": "ddsHandling" } }, @@ -8160,10 +8160,16 @@ "traits": { "smithy.api#enumValue": "NO_DISPLAY_WINDOW" } + }, + "SPECIFIED_OPTIMAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SPECIFIED_OPTIMAL" + } } }, "traits": { - "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match." + "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate." } }, "com.amazonaws.mediaconvert#DynamicAudioSelector": { From cc644ccd4d172acd4960616925ac8b0a2ee71bbd Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Fri, 20 Jun 2025 18:17:34 +0000 Subject: [PATCH 23/26] Add ECS support for Windows Server 2025 Add support for tiers in Content Filters and Denied Topics for Amazon Bedrock Guardrails. AWS Glue Data Quality now provides aggregated metrics in evaluation results when publishAggregatedMetrics with row-level results are enabled. These metrics include summary statistics showing total counts of processed, passed, and failed rows and rules in a single view. Geocode, ReverseGeocode, and GetPlace APIs added Intersections and SecondaryAddresses. To use, add to the AdditionalFeatures list in your request. This provides info about nearby intersections and secondary addresses that are associated with a main address. Also added MainAddress and ParsedQuery. This release adds a new SPECIFIED_OPTIMAL option for handling DDS when using DVB-Sub with high resolution video. --- VERSION | 2 +- .../model/GuardrailContentFiltersTier.h | 65 + .../model/GuardrailContentFiltersTierConfig.h | 66 + .../model/GuardrailContentFiltersTierName.h | 31 + .../bedrock/model/GuardrailContentPolicy.h | 16 + .../model/GuardrailContentPolicyConfig.h | 16 + .../aws/bedrock/model/GuardrailTopicPolicy.h | 16 + .../model/GuardrailTopicPolicyConfig.h | 16 + .../aws/bedrock/model/GuardrailTopicsTier.h | 65 + .../bedrock/model/GuardrailTopicsTierConfig.h | 66 + .../bedrock/model/GuardrailTopicsTierName.h | 31 + .../model/GuardrailContentFiltersTier.cpp | 50 + .../GuardrailContentFiltersTierConfig.cpp | 50 + .../model/GuardrailContentFiltersTierName.cpp | 72 + .../source/model/GuardrailContentPolicy.cpp | 11 + .../model/GuardrailContentPolicyConfig.cpp | 11 + .../source/model/GuardrailTopicPolicy.cpp | 11 + .../model/GuardrailTopicPolicyConfig.cpp | 11 + .../source/model/GuardrailTopicsTier.cpp | 50 + .../model/GuardrailTopicsTierConfig.cpp | 50 + .../source/model/GuardrailTopicsTierName.cpp | 72 + .../include/aws/ecs/ECSClient.h | 14 +- .../aws/ecs/model/ContainerDefinition.h | 13 +- .../include/aws/ecs/model/OSFamily.h | 2 + .../aws/ecs/model/UpdateServiceRequest.h | 13 +- .../aws-cpp-sdk-ecs/source/model/OSFamily.cpp | 14 + .../include/aws/geo-places/GeoPlacesClient.h | 60 +- .../include/aws/geo-places/model/Address.h | 24 +- .../model/AddressComponentMatchScores.h | 20 +- .../model/AutocompleteAddressHighlights.h | 8 +- .../aws/geo-places/model/AutocompleteFilter.h | 2 +- .../geo-places/model/AutocompleteRequest.h | 28 +- .../aws/geo-places/model/AutocompleteResult.h | 2 +- .../geo-places/model/ComponentMatchScores.h | 11 +- .../model/GeocodeAdditionalFeature.h | 4 +- .../aws/geo-places/model/GeocodeFilter.h | 2 +- .../aws/geo-places/model/GeocodeParsedQuery.h | 79 + .../GeocodeParsedQueryAddressComponents.h | 276 +++ .../geo-places/model/GeocodeQueryComponents.h | 4 +- .../aws/geo-places/model/GeocodeRequest.h | 13 +- .../aws/geo-places/model/GeocodeResult.h | 2 +- .../aws/geo-places/model/GeocodeResultItem.h | 74 +- .../model/GetPlaceAdditionalFeature.h | 3 +- .../aws/geo-places/model/GetPlaceRequest.h | 7 +- .../aws/geo-places/model/GetPlaceResult.h | 37 +- .../include/aws/geo-places/model/Highlight.h | 4 +- .../aws/geo-places/model/Intersection.h | 171 ++ .../geo-places/model/ParsedQueryComponent.h | 100 + .../ParsedQuerySecondaryAddressComponent.h | 116 ++ .../include/aws/geo-places/model/PlaceType.h | 3 +- .../aws/geo-places/model/PostalCodeDetails.h | 2 +- .../aws/geo-places/model/RelatedPlace.h | 139 ++ .../model/ReverseGeocodeAdditionalFeature.h | 3 +- .../geo-places/model/ReverseGeocodeRequest.h | 11 +- .../geo-places/model/ReverseGeocodeResult.h | 2 +- .../model/ReverseGeocodeResultItem.h | 20 +- .../aws/geo-places/model/SearchNearbyFilter.h | 2 +- .../geo-places/model/SearchNearbyRequest.h | 14 +- .../aws/geo-places/model/SearchNearbyResult.h | 2 +- .../aws/geo-places/model/SearchTextFilter.h | 2 +- .../aws/geo-places/model/SearchTextRequest.h | 19 +- .../aws/geo-places/model/SearchTextResult.h | 2 +- .../model/SecondaryAddressComponent.h | 60 + .../SecondaryAddressComponentMatchScore.h | 56 + .../aws/geo-places/model/StreetComponents.h | 7 +- .../aws/geo-places/model/SuggestFilter.h | 2 +- .../aws/geo-places/model/SuggestQueryResult.h | 5 +- .../aws/geo-places/model/SuggestRequest.h | 6 +- .../aws/geo-places/model/SuggestResult.h | 2 +- .../source/GeoPlacesEndpointRules.cpp | 255 ++- .../source/model/Address.cpp | 20 + .../model/AddressComponentMatchScores.cpp | 20 + .../source/model/GeocodeAdditionalFeature.cpp | 14 + .../source/model/GeocodeParsedQuery.cpp | 71 + .../GeocodeParsedQueryAddressComponents.cpp | 300 +++ .../source/model/GeocodeResultItem.cpp | 62 + .../model/GetPlaceAdditionalFeature.cpp | 7 + .../source/model/GetPlaceResult.cpp | 14 + .../source/model/Intersection.cpp | 155 ++ .../source/model/ParsedQueryComponent.cpp | 84 + .../ParsedQuerySecondaryAddressComponent.cpp | 95 + .../source/model/PlaceType.cpp | 7 + .../source/model/RelatedPlace.cpp | 123 ++ .../model/ReverseGeocodeAdditionalFeature.cpp | 7 + .../source/model/ReverseGeocodeResultItem.cpp | 20 + .../model/SecondaryAddressComponent.cpp | 51 + .../SecondaryAddressComponentMatchScore.cpp | 51 + .../model/CreateDataQualityRulesetRequest.h | 3 + .../glue/model/DataQualityAggregatedMetrics.h | 125 ++ .../aws/glue/model/DataQualityResult.h | 18 + .../aws/glue/model/DataQualityRuleResult.h | 19 + .../glue/model/GetDataQualityResultResult.h | 22 + ...etDataQualityRuleRecommendationRunResult.h | 6 + .../glue/model/GetDataQualityRulesetResult.h | 5 + ...tDataQualityRuleRecommendationRunRequest.h | 4 + .../model/DataQualityAggregatedMetrics.cpp | 106 ++ .../source/model/DataQualityResult.cpp | 11 + .../source/model/DataQualityRuleResult.cpp | 20 + .../model/GetDataQualityResultResult.cpp | 5 + .../model/DvbSubDestinationSettings.h | 6 + .../aws/mediaconvert/model/DvbddsHandling.h | 3 +- .../source/model/DvbddsHandling.cpp | 7 + .../bedrock-gen-tests/BedrockIncludeTests.cpp | 6 + .../GeoPlacesEndpointProviderTests.cpp | 8 +- .../GeoPlacesIncludeTests.cpp | 8 + .../tests/glue-gen-tests/GlueIncludeTests.cpp | 1 + .../include/aws/core/VersionConfig.h | 4 +- .../bedrock-2023-04-20.normal.json | 76 + .../ecs-2014-11-13.normal.json | 14 +- .../geo-places-2020-11-19.normal.json | 773 ++++++-- .../glue-2017-03-31.normal.json | 63 +- .../mediaconvert-2017-08-29.normal.json | 7 +- ...o-places-2020-11-19.endpoint-rule-set.json | 8 +- .../geo-places-2020-11-19.endpoint-tests.json | 8 +- .../codegen/cpp-smoke-tests/smithy-build.json | 1630 ++++++++--------- 115 files changed, 5328 insertions(+), 1234 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQuery.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Intersection.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponent.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp create mode 100644 generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h create mode 100644 generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp diff --git a/VERSION b/VERSION index 3686d9e0684..38bc26c4c6e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.592 \ No newline at end of file +1.11.593 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h new file mode 100644 index 00000000000..49d86381569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

                            The tier that your guardrail uses for content filters.

                            See + * Also:

                            AWS + * API Reference

                            + */ + class GuardrailContentFiltersTier + { + public: + AWS_BEDROCK_API GuardrailContentFiltersTier() = default; + AWS_BEDROCK_API GuardrailContentFiltersTier(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GuardrailContentFiltersTier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The tier that your guardrail uses for content filters. Valid values + * include:

                            • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

                              + *
                            • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

                            + */ + inline GuardrailContentFiltersTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailContentFiltersTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailContentFiltersTier& WithTierName(GuardrailContentFiltersTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailContentFiltersTierName m_tierName{GuardrailContentFiltersTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h new file mode 100644 index 00000000000..df2ffaf24d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

                            The tier that your guardrail uses for content filters. Consider using a tier + * that balances performance, accuracy, and compatibility with your existing + * generative AI workflows.

                            See Also:

                            AWS + * API Reference

                            + */ + class GuardrailContentFiltersTierConfig + { + public: + AWS_BEDROCK_API GuardrailContentFiltersTierConfig() = default; + AWS_BEDROCK_API GuardrailContentFiltersTierConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GuardrailContentFiltersTierConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The tier that your guardrail uses for content filters. Valid values + * include:

                            • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

                              + *
                            • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

                            + */ + inline GuardrailContentFiltersTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailContentFiltersTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailContentFiltersTierConfig& WithTierName(GuardrailContentFiltersTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailContentFiltersTierName m_tierName{GuardrailContentFiltersTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h new file mode 100644 index 00000000000..7033fa351e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class GuardrailContentFiltersTierName + { + NOT_SET, + CLASSIC, + STANDARD + }; + +namespace GuardrailContentFiltersTierNameMapper +{ +AWS_BEDROCK_API GuardrailContentFiltersTierName GetGuardrailContentFiltersTierNameForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForGuardrailContentFiltersTierName(GuardrailContentFiltersTierName value); +} // namespace GuardrailContentFiltersTierNameMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h index 82aa65aae20..d7a87a065c8 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -55,10 +56,25 @@ namespace Model template GuardrailContentPolicy& AddFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            The tier that your guardrail uses for content filters.

                            + */ + inline const GuardrailContentFiltersTier& GetTier() const { return m_tier; } + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + template + void SetTier(TierT&& value) { m_tierHasBeenSet = true; m_tier = std::forward(value); } + template + GuardrailContentPolicy& WithTier(TierT&& value) { SetTier(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_filters; bool m_filtersHasBeenSet = false; + + GuardrailContentFiltersTier m_tier; + bool m_tierHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h index 1f4df15ee62..31968ff0d21 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -53,10 +54,25 @@ namespace Model template GuardrailContentPolicyConfig& AddFiltersConfig(FiltersConfigT&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            The tier that your guardrail uses for content filters.

                            + */ + inline const GuardrailContentFiltersTierConfig& GetTierConfig() const { return m_tierConfig; } + inline bool TierConfigHasBeenSet() const { return m_tierConfigHasBeenSet; } + template + void SetTierConfig(TierConfigT&& value) { m_tierConfigHasBeenSet = true; m_tierConfig = std::forward(value); } + template + GuardrailContentPolicyConfig& WithTierConfig(TierConfigT&& value) { SetTierConfig(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_filtersConfig; bool m_filtersConfigHasBeenSet = false; + + GuardrailContentFiltersTierConfig m_tierConfig; + bool m_tierConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h index d03018f485b..9e8291decce 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -55,10 +56,25 @@ namespace Model template GuardrailTopicPolicy& AddTopics(TopicsT&& value) { m_topicsHasBeenSet = true; m_topics.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            The tier that your guardrail uses for denied topic filters.

                            + */ + inline const GuardrailTopicsTier& GetTier() const { return m_tier; } + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + template + void SetTier(TierT&& value) { m_tierHasBeenSet = true; m_tier = std::forward(value); } + template + GuardrailTopicPolicy& WithTier(TierT&& value) { SetTier(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_topics; bool m_topicsHasBeenSet = false; + + GuardrailTopicsTier m_tier; + bool m_tierHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h index 26246a0391f..d78c0f5c58d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -52,10 +53,25 @@ namespace Model template GuardrailTopicPolicyConfig& AddTopicsConfig(TopicsConfigT&& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            The tier that your guardrail uses for denied topic filters.

                            + */ + inline const GuardrailTopicsTierConfig& GetTierConfig() const { return m_tierConfig; } + inline bool TierConfigHasBeenSet() const { return m_tierConfigHasBeenSet; } + template + void SetTierConfig(TierConfigT&& value) { m_tierConfigHasBeenSet = true; m_tierConfig = std::forward(value); } + template + GuardrailTopicPolicyConfig& WithTierConfig(TierConfigT&& value) { SetTierConfig(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_topicsConfig; bool m_topicsConfigHasBeenSet = false; + + GuardrailTopicsTierConfig m_tierConfig; + bool m_tierConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h new file mode 100644 index 00000000000..4c9e86b0a81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

                            The tier that your guardrail uses for denied topic filters.

                            See + * Also:

                            AWS + * API Reference

                            + */ + class GuardrailTopicsTier + { + public: + AWS_BEDROCK_API GuardrailTopicsTier() = default; + AWS_BEDROCK_API GuardrailTopicsTier(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GuardrailTopicsTier& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The tier that your guardrail uses for denied topic filters. Valid values + * include:

                            • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

                              + *
                            • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

                            + */ + inline GuardrailTopicsTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailTopicsTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailTopicsTier& WithTierName(GuardrailTopicsTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailTopicsTierName m_tierName{GuardrailTopicsTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h new file mode 100644 index 00000000000..89f879bf3f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

                            The tier that your guardrail uses for denied topic filters. Consider using a + * tier that balances performance, accuracy, and compatibility with your existing + * generative AI workflows.

                            See Also:

                            AWS + * API Reference

                            + */ + class GuardrailTopicsTierConfig + { + public: + AWS_BEDROCK_API GuardrailTopicsTierConfig() = default; + AWS_BEDROCK_API GuardrailTopicsTierConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API GuardrailTopicsTierConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCK_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The tier that your guardrail uses for denied topic filters. Valid values + * include:

                            • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

                              + *
                            • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

                            + */ + inline GuardrailTopicsTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailTopicsTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailTopicsTierConfig& WithTierName(GuardrailTopicsTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailTopicsTierName m_tierName{GuardrailTopicsTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h new file mode 100644 index 00000000000..ba07d961eb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class GuardrailTopicsTierName + { + NOT_SET, + CLASSIC, + STANDARD + }; + +namespace GuardrailTopicsTierNameMapper +{ +AWS_BEDROCK_API GuardrailTopicsTierName GetGuardrailTopicsTierNameForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForGuardrailTopicsTierName(GuardrailTopicsTierName value); +} // namespace GuardrailTopicsTierNameMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp new file mode 100644 index 00000000000..2c173766b04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailContentFiltersTier::GuardrailContentFiltersTier(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailContentFiltersTier& GuardrailContentFiltersTier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailContentFiltersTierNameMapper::GetGuardrailContentFiltersTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailContentFiltersTier::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailContentFiltersTierNameMapper::GetNameForGuardrailContentFiltersTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp new file mode 100644 index 00000000000..05f5fc34fdd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailContentFiltersTierConfig::GuardrailContentFiltersTierConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailContentFiltersTierConfig& GuardrailContentFiltersTierConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailContentFiltersTierNameMapper::GetGuardrailContentFiltersTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailContentFiltersTierConfig::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailContentFiltersTierNameMapper::GetNameForGuardrailContentFiltersTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp new file mode 100644 index 00000000000..0813b2ea4f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace GuardrailContentFiltersTierNameMapper + { + + static const int CLASSIC_HASH = HashingUtils::HashString("CLASSIC"); + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + GuardrailContentFiltersTierName GetGuardrailContentFiltersTierNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CLASSIC_HASH) + { + return GuardrailContentFiltersTierName::CLASSIC; + } + else if (hashCode == STANDARD_HASH) + { + return GuardrailContentFiltersTierName::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailContentFiltersTierName::NOT_SET; + } + + Aws::String GetNameForGuardrailContentFiltersTierName(GuardrailContentFiltersTierName enumValue) + { + switch(enumValue) + { + case GuardrailContentFiltersTierName::NOT_SET: + return {}; + case GuardrailContentFiltersTierName::CLASSIC: + return "CLASSIC"; + case GuardrailContentFiltersTierName::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailContentFiltersTierNameMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp index 250c2eea85d..4ba407bd3fe 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp @@ -34,6 +34,11 @@ GuardrailContentPolicy& GuardrailContentPolicy::operator =(JsonView jsonValue) } m_filtersHasBeenSet = true; } + if(jsonValue.ValueExists("tier")) + { + m_tier = jsonValue.GetObject("tier"); + m_tierHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailContentPolicy::Jsonize() const } + if(m_tierHasBeenSet) + { + payload.WithObject("tier", m_tier.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp index 9143d680daa..1d82c8b9c30 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp @@ -34,6 +34,11 @@ GuardrailContentPolicyConfig& GuardrailContentPolicyConfig::operator =(JsonView } m_filtersConfigHasBeenSet = true; } + if(jsonValue.ValueExists("tierConfig")) + { + m_tierConfig = jsonValue.GetObject("tierConfig"); + m_tierConfigHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailContentPolicyConfig::Jsonize() const } + if(m_tierConfigHasBeenSet) + { + payload.WithObject("tierConfig", m_tierConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp index 97d2e01d032..8fdad7048b7 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp @@ -34,6 +34,11 @@ GuardrailTopicPolicy& GuardrailTopicPolicy::operator =(JsonView jsonValue) } m_topicsHasBeenSet = true; } + if(jsonValue.ValueExists("tier")) + { + m_tier = jsonValue.GetObject("tier"); + m_tierHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailTopicPolicy::Jsonize() const } + if(m_tierHasBeenSet) + { + payload.WithObject("tier", m_tier.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp index 12d0429893b..51e17f28381 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp @@ -34,6 +34,11 @@ GuardrailTopicPolicyConfig& GuardrailTopicPolicyConfig::operator =(JsonView json } m_topicsConfigHasBeenSet = true; } + if(jsonValue.ValueExists("tierConfig")) + { + m_tierConfig = jsonValue.GetObject("tierConfig"); + m_tierConfigHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailTopicPolicyConfig::Jsonize() const } + if(m_tierConfigHasBeenSet) + { + payload.WithObject("tierConfig", m_tierConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp new file mode 100644 index 00000000000..21ab433ad74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailTopicsTier::GuardrailTopicsTier(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailTopicsTier& GuardrailTopicsTier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailTopicsTierNameMapper::GetGuardrailTopicsTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailTopicsTier::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailTopicsTierNameMapper::GetNameForGuardrailTopicsTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp new file mode 100644 index 00000000000..d6b8d829e11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailTopicsTierConfig::GuardrailTopicsTierConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailTopicsTierConfig& GuardrailTopicsTierConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailTopicsTierNameMapper::GetGuardrailTopicsTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailTopicsTierConfig::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailTopicsTierNameMapper::GetNameForGuardrailTopicsTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp new file mode 100644 index 00000000000..5d4403610e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace GuardrailTopicsTierNameMapper + { + + static const int CLASSIC_HASH = HashingUtils::HashString("CLASSIC"); + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + GuardrailTopicsTierName GetGuardrailTopicsTierNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CLASSIC_HASH) + { + return GuardrailTopicsTierName::CLASSIC; + } + else if (hashCode == STANDARD_HASH) + { + return GuardrailTopicsTierName::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailTopicsTierName::NOT_SET; + } + + Aws::String GetNameForGuardrailTopicsTierName(GuardrailTopicsTierName enumValue) + { + switch(enumValue) + { + case GuardrailTopicsTierName::NOT_SET: + return {}; + case GuardrailTopicsTierName::CLASSIC: + return "CLASSIC"; + case GuardrailTopicsTierName::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailTopicsTierNameMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 53340b8d756..97f32468b5b 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -177,7 +177,7 @@ namespace ECS * Guide.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by * configuring the volume when creating or updating a service. * volumeConfigurations is only supported for REPLICA service and not - * DAEMON service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

                            Tasks for services that don't use a load balancer are @@ -1524,7 +1524,7 @@ namespace ECS *

                            Alternatively, you can use StartTask to use your own scheduler * or place tasks manually on specific container instances.

                            You can attach * Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating - * or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

                            The Amazon ECS API follows an eventual consistency model. This @@ -1590,7 +1590,7 @@ namespace ECS * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html">Scheduling * Tasks in the Amazon Elastic Container Service Developer Guide.

                            *

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the - * volume when creating or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

                            See Also:

                            You can attach Amazon * EBS volumes to Amazon ECS tasks by configuring the volume when starting or - * running a task, or when creating or updating a service. For more infomation, see - * Amazon * EBS volumes in the Amazon Elastic Container Service Developer Guide. * You can update your volume configurations and trigger a new deployment. * volumeConfigurations is only supported for REPLICA service and not * DAEMON service. If you leave volumeConfigurations - * null, it doesn't trigger a new deployment. For more infomation on + * null, it doesn't trigger a new deployment. For more information on * volumes, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer @@ -2053,7 +2053,7 @@ namespace ECS * definition in a service by specifying the cluster that the service is running in * and a new desiredCount parameter.

                            You can attach Amazon EBS * volumes to Amazon ECS tasks by configuring the volume when starting or running a - * task, or when creating or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

                            If you have updated the container image of your application, diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h index eae07352d7f..53c93ac36dd 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h @@ -81,10 +81,15 @@ namespace Model * Docker daemon. By default, images in the Docker Hub registry are available. * Other repositories are specified with either * repository-url/image:tag or - * repository-url/image@digest . Up to 255 letters - * (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, - * forward slashes, and number signs are allowed. This parameter maps to - * Image in the docker container create command and the + * repository-url/image@digest . For images using tags + * (repository-url/image:tag), up to 255 characters total are allowed, including + * letters (uppercase and lowercase), numbers, hyphens, underscores, colons, + * periods, forward slashes, and number signs (#). For images using digests + * (repository-url/image@digest), the 255 character limit applies only to the + * repository URL and image name (everything before the @ sign). The only supported + * hash function is sha256, and the hash value after sha256: must be exactly 64 + * characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter + * maps to Image in the docker container create command and the * IMAGE parameter of docker run.

                            • When a new task * starts, the Amazon ECS container agent pulls the latest version of the specified * image and tag for the container to use. However, subsequent updates to a diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h index 98e9d31f7e5..2e26491cd49 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h @@ -22,6 +22,8 @@ namespace Model WINDOWS_SERVER_2004_CORE, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_2022_FULL, + WINDOWS_SERVER_2025_CORE, + WINDOWS_SERVER_2025_FULL, WINDOWS_SERVER_20H2_CORE, LINUX }; diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h index 15ba01da0a7..e8b9cb05095 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h @@ -110,12 +110,13 @@ namespace Model * providers are Auto Scaling groups.

                              You can change capacity providers for * rolling deployments and blue/green deployments.

                              The following list * provides the valid transitions:

                              • Update the Fargate launch type - * to an EC2 capacity provider.

                              • Update the Amazon EC2 launch type - * to a Fargate capacity provider.

                              • Update the Fargate capacity - * provider to an EC2 capacity provider.

                              • Update the Amazon EC2 - * capacity provider to a Fargate capacity provider.

                              • Update the - * EC2 or Fargate capacity provider back to the launch type.

                                Pass an empty - * list in the capacityProvider parameter.

                              For + * to an Auto Scaling group capacity provider.

                            • Update the Amazon + * EC2 launch type to a Fargate capacity provider.

                            • Update the + * Fargate capacity provider to an Auto Scaling group capacity provider.

                            • + *
                            • Update the Amazon EC2 capacity provider to a Fargate capacity provider. + *

                            • Update the Auto Scaling group or Fargate capacity provider + * back to the launch type.

                              Pass an empty list in the + * capacityProviderStrategy parameter.

                            For * information about Amazon Web Services CDK considerations, see Amazon * Web Services CDK considerations.

                            diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp index 414db7d381a..e937a96267a 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp @@ -26,6 +26,8 @@ namespace Aws static const int WINDOWS_SERVER_2004_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2004_CORE"); static const int WINDOWS_SERVER_2022_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2022_CORE"); static const int WINDOWS_SERVER_2022_FULL_HASH = HashingUtils::HashString("WINDOWS_SERVER_2022_FULL"); + static const int WINDOWS_SERVER_2025_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2025_CORE"); + static const int WINDOWS_SERVER_2025_FULL_HASH = HashingUtils::HashString("WINDOWS_SERVER_2025_FULL"); static const int WINDOWS_SERVER_20H2_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_20H2_CORE"); static const int LINUX_HASH = HashingUtils::HashString("LINUX"); @@ -57,6 +59,14 @@ namespace Aws { return OSFamily::WINDOWS_SERVER_2022_FULL; } + else if (hashCode == WINDOWS_SERVER_2025_CORE_HASH) + { + return OSFamily::WINDOWS_SERVER_2025_CORE; + } + else if (hashCode == WINDOWS_SERVER_2025_FULL_HASH) + { + return OSFamily::WINDOWS_SERVER_2025_FULL; + } else if (hashCode == WINDOWS_SERVER_20H2_CORE_HASH) { return OSFamily::WINDOWS_SERVER_20H2_CORE; @@ -93,6 +103,10 @@ namespace Aws return "WINDOWS_SERVER_2022_CORE"; case OSFamily::WINDOWS_SERVER_2022_FULL: return "WINDOWS_SERVER_2022_FULL"; + case OSFamily::WINDOWS_SERVER_2025_CORE: + return "WINDOWS_SERVER_2025_CORE"; + case OSFamily::WINDOWS_SERVER_2025_FULL: + return "WINDOWS_SERVER_2025_FULL"; case OSFamily::WINDOWS_SERVER_20H2_CORE: return "WINDOWS_SERVER_20H2_CORE"; case OSFamily::LINUX: diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h index bf829a3e23b..8ee55e1b089 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h @@ -87,11 +87,13 @@ namespace GeoPlaces virtual ~GeoPlacesClient(); /** - *

                            The autocomplete operation speeds up and increases the accuracy of entering - * addresses by providing a list of address candidates matching a partially entered - * address. Results are sorted from most to least matching. Filtering and biasing - * can be used to increase the relevance of the results if additional search - * context is known

                            See Also:

                            Autocomplete completes potential places and addresses as the + * user types, based on the partial input. The API enhances the efficiency and + * accuracy of address by completing query based on a few entered keystrokes. It + * helps you by completing partial queries with valid address completion. Also, the + * API supports the filtering of results based on geographic location, country, or + * specific place types, and can be tailored using optional parameters like + * language and political views.

                            See Also:

                            AWS * API Reference

                            */ @@ -116,8 +118,12 @@ namespace GeoPlaces } /** - *

                            The Geocode action allows you to obtain coordinates, addresses, - * and other information about places.

                            See Also:

                            Geocode converts a textual address or place into geographic + * coordinates. You can obtain geographic coordinates, address component, and other + * related information. It supports flexible queries, including free-form text or + * structured queries with components like street names, postal codes, and regions. + * The Geocode API can also provide additional features such as time zone + * information and the inclusion of political views.

                            See Also:

                            AWS * API Reference

                            */ @@ -142,8 +148,8 @@ namespace GeoPlaces } /** - *

                            Finds a place by its unique ID. A PlaceId is returned by other - * place operations.

                            See Also:

                            GetPlace finds a place by its unique ID. A PlaceId + * is returned by other place operations.

                            See Also:

                            AWS * API Reference

                            */ @@ -168,8 +174,13 @@ namespace GeoPlaces } /** - *

                            The ReverseGeocode operation allows you to retrieve addresses - * and place information from coordinates.

                            See Also:

                            ReverseGeocode converts geographic coordinates into a + * human-readable address or place. You can obtain address component, and other + * related information such as place type, category, street information. The + * Reverse Geocode API supports filtering to on place type so that you can refine + * result based on your need. Also, The Reverse Geocode API can also provide + * additional features such as time zone information and the inclusion of political + * views.

                            See Also:

                            AWS * API Reference

                            */ @@ -194,7 +205,12 @@ namespace GeoPlaces } /** - *

                            Search nearby a specified location.

                            See Also:

                            SearchNearby queries for points of interest within a radius + * from a central coordinates, returning place results with optional filters such + * as categories, business chains, food types and more. The API returns details + * such as a place name, address, phone, category, food type, contact, opening + * hours. Also, the API can return phonemes, time zones and more based on requested + * parameters.

                            See Also:

                            AWS * API Reference

                            */ @@ -219,9 +235,9 @@ namespace GeoPlaces } /** - *

                            Use the SearchText operation to search for geocode and place - * information. You can then complete a follow-up query suggested from the - * Suggest API via a query id.

                            See Also:

                            SearchText searches for geocode and place information. You can + * then complete a follow-up query suggested from the Suggest API via + * a query id.

                            See Also:

                            AWS * API Reference

                            */ @@ -246,9 +262,17 @@ namespace GeoPlaces } /** - *

                            The Suggest operation finds addresses or place candidates based - * on incomplete or misspelled queries. You then select the best query to submit - * based on the returned results.

                            See Also:

                            Suggest provides intelligent predictions or recommendations + * based on the user's input or context, such as relevant places, points of + * interest, query terms or search category. It is designed to help users find + * places or point of interests candidates or identify a follow on query based on + * incomplete or misspelled queries. It returns a list of possible matches or + * refinements that can be used to formulate a more accurate query. Users can + * select the most appropriate suggestion and use it for further searching. The API + * provides options for filtering results by location and other attributes, and + * allows for additional features like phonemes and timezones. The response + * includes refined query terms and detailed place information.

                            See + * Also:

                            AWS * API Reference

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h index bfeb2a9eab2..9994ffa035e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -94,7 +95,7 @@ namespace Model ///@{ /** - *

                            The locality or city of the address.

                            Example: + *

                            The city or locality of the address.

                            Example: * Vancouver.

                            */ inline const Aws::String& GetLocality() const { return m_locality; } @@ -134,7 +135,7 @@ namespace Model /** *

                            An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code, for which the result should - * posses.

                            + * possess.

                            */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } @@ -235,6 +236,22 @@ namespace Model template Address& WithBuilding(BuildingT&& value) { SetBuilding(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                            Components that correspond to secondary identifiers on an Address. Secondary + * address components include information such as Suite or Unit Number, Building, + * or Floor.

                            + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + Address& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + Address& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_label; @@ -281,6 +298,9 @@ namespace Model Aws::String m_building; bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h index ad2291ad58e..c437daa440b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -106,7 +107,7 @@ namespace Model /** *

                            An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code, for which the result should - * posses.

                            + * possess.

                            */ inline double GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } @@ -169,6 +170,20 @@ namespace Model inline void SetBuilding(double value) { m_buildingHasBeenSet = true; m_building = value; } inline AddressComponentMatchScores& WithBuilding(double value) { SetBuilding(value); return *this;} ///@} + + ///@{ + /** + *

                            Match scores for the secondary address components in the result.

                            + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + AddressComponentMatchScores& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + AddressComponentMatchScores& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} private: double m_country{0.0}; @@ -206,6 +221,9 @@ namespace Model double m_building{0.0}; bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h index 6d5268007eb..09aea3a1824 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h @@ -158,7 +158,8 @@ namespace Model ///@{ /** - *

                            Name of the block. Example: Sunny Mansion 203 block: 2 Chome

                            + *

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 + * Chome

                            */ inline const Aws::Vector& GetBlock() const { return m_block; } inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } @@ -172,7 +173,8 @@ namespace Model ///@{ /** - *

                            Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                            + *

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: + * 4

                            */ inline const Aws::Vector& GetSubBlock() const { return m_subBlock; } inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } @@ -203,7 +205,7 @@ namespace Model /** *

                            An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                            + * possess.

                            */ inline const Aws::Vector& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h index 8806426edaf..b02910eca7f 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h @@ -28,7 +28,7 @@ namespace Model /** *

                            Autocomplete structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                            See + * that results must possess in order to be returned as a result.

                            See * Also:

                            AWS * API Reference

                            diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h index 82e4941fe8c..e6dcf3cebce 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h @@ -46,7 +46,9 @@ namespace Model ///@{ /** *

                            The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                            + * partially typed address from an end user in an address box or form.

                            + *

                            The fields QueryText, and QueryID are mutually + * exclusive.

                            */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -86,7 +88,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const AutocompleteFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -101,8 +103,9 @@ namespace Model *

                            The PostalCodeMode affects how postal code results are returned. * If a postal code spans multiple localities and this value is empty, partial * district or locality information may be returned under a single postal code - * result entry. If it's populated with the value cityLookup, all - * cities in that postal code are returned.

                            + * result entry. If it's populated with the value + * EnumerateSpannedLocalities, all cities in that postal code are + * returned.

                            */ inline PostalCodeMode GetPostalCodeMode() const { return m_postalCodeMode; } inline bool PostalCodeModeHasBeenSet() const { return m_postalCodeModeHasBeenSet; } @@ -144,6 +147,23 @@ namespace Model *

                            The alpha-2 or alpha-3 character code for the political view of a country. * The political view applies to the results of the request to represent unresolved * territorial claims through the point of view of the specified country.

                            + *

                            The following political views are currently supported:

                            • + * ARG: Argentina's view on the Southern Patagonian Ice Field and + * Tierra Del Fuego, including the Falkland Islands, South Georgia, and South + * Sandwich Islands

                            • EGY: Egypt's view on Bir + * Tawil

                            • IND: India's view on Gilgit-Baltistan

                              + *
                            • KEN: Kenya's view on the Ilemi Triangle

                            • + *
                            • MAR: Morocco's view on Western Sahara

                            • + * RUS: Russia's view on Crimea

                            • SDN: + * Sudan's view on the Halaib Triangle

                            • SRB: + * Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                            • + * SUR: Suriname's view on the Courantyne Headwaters and Lawa + * Headwaters

                            • SYR: Syria's view on the Golan + * Heights

                            • TUR: Turkey's view on Cyprus and + * Northern Cyprus

                            • TZA: Tanzania's view on Lake + * Malawi

                            • URY: Uruguay's view on Rincon de + * Artigas

                            • VNM: Vietnam's view on the Paracel + * Islands and Spratly Islands

                            */ inline const Aws::String& GetPoliticalView() const { return m_politicalView; } inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h index cb0380779b0..79a68745a48 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h index 862e966b2fa..f92ed486c3c 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h @@ -24,9 +24,10 @@ namespace Model { /** - *

                            Indicates how well the input matches the returned element. It is equal to 1 - * if all input tokens are recognized and matched to the title in the - * result.

                            See Also:

                            Indicates how well the returned title and address components matches the + * input TextQuery. For each component a score is provied with 1 indicating all + * tokens were matched and 0 indicating no tokens were matched.

                            See + * Also:

                            AWS * API Reference

                            */ @@ -41,8 +42,8 @@ namespace Model ///@{ /** - *

                            Indicates the starting and ending index of the title in the text query that - * match the found title.

                            + *

                            Indicates the match score of the title in the text query that match the found + * title.

                            */ inline double GetTitle() const { return m_title; } inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h index a1d24f0a9aa..9b5c68287bb 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, TimeZone, - Access + Access, + SecondaryAddresses, + Intersections }; namespace GeocodeAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h index 9402fe65f34..c0b3eee7992 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                            Geocode structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            See + * results must possess in order to be returned as a result.

                            See * Also:

                            AWS * API Reference

                            diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQuery.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQuery.h new file mode 100644 index 00000000000..d0cae9543c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQuery.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Parsed components in the provided QueryText.

                            See Also:

                            AWS + * API Reference

                            + */ + class GeocodeParsedQuery + { + public: + AWS_GEOPLACES_API GeocodeParsedQuery() = default; + AWS_GEOPLACES_API GeocodeParsedQuery(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API GeocodeParsedQuery& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The localized display name of this result item based on request parameter + * language.

                            + */ + inline const Aws::Vector& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template> + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template> + GeocodeParsedQuery& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + template + GeocodeParsedQuery& AddTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The place address.

                            + */ + inline const GeocodeParsedQueryAddressComponents& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + GeocodeParsedQuery& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_title; + bool m_titleHasBeenSet = false; + + GeocodeParsedQueryAddressComponents m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h new file mode 100644 index 00000000000..0a5f345cdc2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h @@ -0,0 +1,276 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Parsed address components in the provided QueryText.

                            See Also:

                            + * AWS + * API Reference

                            + */ + class GeocodeParsedQueryAddressComponents + { + public: + AWS_GEOPLACES_API GeocodeParsedQueryAddressComponents() = default; + AWS_GEOPLACES_API GeocodeParsedQueryAddressComponents(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API GeocodeParsedQueryAddressComponents& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                            + */ + inline const Aws::Vector& GetCountry() const { return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + template> + void SetCountry(CountryT&& value) { m_countryHasBeenSet = true; m_country = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithCountry(CountryT&& value) { SetCountry(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddCountry(CountryT&& value) { m_countryHasBeenSet = true; m_country.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The region or state results should be present in.

                            Example: + * North Rhine-Westphalia.

                            + */ + inline const Aws::Vector& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template> + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The sub-region or county for which results should be present in.

                            + */ + inline const Aws::Vector& GetSubRegion() const { return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + template> + void SetSubRegion(SubRegionT&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubRegion(SubRegionT&& value) { SetSubRegion(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubRegion(SubRegionT&& value) { m_subRegionHasBeenSet = true; m_subRegion.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The city or locality of the address.

                            Example: + * Vancouver.

                            + */ + inline const Aws::Vector& GetLocality() const { return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + template> + void SetLocality(LocalityT&& value) { m_localityHasBeenSet = true; m_locality = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithLocality(LocalityT&& value) { SetLocality(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddLocality(LocalityT&& value) { m_localityHasBeenSet = true; m_locality.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The district or division of a city the results should be present in.

                            + */ + inline const Aws::Vector& GetDistrict() const { return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + template> + void SetDistrict(DistrictT&& value) { m_districtHasBeenSet = true; m_district = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithDistrict(DistrictT&& value) { SetDistrict(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddDistrict(DistrictT&& value) { m_districtHasBeenSet = true; m_district.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            A subdivision of a district.

                            Example: + * Minden-Lübbecke.

                            + */ + inline const Aws::Vector& GetSubDistrict() const { return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + template> + void SetSubDistrict(SubDistrictT&& value) { m_subDistrictHasBeenSet = true; m_subDistrict = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubDistrict(SubDistrictT&& value) { SetSubDistrict(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubDistrict(SubDistrictT&& value) { m_subDistrictHasBeenSet = true; m_subDistrict.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code, for which the result should + * possess.

                            + */ + inline const Aws::Vector& GetPostalCode() const { return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + template> + void SetPostalCode(PostalCodeT&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithPostalCode(PostalCodeT&& value) { SetPostalCode(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddPostalCode(PostalCodeT&& value) { m_postalCodeHasBeenSet = true; m_postalCode.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 + * Chome

                            + */ + inline const Aws::Vector& GetBlock() const { return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + template> + void SetBlock(BlockT&& value) { m_blockHasBeenSet = true; m_block = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithBlock(BlockT&& value) { SetBlock(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddBlock(BlockT&& value) { m_blockHasBeenSet = true; m_block.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: + * 4

                            + */ + inline const Aws::Vector& GetSubBlock() const { return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + template> + void SetSubBlock(SubBlockT&& value) { m_subBlockHasBeenSet = true; m_subBlock = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubBlock(SubBlockT&& value) { SetSubBlock(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubBlock(SubBlockT&& value) { m_subBlockHasBeenSet = true; m_subBlock.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The name of the street results should be present in.

                            + */ + inline const Aws::Vector& GetStreet() const { return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + template> + void SetStreet(StreetT&& value) { m_streetHasBeenSet = true; m_street = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithStreet(StreetT&& value) { SetStreet(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddStreet(StreetT&& value) { m_streetHasBeenSet = true; m_street.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The number that identifies an address within a street.

                            + */ + inline const Aws::Vector& GetAddressNumber() const { return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + template> + void SetAddressNumber(AddressNumberT&& value) { m_addressNumberHasBeenSet = true; m_addressNumber = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithAddressNumber(AddressNumberT&& value) { SetAddressNumber(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddAddressNumber(AddressNumberT&& value) { m_addressNumberHasBeenSet = true; m_addressNumber.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The name of the building at the address.

                            + */ + inline const Aws::Vector& GetBuilding() const { return m_building; } + inline bool BuildingHasBeenSet() const { return m_buildingHasBeenSet; } + template> + void SetBuilding(BuildingT&& value) { m_buildingHasBeenSet = true; m_building = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithBuilding(BuildingT&& value) { SetBuilding(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddBuilding(BuildingT&& value) { m_buildingHasBeenSet = true; m_building.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            Parsed secondary address components from the provided query text.

                            + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_country; + bool m_countryHasBeenSet = false; + + Aws::Vector m_region; + bool m_regionHasBeenSet = false; + + Aws::Vector m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::Vector m_locality; + bool m_localityHasBeenSet = false; + + Aws::Vector m_district; + bool m_districtHasBeenSet = false; + + Aws::Vector m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + Aws::Vector m_postalCode; + bool m_postalCodeHasBeenSet = false; + + Aws::Vector m_block; + bool m_blockHasBeenSet = false; + + Aws::Vector m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector m_street; + bool m_streetHasBeenSet = false; + + Aws::Vector m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + Aws::Vector m_building; + bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h index 83a6991fba1..e8a382e8d9a 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h @@ -79,7 +79,7 @@ namespace Model ///@{ /** - *

                            City or locality results should be present in.

                            Example: + *

                            The city or locality results should be present in.

                            Example: * Vancouver.

                            */ inline const Aws::String& GetLocality() const { return m_locality; } @@ -130,7 +130,7 @@ namespace Model /** *

                            An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                            + * possess.

                            */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h index 1766a3488cc..558daede243 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h @@ -46,7 +46,9 @@ namespace Model ///@{ /** *

                            The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                            + * partially typed address from an end user in an address box or form.

                            + *

                            The fields QueryText, and QueryID are mutually + * exclusive.

                            */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -96,7 +98,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const GeocodeFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -152,7 +154,12 @@ namespace Model ///@{ /** *

                            Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                            + * if left empty.

                            Storing the response of an Geocode query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                            + * */ inline GeocodeIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h index 72571505ac4..b10498a2dbc 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h index bb8413b5c96..89be9cac118 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h @@ -11,10 +11,13 @@ #include #include #include +#include +#include #include #include #include #include +#include #include namespace Aws @@ -48,8 +51,7 @@ namespace Model ///@{ /** - *

                            The PlaceId of the place you wish to receive the information - * for.

                            + *

                            The PlaceId of the place result.

                            */ inline const Aws::String& GetPlaceId() const { return m_placeId; } inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } @@ -188,7 +190,7 @@ namespace Model ///@{ /** - *

                            Position of the access point represent by longitude and latitude.

                            + *

                            Position of the access point represented by longitude and latitude.

                            */ inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } @@ -238,6 +240,60 @@ namespace Model template GeocodeResultItem& WithMatchScores(MatchScoresT&& value) { SetMatchScores(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                            Free-form text query.

                            + */ + inline const GeocodeParsedQuery& GetParsedQuery() const { return m_parsedQuery; } + inline bool ParsedQueryHasBeenSet() const { return m_parsedQueryHasBeenSet; } + template + void SetParsedQuery(ParsedQueryT&& value) { m_parsedQueryHasBeenSet = true; m_parsedQuery = std::forward(value); } + template + GeocodeResultItem& WithParsedQuery(ParsedQueryT&& value) { SetParsedQuery(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            All Intersections that are near the provided address.

                            + */ + inline const Aws::Vector& GetIntersections() const { return m_intersections; } + inline bool IntersectionsHasBeenSet() const { return m_intersectionsHasBeenSet; } + template> + void SetIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections = std::forward(value); } + template> + GeocodeResultItem& WithIntersections(IntersectionsT&& value) { SetIntersections(std::forward(value)); return *this;} + template + GeocodeResultItem& AddIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                            The main address corresponding to a place of type Secondary Address.

                            + */ + inline const RelatedPlace& GetMainAddress() const { return m_mainAddress; } + inline bool MainAddressHasBeenSet() const { return m_mainAddressHasBeenSet; } + template + void SetMainAddress(MainAddressT&& value) { m_mainAddressHasBeenSet = true; m_mainAddress = std::forward(value); } + template + GeocodeResultItem& WithMainAddress(MainAddressT&& value) { SetMainAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            All secondary addresses that are associated with a main address. A secondary + * address is one that includes secondary designators, such as a Suite or Unit + * Number, Building, or Floor information.

                            + */ + inline const Aws::Vector& GetSecondaryAddresses() const { return m_secondaryAddresses; } + inline bool SecondaryAddressesHasBeenSet() const { return m_secondaryAddressesHasBeenSet; } + template> + void SetSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses = std::forward(value); } + template> + GeocodeResultItem& WithSecondaryAddresses(SecondaryAddressesT&& value) { SetSecondaryAddresses(std::forward(value)); return *this;} + template + GeocodeResultItem& AddSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_placeId; @@ -284,6 +340,18 @@ namespace Model MatchScoreDetails m_matchScores; bool m_matchScoresHasBeenSet = false; + + GeocodeParsedQuery m_parsedQuery; + bool m_parsedQueryHasBeenSet = false; + + Aws::Vector m_intersections; + bool m_intersectionsHasBeenSet = false; + + RelatedPlace m_mainAddress; + bool m_mainAddressHasBeenSet = false; + + Aws::Vector m_secondaryAddresses; + bool m_secondaryAddressesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h index d06910caa41..ba8e48a5276 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h @@ -19,7 +19,8 @@ namespace Model TimeZone, Phonemes, Access, - Contact + Contact, + SecondaryAddresses }; namespace GetPlaceAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h index 15f74768e22..0a9d80f1581 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h @@ -100,7 +100,12 @@ namespace Model ///@{ /** *

                            Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                            + * if left empty.

                            Storing the response of an GetPlace query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                            + * */ inline GetPlaceIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h index 3c04b0a28c0..01348b380c9 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -70,7 +71,7 @@ namespace Model ///@{ /** *

                            The localized display name of this result item based on request parameter - * language.

                            + * language.

                            */ inline const Aws::String& GetTitle() const { return m_title; } template @@ -82,7 +83,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ @@ -280,6 +281,32 @@ namespace Model GetPlaceResult& WithPhonemes(PhonemesT&& value) { SetPhonemes(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                            The main address corresponding to a place of type Secondary Address.

                            + */ + inline const RelatedPlace& GetMainAddress() const { return m_mainAddress; } + template + void SetMainAddress(MainAddressT&& value) { m_mainAddressHasBeenSet = true; m_mainAddress = std::forward(value); } + template + GetPlaceResult& WithMainAddress(MainAddressT&& value) { SetMainAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            All secondary addresses that are associated with a main address. A secondary + * address is one that includes secondary designators, such as a Suite or Unit + * Number, Building, or Floor information.

                            + */ + inline const Aws::Vector& GetSecondaryAddresses() const { return m_secondaryAddresses; } + template> + void SetSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses = std::forward(value); } + template> + GetPlaceResult& WithSecondaryAddresses(SecondaryAddressesT&& value) { SetSecondaryAddresses(std::forward(value)); return *this;} + template + GetPlaceResult& AddSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -347,6 +374,12 @@ namespace Model PhonemeDetails m_phonemes; bool m_phonemesHasBeenSet = false; + RelatedPlace m_mainAddress; + bool m_mainAddressHasBeenSet = false; + + Aws::Vector m_secondaryAddresses; + bool m_secondaryAddressesHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h index c6c3f46dbaa..7776df90ca9 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h @@ -24,8 +24,8 @@ namespace Model { /** - *

                            Describes how parts of the result response match the input - * query.

                            See Also:

                            Indicates the starting and ending index of the text query that match the + * found title.

                            See Also:

                            AWS * API Reference

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Intersection.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Intersection.h new file mode 100644 index 00000000000..f847d40e40e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Intersection.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            All Intersections that are near the provided address.

                            See + * Also:

                            AWS + * API Reference

                            + */ + class Intersection + { + public: + AWS_GEOPLACES_API Intersection() = default; + AWS_GEOPLACES_API Intersection(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Intersection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The PlaceId of the place result.

                            + */ + inline const Aws::String& GetPlaceId() const { return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + template + void SetPlaceId(PlaceIdT&& value) { m_placeIdHasBeenSet = true; m_placeId = std::forward(value); } + template + Intersection& WithPlaceId(PlaceIdT&& value) { SetPlaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The localized display name of this result item based on request parameter + * language.

                            + */ + inline const Aws::String& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template + Intersection& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Address& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + Intersection& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The position, in longitude and latitude.

                            + */ + inline const Aws::Vector& GetPosition() const { return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + template> + void SetPosition(PositionT&& value) { m_positionHasBeenSet = true; m_position = std::forward(value); } + template> + Intersection& WithPosition(PositionT&& value) { SetPosition(std::forward(value)); return *this;} + inline Intersection& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                            The distance in meters from the QueryPosition.

                            + */ + inline long long GetDistance() const { return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline Intersection& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                            The distance from the routing position of the nearby address to the street + * result.

                            + */ + inline long long GetRouteDistance() const { return m_routeDistance; } + inline bool RouteDistanceHasBeenSet() const { return m_routeDistanceHasBeenSet; } + inline void SetRouteDistance(long long value) { m_routeDistanceHasBeenSet = true; m_routeDistance = value; } + inline Intersection& WithRouteDistance(long long value) { SetRouteDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                            The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                            The bounding box formed is defined as a set of + * four coordinates: [{westward lng}, {southern lat}, {eastward lng}, + * {northern lat}]

                            + */ + inline const Aws::Vector& GetMapView() const { return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + template> + void SetMapView(MapViewT&& value) { m_mapViewHasBeenSet = true; m_mapView = std::forward(value); } + template> + Intersection& WithMapView(MapViewT&& value) { SetMapView(std::forward(value)); return *this;} + inline Intersection& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                            Position of the access point represented by longitude and latitude.

                            + */ + inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + template> + void SetAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::forward(value); } + template> + Intersection& WithAccessPoints(AccessPointsT&& value) { SetAccessPoints(std::forward(value)); return *this;} + template + Intersection& AddAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance{0}; + bool m_distanceHasBeenSet = false; + + long long m_routeDistance{0}; + bool m_routeDistanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h new file mode 100644 index 00000000000..5e4fd30827f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Parsed components in the provided QueryText.

                            See Also:

                            AWS + * API Reference

                            + */ + class ParsedQueryComponent + { + public: + AWS_GEOPLACES_API ParsedQueryComponent() = default; + AWS_GEOPLACES_API ParsedQueryComponent(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ParsedQueryComponent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            Start index of the parsed query component.

                            + */ + inline int GetStartIndex() const { return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline ParsedQueryComponent& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                            End index of the parsed query component.

                            + */ + inline int GetEndIndex() const { return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline ParsedQueryComponent& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                            Value of the parsed query component.

                            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + ParsedQueryComponent& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The address component that the parsed query component corresponds to.

                            + */ + inline const Aws::String& GetQueryComponent() const { return m_queryComponent; } + inline bool QueryComponentHasBeenSet() const { return m_queryComponentHasBeenSet; } + template + void SetQueryComponent(QueryComponentT&& value) { m_queryComponentHasBeenSet = true; m_queryComponent = std::forward(value); } + template + ParsedQueryComponent& WithQueryComponent(QueryComponentT&& value) { SetQueryComponent(std::forward(value)); return *this;} + ///@} + private: + + int m_startIndex{0}; + bool m_startIndexHasBeenSet = false; + + int m_endIndex{0}; + bool m_endIndexHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_queryComponent; + bool m_queryComponentHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h new file mode 100644 index 00000000000..1cf07b2504a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Information about a secondary address component parsed from the query + * text.

                            See Also:

                            AWS + * API Reference

                            + */ + class ParsedQuerySecondaryAddressComponent + { + public: + AWS_GEOPLACES_API ParsedQuerySecondaryAddressComponent() = default; + AWS_GEOPLACES_API ParsedQuerySecondaryAddressComponent(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ParsedQuerySecondaryAddressComponent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            Start index of the parsed secondary address component in the query text.

                            + */ + inline int GetStartIndex() const { return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline ParsedQuerySecondaryAddressComponent& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                            End index of the parsed secondary address component in the query text.

                            + */ + inline int GetEndIndex() const { return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline ParsedQuerySecondaryAddressComponent& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                            Value of the parsed secondary address component.

                            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            Secondary address number provided in the query.

                            + */ + inline const Aws::String& GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + template + void SetNumber(NumberT&& value) { m_numberHasBeenSet = true; m_number = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithNumber(NumberT&& value) { SetNumber(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            Secondary address designator provided in the query.

                            + */ + inline const Aws::String& GetDesignator() const { return m_designator; } + inline bool DesignatorHasBeenSet() const { return m_designatorHasBeenSet; } + template + void SetDesignator(DesignatorT&& value) { m_designatorHasBeenSet = true; m_designator = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithDesignator(DesignatorT&& value) { SetDesignator(std::forward(value)); return *this;} + ///@} + private: + + int m_startIndex{0}; + bool m_startIndexHasBeenSet = false; + + int m_endIndex{0}; + bool m_endIndexHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_number; + bool m_numberHasBeenSet = false; + + Aws::String m_designator; + bool m_designatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h index e7ae2a84a3a..c1342f466ea 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h @@ -29,7 +29,8 @@ namespace Model Street, PointOfInterest, PointAddress, - InterpolatedAddress + InterpolatedAddress, + SecondaryAddress }; namespace PlaceTypeMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h index 84d246993d0..156c8c548d6 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h @@ -46,7 +46,7 @@ namespace Model /** *

                            An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                            + * possess.

                            */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h new file mode 100644 index 00000000000..817fde288fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Place that is related to the result item.

                            See Also:

                            AWS + * API Reference

                            + */ + class RelatedPlace + { + public: + AWS_GEOPLACES_API RelatedPlace() = default; + AWS_GEOPLACES_API RelatedPlace(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API RelatedPlace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The PlaceId of the place result.

                            + */ + inline const Aws::String& GetPlaceId() const { return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + template + void SetPlaceId(PlaceIdT&& value) { m_placeIdHasBeenSet = true; m_placeId = std::forward(value); } + template + RelatedPlace& WithPlaceId(PlaceIdT&& value) { SetPlaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            A PlaceType is a category that the result place must belong + * to.

                            + */ + inline PlaceType GetPlaceType() const { return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(PlaceType value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline RelatedPlace& WithPlaceType(PlaceType value) { SetPlaceType(value); return *this;} + ///@} + + ///@{ + /** + *

                            The localized display name of this result item based on request parameter + * language.

                            + */ + inline const Aws::String& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template + RelatedPlace& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Address& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + RelatedPlace& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            The position, in longitude and latitude.

                            + */ + inline const Aws::Vector& GetPosition() const { return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + template> + void SetPosition(PositionT&& value) { m_positionHasBeenSet = true; m_position = std::forward(value); } + template> + RelatedPlace& WithPosition(PositionT&& value) { SetPosition(std::forward(value)); return *this;} + inline RelatedPlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                            Position of the access point represented by longitude and latitude.

                            + */ + inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + template> + void SetAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::forward(value); } + template> + RelatedPlace& WithAccessPoints(AccessPointsT&& value) { SetAccessPoints(std::forward(value)); return *this;} + template + RelatedPlace& AddAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType{PlaceType::NOT_SET}; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h index 863017c3aae..3298cc7e355 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, TimeZone, - Access + Access, + Intersections }; namespace ReverseGeocodeAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h index cb6cb7c5055..327e484c581 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h @@ -45,7 +45,7 @@ namespace Model ///@{ /** *

                            The position, in [lng, lat] for which you are querying nearby - * resultsfor. Results closer to the position will be ranked higher then results + * results for. Results closer to the position will be ranked higher then results * further away from the position

                            */ inline const Aws::Vector& GetQueryPosition() const { return m_queryPosition; } @@ -81,7 +81,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const ReverseGeocodeFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -137,7 +137,12 @@ namespace Model ///@{ /** *

                            Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                            + * if left empty.

                            Storing the response of an ReverseGeocode query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                            + * */ inline ReverseGeocodeIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h index b08de9c1787..b26da46015e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h index 725a2fca498..518c4cc717b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h @@ -14,6 +14,7 @@ #include #include #include +#include #include namespace Aws @@ -188,7 +189,7 @@ namespace Model ///@{ /** - *

                            Position of the access point represent by longitude and latitude.

                            + *

                            Position of the access point represented by longitude and latitude.

                            */ inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } @@ -225,6 +226,20 @@ namespace Model template ReverseGeocodeResultItem& WithPoliticalView(PoliticalViewT&& value) { SetPoliticalView(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                            All Intersections that are near the provided address.

                            + */ + inline const Aws::Vector& GetIntersections() const { return m_intersections; } + inline bool IntersectionsHasBeenSet() const { return m_intersectionsHasBeenSet; } + template> + void SetIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections = std::forward(value); } + template> + ReverseGeocodeResultItem& WithIntersections(IntersectionsT&& value) { SetIntersections(std::forward(value)); return *this;} + template + ReverseGeocodeResultItem& AddIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_placeId; @@ -268,6 +283,9 @@ namespace Model Aws::String m_politicalView; bool m_politicalViewHasBeenSet = false; + + Aws::Vector m_intersections; + bool m_intersectionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h index cbeb059a61e..651a3d193ca 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h @@ -26,7 +26,7 @@ namespace Model /** *

                            SearchNearby structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                            See + * that results must possess in order to be returned as a result.

                            See * Also:

                            AWS * API Reference

                            diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h index e8f3fa7c03e..3c26044b68c 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h @@ -45,7 +45,7 @@ namespace Model ///@{ /** *

                            The position, in [lng, lat] for which you are querying nearby - * resultsfor. Results closer to the position will be ranked higher then results + * results for. Results closer to the position will be ranked higher then results * further away from the position

                            */ inline const Aws::Vector& GetQueryPosition() const { return m_queryPosition; } @@ -60,7 +60,8 @@ namespace Model ///@{ /** *

                            The maximum distance in meters from the QueryPosition from which a result - * will be returned.

                            + * will be returned.

                            The fields QueryText, and + * QueryID are mutually exclusive.

                            */ inline long long GetQueryRadius() const { return m_queryRadius; } inline bool QueryRadiusHasBeenSet() const { return m_queryRadiusHasBeenSet; } @@ -81,7 +82,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const SearchNearbyFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -137,7 +138,12 @@ namespace Model ///@{ /** *

                            Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                            + * if left empty.

                            Storing the response of an SearchNearby query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                            + * */ inline SearchNearbyIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h index e458b8472d0..e1a1ec6ea6d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h index 6f1ecbf7596..0e506e63a52 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                            SearchText structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                            See + * that results must possess in order to be returned as a result.

                            See * Also:

                            AWS * API Reference

                            diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h index 2d32a4b0dc5..a1962580e58 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h @@ -45,7 +45,9 @@ namespace Model ///@{ /** *

                            The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                            + * partially typed address from an end user in an address box or form.

                            + *

                            The fields QueryText, and QueryID are mutually + * exclusive.

                            */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -57,7 +59,11 @@ namespace Model ///@{ /** - *

                            The query Id.

                            + *

                            The query Id returned by the suggest API. If passed in the request, the + * SearchText API will preform a SearchText query with the improved query terms for + * the original query made to the suggest API.

                            The fields + * QueryText, and QueryID are mutually exclusive.

                            + * */ inline const Aws::String& GetQueryId() const { return m_queryId; } inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } @@ -97,7 +103,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const SearchTextFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -153,7 +159,12 @@ namespace Model ///@{ /** *

                            Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                            + * if left empty.

                            Storing the response of an SearchText query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                            + * */ inline SearchTextIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h index fed93045178..afe2e9e2d42 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponent.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponent.h new file mode 100644 index 00000000000..7bbe558283f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponent.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Components that correspond to secondary identifiers on an address. The only + * component type supported currently is Unit.

                            See Also:

                            AWS + * API Reference

                            + */ + class SecondaryAddressComponent + { + public: + AWS_GEOPLACES_API SecondaryAddressComponent() = default; + AWS_GEOPLACES_API SecondaryAddressComponent(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SecondaryAddressComponent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            Number that uniquely identifies a secondary address.

                            + */ + inline const Aws::String& GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + template + void SetNumber(NumberT&& value) { m_numberHasBeenSet = true; m_number = std::forward(value); } + template + SecondaryAddressComponent& WithNumber(NumberT&& value) { SetNumber(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_number; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h new file mode 100644 index 00000000000..f2d38004774 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                            Match score for a secondary address component in the result.

                            See + * Also:

                            AWS + * API Reference

                            + */ + class SecondaryAddressComponentMatchScore + { + public: + AWS_GEOPLACES_API SecondaryAddressComponentMatchScore() = default; + AWS_GEOPLACES_API SecondaryAddressComponentMatchScore(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SecondaryAddressComponentMatchScore& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            Match score for the secondary address number.

                            + */ + inline double GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + inline void SetNumber(double value) { m_numberHasBeenSet = true; m_number = value; } + inline SecondaryAddressComponentMatchScore& WithNumber(double value) { SetNumber(value); return *this;} + ///@} + private: + + double m_number{0.0}; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h index ce94bef3acc..f8f5bf40ffe 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

                            Base name part of the street name.

                            Example: Younge from the “Younge + *

                            Base name part of the street name.

                            Example: Younge from the "Younge * street".

                            */ inline const Aws::String& GetBaseName() const { return m_baseName; } @@ -54,7 +54,7 @@ namespace Model ///@{ /** *

                            Street type part of the street name.

                            Example: - * “avenue".

                            + * "avenue".

                            */ inline const Aws::String& GetType() const { return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -76,7 +76,8 @@ namespace Model ///@{ /** - *

                            What character(s) separates the string from its type.

                            + *

                            Defines a separator character such as "" or " " + * between the base name and type.

                            */ inline const Aws::String& GetTypeSeparator() const { return m_typeSeparator; } inline bool TypeSeparatorHasBeenSet() const { return m_typeSeparatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h index 6dda8a3fed7..e7e2a9f2d36 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                            SuggestFilter structure which contains a set of inclusion/exclusion - * properties that results must posses in order to be returned as a + * properties that results must possess in order to be returned as a * result.

                            See Also:

                            AWS * API Reference

                            diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h index 00f17b34ee1..4b1d8dbc18d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h @@ -45,7 +45,8 @@ namespace Model * political view and language. See the SearchText API documentation for more * details SearchText - * API docs.

                            + * API docs.

                            The fields QueryText, and + * QueryID are mutually exclusive.

                            */ inline const Aws::String& GetQueryId() const { return m_queryId; } inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } @@ -57,7 +58,7 @@ namespace Model ///@{ /** - *

                            The query type. Category qeuries will search for places which have an entry + *

                            The query type. Category queries will search for places which have an entry * matching the given category, for example "doctor office". BusinessChain queries * will search for instances of a given business.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h index b317170da2c..d44b6108c2b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h @@ -45,7 +45,9 @@ namespace Model ///@{ /** *

                            The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                            + * partially typed address from an end user in an address box or form.

                            + *

                            The fields QueryText, and QueryID are mutually + * exclusive.

                            */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -96,7 +98,7 @@ namespace Model ///@{ /** *

                            A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                            + * results must possess in order to be returned as a result.

                            */ inline const SuggestFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h index b92dbf1e36a..ade3589b87d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** *

                            The pricing bucket for which the query is charged at.

                            For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                            */ diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp index 6eaee5342a0..98931a817f3 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace GeoPlaces { -const size_t GeoPlacesEndpointRules::RulesBlobStrLen = 6649; -const size_t GeoPlacesEndpointRules::RulesBlobSize = 6650; +const size_t GeoPlacesEndpointRules::RulesBlobStrLen = 6621; +const size_t GeoPlacesEndpointRules::RulesBlobSize = 6622; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -148,139 +148,138 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"', 'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u','s','-','g', -'o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e', -'s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o', -'v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', -'a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', -'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','p','l','a','c','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i', -'o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', -'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u', -'s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', -'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', +'/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v', +'2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m', +'e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o','-','f', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/', +'v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a', +'m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', 'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', -'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a', -'c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', -'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', -'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', -'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p', -'p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g', -'e','o','-','p','l','a','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', +'a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o', +'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', +'t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a','c','e','s', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', '}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', '}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', -'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', -'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','g','e','o','-','p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', -'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a', +'n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',', +' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', 'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-', -'p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +'p','l','a','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'g','e','o','-','p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D', +'u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', +'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a', +'c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s', +'s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' }}; const char* GeoPlacesEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp index c4c62760956..1bbead42cfe 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp @@ -108,6 +108,15 @@ Address& Address::operator =(JsonView jsonValue) m_building = jsonValue.GetString("Building"); m_buildingHasBeenSet = true; } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } return *this; } @@ -215,6 +224,17 @@ JsonValue Address::Jsonize() const } + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp index 95cd46aebfa..27737030216 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp @@ -89,6 +89,15 @@ AddressComponentMatchScores& AddressComponentMatchScores::operator =(JsonView js m_building = jsonValue.GetDouble("Building"); m_buildingHasBeenSet = true; } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } return *this; } @@ -173,6 +182,17 @@ JsonValue AddressComponentMatchScores::Jsonize() const } + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp index 7dbed83759b..e661500227a 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp @@ -22,6 +22,8 @@ namespace Aws static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); static const int Access_HASH = HashingUtils::HashString("Access"); + static const int SecondaryAddresses_HASH = HashingUtils::HashString("SecondaryAddresses"); + static const int Intersections_HASH = HashingUtils::HashString("Intersections"); GeocodeAdditionalFeature GetGeocodeAdditionalFeatureForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return GeocodeAdditionalFeature::Access; } + else if (hashCode == SecondaryAddresses_HASH) + { + return GeocodeAdditionalFeature::SecondaryAddresses; + } + else if (hashCode == Intersections_HASH) + { + return GeocodeAdditionalFeature::Intersections; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "TimeZone"; case GeocodeAdditionalFeature::Access: return "Access"; + case GeocodeAdditionalFeature::SecondaryAddresses: + return "SecondaryAddresses"; + case GeocodeAdditionalFeature::Intersections: + return "Intersections"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp new file mode 100644 index 00000000000..a48d44a4568 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +GeocodeParsedQuery::GeocodeParsedQuery(JsonView jsonValue) +{ + *this = jsonValue; +} + +GeocodeParsedQuery& GeocodeParsedQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + Aws::Utils::Array titleJsonList = jsonValue.GetArray("Title"); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + m_title.push_back(titleJsonList[titleIndex].AsObject()); + } + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + return *this; +} + +JsonValue GeocodeParsedQuery::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + Aws::Utils::Array titleJsonList(m_title.size()); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + titleJsonList[titleIndex].AsObject(m_title[titleIndex].Jsonize()); + } + payload.WithArray("Title", std::move(titleJsonList)); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp new file mode 100644 index 00000000000..0490db0c058 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp @@ -0,0 +1,300 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +GeocodeParsedQueryAddressComponents::GeocodeParsedQueryAddressComponents(JsonView jsonValue) +{ + *this = jsonValue; +} + +GeocodeParsedQueryAddressComponents& GeocodeParsedQueryAddressComponents::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + Aws::Utils::Array countryJsonList = jsonValue.GetArray("Country"); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + m_country.push_back(countryJsonList[countryIndex].AsObject()); + } + m_countryHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + Aws::Utils::Array regionJsonList = jsonValue.GetArray("Region"); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + m_region.push_back(regionJsonList[regionIndex].AsObject()); + } + m_regionHasBeenSet = true; + } + if(jsonValue.ValueExists("SubRegion")) + { + Aws::Utils::Array subRegionJsonList = jsonValue.GetArray("SubRegion"); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + m_subRegion.push_back(subRegionJsonList[subRegionIndex].AsObject()); + } + m_subRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("Locality")) + { + Aws::Utils::Array localityJsonList = jsonValue.GetArray("Locality"); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + m_locality.push_back(localityJsonList[localityIndex].AsObject()); + } + m_localityHasBeenSet = true; + } + if(jsonValue.ValueExists("District")) + { + Aws::Utils::Array districtJsonList = jsonValue.GetArray("District"); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + m_district.push_back(districtJsonList[districtIndex].AsObject()); + } + m_districtHasBeenSet = true; + } + if(jsonValue.ValueExists("SubDistrict")) + { + Aws::Utils::Array subDistrictJsonList = jsonValue.GetArray("SubDistrict"); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + m_subDistrict.push_back(subDistrictJsonList[subDistrictIndex].AsObject()); + } + m_subDistrictHasBeenSet = true; + } + if(jsonValue.ValueExists("PostalCode")) + { + Aws::Utils::Array postalCodeJsonList = jsonValue.GetArray("PostalCode"); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + m_postalCode.push_back(postalCodeJsonList[postalCodeIndex].AsObject()); + } + m_postalCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("Block")) + { + Aws::Utils::Array blockJsonList = jsonValue.GetArray("Block"); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + m_block.push_back(blockJsonList[blockIndex].AsObject()); + } + m_blockHasBeenSet = true; + } + if(jsonValue.ValueExists("SubBlock")) + { + Aws::Utils::Array subBlockJsonList = jsonValue.GetArray("SubBlock"); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + m_subBlock.push_back(subBlockJsonList[subBlockIndex].AsObject()); + } + m_subBlockHasBeenSet = true; + } + if(jsonValue.ValueExists("Street")) + { + Aws::Utils::Array streetJsonList = jsonValue.GetArray("Street"); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + m_street.push_back(streetJsonList[streetIndex].AsObject()); + } + m_streetHasBeenSet = true; + } + if(jsonValue.ValueExists("AddressNumber")) + { + Aws::Utils::Array addressNumberJsonList = jsonValue.GetArray("AddressNumber"); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + m_addressNumber.push_back(addressNumberJsonList[addressNumberIndex].AsObject()); + } + m_addressNumberHasBeenSet = true; + } + if(jsonValue.ValueExists("Building")) + { + Aws::Utils::Array buildingJsonList = jsonValue.GetArray("Building"); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + m_building.push_back(buildingJsonList[buildingIndex].AsObject()); + } + m_buildingHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } + return *this; +} + +JsonValue GeocodeParsedQueryAddressComponents::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + Aws::Utils::Array countryJsonList(m_country.size()); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + countryJsonList[countryIndex].AsObject(m_country[countryIndex].Jsonize()); + } + payload.WithArray("Country", std::move(countryJsonList)); + + } + + if(m_regionHasBeenSet) + { + Aws::Utils::Array regionJsonList(m_region.size()); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + regionJsonList[regionIndex].AsObject(m_region[regionIndex].Jsonize()); + } + payload.WithArray("Region", std::move(regionJsonList)); + + } + + if(m_subRegionHasBeenSet) + { + Aws::Utils::Array subRegionJsonList(m_subRegion.size()); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + subRegionJsonList[subRegionIndex].AsObject(m_subRegion[subRegionIndex].Jsonize()); + } + payload.WithArray("SubRegion", std::move(subRegionJsonList)); + + } + + if(m_localityHasBeenSet) + { + Aws::Utils::Array localityJsonList(m_locality.size()); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + localityJsonList[localityIndex].AsObject(m_locality[localityIndex].Jsonize()); + } + payload.WithArray("Locality", std::move(localityJsonList)); + + } + + if(m_districtHasBeenSet) + { + Aws::Utils::Array districtJsonList(m_district.size()); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + districtJsonList[districtIndex].AsObject(m_district[districtIndex].Jsonize()); + } + payload.WithArray("District", std::move(districtJsonList)); + + } + + if(m_subDistrictHasBeenSet) + { + Aws::Utils::Array subDistrictJsonList(m_subDistrict.size()); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + subDistrictJsonList[subDistrictIndex].AsObject(m_subDistrict[subDistrictIndex].Jsonize()); + } + payload.WithArray("SubDistrict", std::move(subDistrictJsonList)); + + } + + if(m_postalCodeHasBeenSet) + { + Aws::Utils::Array postalCodeJsonList(m_postalCode.size()); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + postalCodeJsonList[postalCodeIndex].AsObject(m_postalCode[postalCodeIndex].Jsonize()); + } + payload.WithArray("PostalCode", std::move(postalCodeJsonList)); + + } + + if(m_blockHasBeenSet) + { + Aws::Utils::Array blockJsonList(m_block.size()); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + blockJsonList[blockIndex].AsObject(m_block[blockIndex].Jsonize()); + } + payload.WithArray("Block", std::move(blockJsonList)); + + } + + if(m_subBlockHasBeenSet) + { + Aws::Utils::Array subBlockJsonList(m_subBlock.size()); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + subBlockJsonList[subBlockIndex].AsObject(m_subBlock[subBlockIndex].Jsonize()); + } + payload.WithArray("SubBlock", std::move(subBlockJsonList)); + + } + + if(m_streetHasBeenSet) + { + Aws::Utils::Array streetJsonList(m_street.size()); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + streetJsonList[streetIndex].AsObject(m_street[streetIndex].Jsonize()); + } + payload.WithArray("Street", std::move(streetJsonList)); + + } + + if(m_addressNumberHasBeenSet) + { + Aws::Utils::Array addressNumberJsonList(m_addressNumber.size()); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + addressNumberJsonList[addressNumberIndex].AsObject(m_addressNumber[addressNumberIndex].Jsonize()); + } + payload.WithArray("AddressNumber", std::move(addressNumberJsonList)); + + } + + if(m_buildingHasBeenSet) + { + Aws::Utils::Array buildingJsonList(m_building.size()); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + buildingJsonList[buildingIndex].AsObject(m_building[buildingIndex].Jsonize()); + } + payload.WithArray("Building", std::move(buildingJsonList)); + + } + + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp index 61c9fd5735a..63179706eb6 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp @@ -124,6 +124,34 @@ GeocodeResultItem& GeocodeResultItem::operator =(JsonView jsonValue) m_matchScores = jsonValue.GetObject("MatchScores"); m_matchScoresHasBeenSet = true; } + if(jsonValue.ValueExists("ParsedQuery")) + { + m_parsedQuery = jsonValue.GetObject("ParsedQuery"); + m_parsedQueryHasBeenSet = true; + } + if(jsonValue.ValueExists("Intersections")) + { + Aws::Utils::Array intersectionsJsonList = jsonValue.GetArray("Intersections"); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + m_intersections.push_back(intersectionsJsonList[intersectionsIndex].AsObject()); + } + m_intersectionsHasBeenSet = true; + } + if(jsonValue.ValueExists("MainAddress")) + { + m_mainAddress = jsonValue.GetObject("MainAddress"); + m_mainAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryAddresses")) + { + Aws::Utils::Array secondaryAddressesJsonList = jsonValue.GetArray("SecondaryAddresses"); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + m_secondaryAddresses.push_back(secondaryAddressesJsonList[secondaryAddressesIndex].AsObject()); + } + m_secondaryAddressesHasBeenSet = true; + } return *this; } @@ -250,6 +278,40 @@ JsonValue GeocodeResultItem::Jsonize() const } + if(m_parsedQueryHasBeenSet) + { + payload.WithObject("ParsedQuery", m_parsedQuery.Jsonize()); + + } + + if(m_intersectionsHasBeenSet) + { + Aws::Utils::Array intersectionsJsonList(m_intersections.size()); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + intersectionsJsonList[intersectionsIndex].AsObject(m_intersections[intersectionsIndex].Jsonize()); + } + payload.WithArray("Intersections", std::move(intersectionsJsonList)); + + } + + if(m_mainAddressHasBeenSet) + { + payload.WithObject("MainAddress", m_mainAddress.Jsonize()); + + } + + if(m_secondaryAddressesHasBeenSet) + { + Aws::Utils::Array secondaryAddressesJsonList(m_secondaryAddresses.size()); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + secondaryAddressesJsonList[secondaryAddressesIndex].AsObject(m_secondaryAddresses[secondaryAddressesIndex].Jsonize()); + } + payload.WithArray("SecondaryAddresses", std::move(secondaryAddressesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp index 32ed9e37e75..df2b194d66e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp @@ -24,6 +24,7 @@ namespace Aws static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); static const int Access_HASH = HashingUtils::HashString("Access"); static const int Contact_HASH = HashingUtils::HashString("Contact"); + static const int SecondaryAddresses_HASH = HashingUtils::HashString("SecondaryAddresses"); GetPlaceAdditionalFeature GetGetPlaceAdditionalFeatureForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return GetPlaceAdditionalFeature::Contact; } + else if (hashCode == SecondaryAddresses_HASH) + { + return GetPlaceAdditionalFeature::SecondaryAddresses; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "Access"; case GetPlaceAdditionalFeature::Contact: return "Contact"; + case GetPlaceAdditionalFeature::SecondaryAddresses: + return "SecondaryAddresses"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp index be79fd63b9f..81a5acdbd9e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp @@ -151,6 +151,20 @@ GetPlaceResult& GetPlaceResult::operator =(const Aws::AmazonWebServiceResult secondaryAddressesJsonList = jsonValue.GetArray("SecondaryAddresses"); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + m_secondaryAddresses.push_back(secondaryAddressesJsonList[secondaryAddressesIndex].AsObject()); + } + m_secondaryAddressesHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp new file mode 100644 index 00000000000..e1e0ad731c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Intersection::Intersection(JsonView jsonValue) +{ + *this = jsonValue; +} + +Intersection& Intersection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + m_placeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + m_distanceHasBeenSet = true; + } + if(jsonValue.ValueExists("RouteDistance")) + { + m_routeDistance = jsonValue.GetInt64("RouteDistance"); + m_routeDistanceHasBeenSet = true; + } + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + return *this; +} + +JsonValue Intersection::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_routeDistanceHasBeenSet) + { + payload.WithInt64("RouteDistance", m_routeDistance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp new file mode 100644 index 00000000000..60b69029fd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ParsedQueryComponent::ParsedQueryComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParsedQueryComponent& ParsedQueryComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + m_startIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + m_endIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + if(jsonValue.ValueExists("QueryComponent")) + { + m_queryComponent = jsonValue.GetString("QueryComponent"); + m_queryComponentHasBeenSet = true; + } + return *this; +} + +JsonValue ParsedQueryComponent::Jsonize() const +{ + JsonValue payload; + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_queryComponentHasBeenSet) + { + payload.WithString("QueryComponent", m_queryComponent); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp new file mode 100644 index 00000000000..e4081a54ee2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ParsedQuerySecondaryAddressComponent::ParsedQuerySecondaryAddressComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParsedQuerySecondaryAddressComponent& ParsedQuerySecondaryAddressComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + m_startIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + m_endIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetString("Number"); + m_numberHasBeenSet = true; + } + if(jsonValue.ValueExists("Designator")) + { + m_designator = jsonValue.GetString("Designator"); + m_designatorHasBeenSet = true; + } + return *this; +} + +JsonValue ParsedQuerySecondaryAddressComponent::Jsonize() const +{ + JsonValue payload; + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_numberHasBeenSet) + { + payload.WithString("Number", m_number); + + } + + if(m_designatorHasBeenSet) + { + payload.WithString("Designator", m_designator); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp index b9e18ce9b97..b6d4bedf57b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp @@ -34,6 +34,7 @@ namespace Aws static const int PointOfInterest_HASH = HashingUtils::HashString("PointOfInterest"); static const int PointAddress_HASH = HashingUtils::HashString("PointAddress"); static const int InterpolatedAddress_HASH = HashingUtils::HashString("InterpolatedAddress"); + static const int SecondaryAddress_HASH = HashingUtils::HashString("SecondaryAddress"); PlaceType GetPlaceTypeForName(const Aws::String& name) @@ -95,6 +96,10 @@ namespace Aws { return PlaceType::InterpolatedAddress; } + else if (hashCode == SecondaryAddress_HASH) + { + return PlaceType::SecondaryAddress; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -139,6 +144,8 @@ namespace Aws return "PointAddress"; case PlaceType::InterpolatedAddress: return "InterpolatedAddress"; + case PlaceType::SecondaryAddress: + return "SecondaryAddress"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp new file mode 100644 index 00000000000..2edaa6b955d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp @@ -0,0 +1,123 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +RelatedPlace::RelatedPlace(JsonView jsonValue) +{ + *this = jsonValue; +} + +RelatedPlace& RelatedPlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + m_placeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + m_placeTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + return *this; +} + +JsonValue RelatedPlace::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp index 44915a73283..11d2c9b5401 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp @@ -22,6 +22,7 @@ namespace Aws static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); static const int Access_HASH = HashingUtils::HashString("Access"); + static const int Intersections_HASH = HashingUtils::HashString("Intersections"); ReverseGeocodeAdditionalFeature GetReverseGeocodeAdditionalFeatureForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return ReverseGeocodeAdditionalFeature::Access; } + else if (hashCode == Intersections_HASH) + { + return ReverseGeocodeAdditionalFeature::Intersections; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "TimeZone"; case ReverseGeocodeAdditionalFeature::Access: return "Access"; + case ReverseGeocodeAdditionalFeature::Intersections: + return "Intersections"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp index 51c5aa7973a..21eec68e8f5 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp @@ -119,6 +119,15 @@ ReverseGeocodeResultItem& ReverseGeocodeResultItem::operator =(JsonView jsonValu m_politicalView = jsonValue.GetString("PoliticalView"); m_politicalViewHasBeenSet = true; } + if(jsonValue.ValueExists("Intersections")) + { + Aws::Utils::Array intersectionsJsonList = jsonValue.GetArray("Intersections"); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + m_intersections.push_back(intersectionsJsonList[intersectionsIndex].AsObject()); + } + m_intersectionsHasBeenSet = true; + } return *this; } @@ -239,6 +248,17 @@ JsonValue ReverseGeocodeResultItem::Jsonize() const } + if(m_intersectionsHasBeenSet) + { + Aws::Utils::Array intersectionsJsonList(m_intersections.size()); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + intersectionsJsonList[intersectionsIndex].AsObject(m_intersections[intersectionsIndex].Jsonize()); + } + payload.WithArray("Intersections", std::move(intersectionsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp new file mode 100644 index 00000000000..bffe48e1e26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SecondaryAddressComponent::SecondaryAddressComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +SecondaryAddressComponent& SecondaryAddressComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetString("Number"); + m_numberHasBeenSet = true; + } + return *this; +} + +JsonValue SecondaryAddressComponent::Jsonize() const +{ + JsonValue payload; + + if(m_numberHasBeenSet) + { + payload.WithString("Number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp new file mode 100644 index 00000000000..d219185799c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SecondaryAddressComponentMatchScore::SecondaryAddressComponentMatchScore(JsonView jsonValue) +{ + *this = jsonValue; +} + +SecondaryAddressComponentMatchScore& SecondaryAddressComponentMatchScore::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetDouble("Number"); + m_numberHasBeenSet = true; + } + return *this; +} + +JsonValue SecondaryAddressComponentMatchScore::Jsonize() const +{ + JsonValue payload; + + if(m_numberHasBeenSet) + { + payload.WithDouble("Number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h index f0ff9bd1479..ae93cf0901b 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h @@ -19,6 +19,9 @@ namespace Model { /** + *

                            A request to create a data quality ruleset.

                            See Also:

                            AWS + * API Reference

                            */ class CreateDataQualityRulesetRequest : public GlueRequest { diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h new file mode 100644 index 00000000000..d6a7496b4bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                            A summary of metrics showing the total counts of processed rows and rules, + * including their pass/fail statistics based on row-level results.

                            See + * Also:

                            AWS + * API Reference

                            + */ + class DataQualityAggregatedMetrics + { + public: + AWS_GLUE_API DataQualityAggregatedMetrics() = default; + AWS_GLUE_API DataQualityAggregatedMetrics(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API DataQualityAggregatedMetrics& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The total number of rows that were processed during the data quality + * evaluation.

                            + */ + inline double GetTotalRowsProcessed() const { return m_totalRowsProcessed; } + inline bool TotalRowsProcessedHasBeenSet() const { return m_totalRowsProcessedHasBeenSet; } + inline void SetTotalRowsProcessed(double value) { m_totalRowsProcessedHasBeenSet = true; m_totalRowsProcessed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsProcessed(double value) { SetTotalRowsProcessed(value); return *this;} + ///@} + + ///@{ + /** + *

                            The total number of rows that passed all applicable data quality rules.

                            + */ + inline double GetTotalRowsPassed() const { return m_totalRowsPassed; } + inline bool TotalRowsPassedHasBeenSet() const { return m_totalRowsPassedHasBeenSet; } + inline void SetTotalRowsPassed(double value) { m_totalRowsPassedHasBeenSet = true; m_totalRowsPassed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsPassed(double value) { SetTotalRowsPassed(value); return *this;} + ///@} + + ///@{ + /** + *

                            The total number of rows that failed one or more data quality rules.

                            + */ + inline double GetTotalRowsFailed() const { return m_totalRowsFailed; } + inline bool TotalRowsFailedHasBeenSet() const { return m_totalRowsFailedHasBeenSet; } + inline void SetTotalRowsFailed(double value) { m_totalRowsFailedHasBeenSet = true; m_totalRowsFailed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsFailed(double value) { SetTotalRowsFailed(value); return *this;} + ///@} + + ///@{ + /** + *

                            The total number of data quality rules that were evaluated.

                            + */ + inline double GetTotalRulesProcessed() const { return m_totalRulesProcessed; } + inline bool TotalRulesProcessedHasBeenSet() const { return m_totalRulesProcessedHasBeenSet; } + inline void SetTotalRulesProcessed(double value) { m_totalRulesProcessedHasBeenSet = true; m_totalRulesProcessed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesProcessed(double value) { SetTotalRulesProcessed(value); return *this;} + ///@} + + ///@{ + /** + *

                            The total number of data quality rules that passed their evaluation + * criteria.

                            + */ + inline double GetTotalRulesPassed() const { return m_totalRulesPassed; } + inline bool TotalRulesPassedHasBeenSet() const { return m_totalRulesPassedHasBeenSet; } + inline void SetTotalRulesPassed(double value) { m_totalRulesPassedHasBeenSet = true; m_totalRulesPassed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesPassed(double value) { SetTotalRulesPassed(value); return *this;} + ///@} + + ///@{ + /** + *

                            The total number of data quality rules that failed their evaluation + * criteria.

                            + */ + inline double GetTotalRulesFailed() const { return m_totalRulesFailed; } + inline bool TotalRulesFailedHasBeenSet() const { return m_totalRulesFailedHasBeenSet; } + inline void SetTotalRulesFailed(double value) { m_totalRulesFailedHasBeenSet = true; m_totalRulesFailed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesFailed(double value) { SetTotalRulesFailed(value); return *this;} + ///@} + private: + + double m_totalRowsProcessed{0.0}; + bool m_totalRowsProcessedHasBeenSet = false; + + double m_totalRowsPassed{0.0}; + bool m_totalRowsPassedHasBeenSet = false; + + double m_totalRowsFailed{0.0}; + bool m_totalRowsFailedHasBeenSet = false; + + double m_totalRulesProcessed{0.0}; + bool m_totalRulesProcessedHasBeenSet = false; + + double m_totalRulesPassed{0.0}; + bool m_totalRulesPassedHasBeenSet = false; + + double m_totalRulesFailed{0.0}; + bool m_totalRulesFailedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h index ed028a7af52..661d4e4b389 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -222,6 +223,20 @@ namespace Model template DataQualityResult& AddObservations(ObservationsT&& value) { m_observationsHasBeenSet = true; m_observations.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                            A summary of DataQualityAggregatedMetrics objects showing the + * total counts of processed rows and rules, including their pass/fail statistics + * based on row-level results.

                            + */ + inline const DataQualityAggregatedMetrics& GetAggregatedMetrics() const { return m_aggregatedMetrics; } + inline bool AggregatedMetricsHasBeenSet() const { return m_aggregatedMetricsHasBeenSet; } + template + void SetAggregatedMetrics(AggregatedMetricsT&& value) { m_aggregatedMetricsHasBeenSet = true; m_aggregatedMetrics = std::forward(value); } + template + DataQualityResult& WithAggregatedMetrics(AggregatedMetricsT&& value) { SetAggregatedMetrics(std::forward(value)); return *this;} + ///@} private: Aws::String m_resultId; @@ -265,6 +280,9 @@ namespace Model Aws::Vector m_observations; bool m_observationsHasBeenSet = false; + + DataQualityAggregatedMetrics m_aggregatedMetrics; + bool m_aggregatedMetricsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h index 7a1f18f032f..90520e32a3d 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h @@ -112,6 +112,22 @@ namespace Model template DataQualityRuleResult& WithEvaluatedRule(EvaluatedRuleT&& value) { SetEvaluatedRule(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                            A map containing metrics associated with the evaluation of the rule based on + * row-level results.

                            + */ + inline const Aws::Map& GetRuleMetrics() const { return m_ruleMetrics; } + inline bool RuleMetricsHasBeenSet() const { return m_ruleMetricsHasBeenSet; } + template> + void SetRuleMetrics(RuleMetricsT&& value) { m_ruleMetricsHasBeenSet = true; m_ruleMetrics = std::forward(value); } + template> + DataQualityRuleResult& WithRuleMetrics(RuleMetricsT&& value) { SetRuleMetrics(std::forward(value)); return *this;} + inline DataQualityRuleResult& AddRuleMetrics(Aws::String key, double value) { + m_ruleMetricsHasBeenSet = true; m_ruleMetrics.emplace(key, value); return *this; + } + ///@} private: Aws::String m_name; @@ -131,6 +147,9 @@ namespace Model Aws::String m_evaluatedRule; bool m_evaluatedRuleHasBeenSet = false; + + Aws::Map m_ruleMetrics; + bool m_ruleMetricsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h index 0886beb4c96..434ccf70ff4 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -30,6 +31,11 @@ namespace Glue { namespace Model { + /** + *

                            The response for the data quality result.

                            See Also:

                            AWS + * API Reference

                            + */ class GetDataQualityResultResult { public: @@ -204,6 +210,19 @@ namespace Model GetDataQualityResultResult& AddObservations(ObservationsT&& value) { m_observationsHasBeenSet = true; m_observations.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

                            A summary of DataQualityAggregatedMetrics objects showing the + * total counts of processed rows and rules, including their pass/fail statistics + * based on row-level results.

                            + */ + inline const DataQualityAggregatedMetrics& GetAggregatedMetrics() const { return m_aggregatedMetrics; } + template + void SetAggregatedMetrics(AggregatedMetricsT&& value) { m_aggregatedMetricsHasBeenSet = true; m_aggregatedMetrics = std::forward(value); } + template + GetDataQualityResultResult& WithAggregatedMetrics(AggregatedMetricsT&& value) { SetAggregatedMetrics(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -256,6 +275,9 @@ namespace Model Aws::Vector m_observations; bool m_observationsHasBeenSet = false; + DataQualityAggregatedMetrics m_aggregatedMetrics; + bool m_aggregatedMetricsHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h index 12f07785e04..69a06659959 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h @@ -27,6 +27,12 @@ namespace Glue { namespace Model { + /** + *

                            The response for the Data Quality rule recommendation run.

                            See + * Also:

                            AWS + * API Reference

                            + */ class GetDataQualityRuleRecommendationRunResult { public: diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h index 6b7fe62445c..e3032a99489 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h @@ -26,6 +26,11 @@ namespace Glue { namespace Model { + /** + *

                            Returns the data quality ruleset response.

                            See Also:

                            AWS + * API Reference

                            + */ class GetDataQualityRulesetResult { public: diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h index f23382d5bb9..2cbca89027f 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h @@ -18,6 +18,10 @@ namespace Model { /** + *

                            The request of the Data Quality rule recommendation request.

                            See + * Also:

                            AWS + * API Reference

                            */ class StartDataQualityRuleRecommendationRunRequest : public GlueRequest { diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp new file mode 100644 index 00000000000..fdbe18e11d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +DataQualityAggregatedMetrics::DataQualityAggregatedMetrics(JsonView jsonValue) +{ + *this = jsonValue; +} + +DataQualityAggregatedMetrics& DataQualityAggregatedMetrics::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TotalRowsProcessed")) + { + m_totalRowsProcessed = jsonValue.GetDouble("TotalRowsProcessed"); + m_totalRowsProcessedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRowsPassed")) + { + m_totalRowsPassed = jsonValue.GetDouble("TotalRowsPassed"); + m_totalRowsPassedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRowsFailed")) + { + m_totalRowsFailed = jsonValue.GetDouble("TotalRowsFailed"); + m_totalRowsFailedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesProcessed")) + { + m_totalRulesProcessed = jsonValue.GetDouble("TotalRulesProcessed"); + m_totalRulesProcessedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesPassed")) + { + m_totalRulesPassed = jsonValue.GetDouble("TotalRulesPassed"); + m_totalRulesPassedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesFailed")) + { + m_totalRulesFailed = jsonValue.GetDouble("TotalRulesFailed"); + m_totalRulesFailedHasBeenSet = true; + } + return *this; +} + +JsonValue DataQualityAggregatedMetrics::Jsonize() const +{ + JsonValue payload; + + if(m_totalRowsProcessedHasBeenSet) + { + payload.WithDouble("TotalRowsProcessed", m_totalRowsProcessed); + + } + + if(m_totalRowsPassedHasBeenSet) + { + payload.WithDouble("TotalRowsPassed", m_totalRowsPassed); + + } + + if(m_totalRowsFailedHasBeenSet) + { + payload.WithDouble("TotalRowsFailed", m_totalRowsFailed); + + } + + if(m_totalRulesProcessedHasBeenSet) + { + payload.WithDouble("TotalRulesProcessed", m_totalRulesProcessed); + + } + + if(m_totalRulesPassedHasBeenSet) + { + payload.WithDouble("TotalRulesPassed", m_totalRulesPassed); + + } + + if(m_totalRulesFailedHasBeenSet) + { + payload.WithDouble("TotalRulesFailed", m_totalRulesFailed); + + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp index 81d2eb4577a..7d6ebc678ae 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp @@ -107,6 +107,11 @@ DataQualityResult& DataQualityResult::operator =(JsonView jsonValue) } m_observationsHasBeenSet = true; } + if(jsonValue.ValueExists("AggregatedMetrics")) + { + m_aggregatedMetrics = jsonValue.GetObject("AggregatedMetrics"); + m_aggregatedMetricsHasBeenSet = true; + } return *this; } @@ -211,6 +216,12 @@ JsonValue DataQualityResult::Jsonize() const } + if(m_aggregatedMetricsHasBeenSet) + { + payload.WithObject("AggregatedMetrics", m_aggregatedMetrics.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp index d1355ed4229..620518621eb 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp @@ -59,6 +59,15 @@ DataQualityRuleResult& DataQualityRuleResult::operator =(JsonView jsonValue) m_evaluatedRule = jsonValue.GetString("EvaluatedRule"); m_evaluatedRuleHasBeenSet = true; } + if(jsonValue.ValueExists("RuleMetrics")) + { + Aws::Map ruleMetricsJsonMap = jsonValue.GetObject("RuleMetrics").GetAllObjects(); + for(auto& ruleMetricsItem : ruleMetricsJsonMap) + { + m_ruleMetrics[ruleMetricsItem.first] = ruleMetricsItem.second.AsDouble(); + } + m_ruleMetricsHasBeenSet = true; + } return *this; } @@ -106,6 +115,17 @@ JsonValue DataQualityRuleResult::Jsonize() const } + if(m_ruleMetricsHasBeenSet) + { + JsonValue ruleMetricsJsonMap; + for(auto& ruleMetricsItem : m_ruleMetrics) + { + ruleMetricsJsonMap.WithDouble(ruleMetricsItem.first, ruleMetricsItem.second); + } + payload.WithObject("RuleMetrics", std::move(ruleMetricsJsonMap)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp index 8d55a6bc753..37804371254 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp @@ -107,6 +107,11 @@ GetDataQualityResultResult& GetDataQualityResultResult::operator =(const Aws::Am } m_observationsHasBeenSet = true; } + if(jsonValue.ValueExists("AggregatedMetrics")) + { + m_aggregatedMetrics = jsonValue.GetObject("AggregatedMetrics"); + m_aggregatedMetricsHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h index 47ab47dd059..4e2bb70a706 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h @@ -124,6 +124,12 @@ namespace Model * x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 * pixels or less, MediaConvert doesn't include the DDS, regardless of the value * you choose for DDS handling. All burn-in and DVB-Sub font settings must match. + * To include the DDS, with optimized subtitle placement and reduced data overhead: + * We recommend that you choose Specified (optimal). This option provides the same + * visual positioning as Specified while using less bandwidth. This also supports + * resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When + * you do, also specify the offset coordinates of the display window with DDS + * x-coordinate and DDS y-coordinate. */ inline DvbddsHandling GetDdsHandling() const { return m_ddsHandling; } inline bool DdsHandlingHasBeenSet() const { return m_ddsHandlingHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h index 28a678aea75..4017a459900 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h @@ -18,7 +18,8 @@ namespace Model NOT_SET, NONE, SPECIFIED, - NO_DISPLAY_WINDOW + NO_DISPLAY_WINDOW, + SPECIFIED_OPTIMAL }; namespace DvbddsHandlingMapper diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp index 357c0e45f1c..d44321c0b67 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp @@ -23,6 +23,7 @@ namespace Aws static const int NONE_HASH = HashingUtils::HashString("NONE"); static const int SPECIFIED_HASH = HashingUtils::HashString("SPECIFIED"); static const int NO_DISPLAY_WINDOW_HASH = HashingUtils::HashString("NO_DISPLAY_WINDOW"); + static const int SPECIFIED_OPTIMAL_HASH = HashingUtils::HashString("SPECIFIED_OPTIMAL"); DvbddsHandling GetDvbddsHandlingForName(const Aws::String& name) @@ -40,6 +41,10 @@ namespace Aws { return DvbddsHandling::NO_DISPLAY_WINDOW; } + else if (hashCode == SPECIFIED_OPTIMAL_HASH) + { + return DvbddsHandling::SPECIFIED_OPTIMAL; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +67,8 @@ namespace Aws return "SPECIFIED"; case DvbddsHandling::NO_DISPLAY_WINDOW: return "NO_DISPLAY_WINDOW"; + case DvbddsHandling::SPECIFIED_OPTIMAL: + return "SPECIFIED_OPTIMAL"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp b/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp index 42aa4073eca..34e9542821e 100644 --- a/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp +++ b/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp @@ -142,6 +142,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -173,6 +176,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp index 8bbe40fb2b4..4f3b505db1a 100644 --- a/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp +++ b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp @@ -176,7 +176,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2", + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.api.aws/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -185,7 +185,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2", + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.amazonaws.com/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -194,7 +194,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.api.aws/v2", + {{/*epUrl*/"https://places.geo.us-gov-west-1.api.aws/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -203,7 +203,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2", + {{/*epUrl*/"https://places.geo.us-gov-west-1.amazonaws.com/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect diff --git a/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp b/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp index 53bc3091ebb..b1479b39ebf 100644 --- a/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp +++ b/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp @@ -41,6 +41,8 @@ #include #include #include +#include +#include #include #include #include @@ -50,9 +52,12 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include @@ -65,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +90,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp index 7c728776a0a..33e843cb0a5 100644 --- a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp +++ b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp @@ -240,6 +240,7 @@ #include #include #include +#include #include #include #include diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 911d9ab7a6a..a7ada58b18f 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.592" +#define AWS_SDK_VERSION_STRING "1.11.593" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 592 +#define AWS_SDK_VERSION_PATCH 593 diff --git a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json index ccffc3092f2..b87d1da9597 100644 --- a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json @@ -4319,12 +4319,46 @@ "max":6, "min":1 }, + "GuardrailContentFiltersTier":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailContentFiltersTierName", + "documentation":"

                            The tier that your guardrail uses for content filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            " + } + }, + "documentation":"

                            The tier that your guardrail uses for content filters.

                            " + }, + "GuardrailContentFiltersTierConfig":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailContentFiltersTierName", + "documentation":"

                            The tier that your guardrail uses for content filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            " + } + }, + "documentation":"

                            The tier that your guardrail uses for content filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                            " + }, + "GuardrailContentFiltersTierName":{ + "type":"string", + "enum":[ + "CLASSIC", + "STANDARD" + ], + "sensitive":true + }, "GuardrailContentPolicy":{ "type":"structure", "members":{ "filters":{ "shape":"GuardrailContentFilters", "documentation":"

                            Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                            " + }, + "tier":{ + "shape":"GuardrailContentFiltersTier", + "documentation":"

                            The tier that your guardrail uses for content filters.

                            " } }, "documentation":"

                            Contains details about how to handle harmful content.

                            This data type is used in the following API operations:

                            " @@ -4336,6 +4370,10 @@ "filtersConfig":{ "shape":"GuardrailContentFiltersConfig", "documentation":"

                            Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                            " + }, + "tierConfig":{ + "shape":"GuardrailContentFiltersTierConfig", + "documentation":"

                            The tier that your guardrail uses for content filters.

                            " } }, "documentation":"

                            Contains details about how to handle harmful content.

                            " @@ -5109,6 +5147,10 @@ "topics":{ "shape":"GuardrailTopics", "documentation":"

                            A list of policies related to topics that the guardrail should deny.

                            " + }, + "tier":{ + "shape":"GuardrailTopicsTier", + "documentation":"

                            The tier that your guardrail uses for denied topic filters.

                            " } }, "documentation":"

                            Contains details about topics that the guardrail should identify and deny.

                            This data type is used in the following API operations:

                            " @@ -5120,6 +5162,10 @@ "topicsConfig":{ "shape":"GuardrailTopicsConfig", "documentation":"

                            A list of policies related to topics that the guardrail should deny.

                            " + }, + "tierConfig":{ + "shape":"GuardrailTopicsTierConfig", + "documentation":"

                            The tier that your guardrail uses for denied topic filters.

                            " } }, "documentation":"

                            Contains details about topics that the guardrail should identify and deny.

                            " @@ -5140,6 +5186,36 @@ "max":30, "min":1 }, + "GuardrailTopicsTier":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailTopicsTierName", + "documentation":"

                            The tier that your guardrail uses for denied topic filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            " + } + }, + "documentation":"

                            The tier that your guardrail uses for denied topic filters.

                            " + }, + "GuardrailTopicsTierConfig":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailTopicsTierName", + "documentation":"

                            The tier that your guardrail uses for denied topic filters. Valid values include:

                            • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                            • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                            " + } + }, + "documentation":"

                            The tier that your guardrail uses for denied topic filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                            " + }, + "GuardrailTopicsTierName":{ + "type":"string", + "enum":[ + "CLASSIC", + "STANDARD" + ], + "sensitive":true + }, "GuardrailVersion":{ "type":"string", "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index 28435522f6a..a533cae06a2 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -67,7 +67,7 @@ {"shape":"AccessDeniedException"}, {"shape":"NamespaceNotFoundException"} ], - "documentation":"

                            Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                            There are two service scheduler strategies available:

                            • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                            • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                            You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

                            If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

                            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

                            If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

                            When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                            When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

                            " + "documentation":"

                            Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                            There are two service scheduler strategies available:

                            • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                            • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                            You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

                            If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

                            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

                            If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

                            When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                            When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

                            " }, "CreateTaskSet":{ "name":"CreateTaskSet", @@ -731,7 +731,7 @@ {"shape":"BlockedException"}, {"shape":"ConflictException"} ], - "documentation":"

                            Starts a new task using the specified task definition.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

                            To manage eventual consistency, you can do the following:

                            • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

                            • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

                            If you get a ConflictException error, the RunTask request could not be processed due to conflicts. The provided clientToken is already in use with a different RunTask request. The resourceIds are the existing task ARNs which are already associated with the clientToken.

                            To fix this issue:

                            • Run RunTask with a unique clientToken.

                            • Run RunTask with the clientToken and the original set of parameters

                            If you get a ClientExceptionerror, the RunTask could not be processed because you use managed scaling and there is a capacity error because the quota of tasks in the PROVISIONING per cluster has been reached. For information about the service quotas, see Amazon ECS service quotas.

                            " + "documentation":"

                            Starts a new task using the specified task definition.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

                            To manage eventual consistency, you can do the following:

                            • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

                            • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

                            If you get a ConflictException error, the RunTask request could not be processed due to conflicts. The provided clientToken is already in use with a different RunTask request. The resourceIds are the existing task ARNs which are already associated with the clientToken.

                            To fix this issue:

                            • Run RunTask with a unique clientToken.

                            • Run RunTask with the clientToken and the original set of parameters

                            If you get a ClientExceptionerror, the RunTask could not be processed because you use managed scaling and there is a capacity error because the quota of tasks in the PROVISIONING per cluster has been reached. For information about the service quotas, see Amazon ECS service quotas.

                            " }, "StartTask":{ "name":"StartTask", @@ -748,7 +748,7 @@ {"shape":"ClusterNotFoundException"}, {"shape":"UnsupportedFeatureException"} ], - "documentation":"

                            Starts a new task from the specified task definition on the specified container instance or instances.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            " + "documentation":"

                            Starts a new task from the specified task definition on the specified container instance or instances.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            Amazon Elastic Inference (EI) is no longer available to customers.

                            Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            " }, "StopServiceDeployment":{ "name":"StopServiceDeployment", @@ -970,7 +970,7 @@ {"shape":"NamespaceNotFoundException"}, {"shape":"UnsupportedFeatureException"} ], - "documentation":"

                            Modifies the parameters of a service.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update your volume configurations and trigger a new deployment. volumeConfigurations is only supported for REPLICA service and not DAEMON service. If you leave volumeConfigurations null, it doesn't trigger a new deployment. For more infomation on volumes, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

                            For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

                            You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            If you have updated the container image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

                            If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

                            You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

                            • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                            • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment. You can use it to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

                            When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

                            When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

                            • Determine which of the container instances in your cluster can support your service's task definition. For example, they have the required CPU, memory, ports, and container instance attributes.

                            • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner even though you can choose a different placement strategy.

                              • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

                              • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

                            When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

                            • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

                            • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

                            " + "documentation":"

                            Modifies the parameters of a service.

                            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                            For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update your volume configurations and trigger a new deployment. volumeConfigurations is only supported for REPLICA service and not DAEMON service. If you leave volumeConfigurations null, it doesn't trigger a new deployment. For more information on volumes, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

                            For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

                            You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

                            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                            If you have updated the container image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

                            If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

                            You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

                            • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                            • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment. You can use it to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

                            When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

                            When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

                            • Determine which of the container instances in your cluster can support your service's task definition. For example, they have the required CPU, memory, ports, and container instance attributes.

                            • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner even though you can choose a different placement strategy.

                              • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

                              • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

                            When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

                            • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

                            • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

                            " }, "UpdateServicePrimaryTaskSet":{ "name":"UpdateServicePrimaryTaskSet", @@ -1640,7 +1640,7 @@ }, "image":{ "shape":"String", - "documentation":"

                            The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the docker container create command and the IMAGE parameter of docker run.

                            • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.

                            • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

                            • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

                            • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

                            • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

                            " + "documentation":"

                            The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . For images using tags (repository-url/image:tag), up to 255 characters total are allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs (#). For images using digests (repository-url/image@digest), the 255 character limit applies only to the repository URL and image name (everything before the @ sign). The only supported hash function is sha256, and the hash value after sha256: must be exactly 64 characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the docker container create command and the IMAGE parameter of docker run.

                            • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.

                            • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

                            • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

                            • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

                            • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

                            " }, "repositoryCredentials":{ "shape":"RepositoryCredentials", @@ -4468,6 +4468,8 @@ "WINDOWS_SERVER_2004_CORE", "WINDOWS_SERVER_2022_CORE", "WINDOWS_SERVER_2022_FULL", + "WINDOWS_SERVER_2025_CORE", + "WINDOWS_SERVER_2025_FULL", "WINDOWS_SERVER_20H2_CORE", "LINUX" ] @@ -7252,7 +7254,7 @@ }, "capacityProviderStrategy":{ "shape":"CapacityProviderStrategy", - "documentation":"

                            The details of a capacity provider strategy. You can set a capacity provider when you create a cluster, run a task, or update a service.

                            When you use Fargate, the capacity providers are FARGATE or FARGATE_SPOT.

                            When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                            You can change capacity providers for rolling deployments and blue/green deployments.

                            The following list provides the valid transitions:

                            • Update the Fargate launch type to an EC2 capacity provider.

                            • Update the Amazon EC2 launch type to a Fargate capacity provider.

                            • Update the Fargate capacity provider to an EC2 capacity provider.

                            • Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                            • Update the EC2 or Fargate capacity provider back to the launch type.

                              Pass an empty list in the capacityProvider parameter.

                            For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                            " + "documentation":"

                            The details of a capacity provider strategy. You can set a capacity provider when you create a cluster, run a task, or update a service.

                            When you use Fargate, the capacity providers are FARGATE or FARGATE_SPOT.

                            When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                            You can change capacity providers for rolling deployments and blue/green deployments.

                            The following list provides the valid transitions:

                            • Update the Fargate launch type to an Auto Scaling group capacity provider.

                            • Update the Amazon EC2 launch type to a Fargate capacity provider.

                            • Update the Fargate capacity provider to an Auto Scaling group capacity provider.

                            • Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                            • Update the Auto Scaling group or Fargate capacity provider back to the launch type.

                              Pass an empty list in the capacityProviderStrategy parameter.

                            For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                            " }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", diff --git a/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json index cfd5e79babc..b71dce1abc4 100644 --- a/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json +++ b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json @@ -28,7 +28,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            The autocomplete operation speeds up and increases the accuracy of entering addresses by providing a list of address candidates matching a partially entered address. Results are sorted from most to least matching. Filtering and biasing can be used to increase the relevance of the results if additional search context is known

                            " + "documentation":"

                            Autocomplete completes potential places and addresses as the user types, based on the partial input. The API enhances the efficiency and accuracy of address by completing query based on a few entered keystrokes. It helps you by completing partial queries with valid address completion. Also, the API supports the filtering of results based on geographic location, country, or specific place types, and can be tailored using optional parameters like language and political views.

                            " }, "Geocode":{ "name":"Geocode", @@ -45,7 +45,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            The Geocode action allows you to obtain coordinates, addresses, and other information about places.

                            " + "documentation":"

                            Geocode converts a textual address or place into geographic coordinates. You can obtain geographic coordinates, address component, and other related information. It supports flexible queries, including free-form text or structured queries with components like street names, postal codes, and regions. The Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                            " }, "GetPlace":{ "name":"GetPlace", @@ -62,7 +62,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            Finds a place by its unique ID. A PlaceId is returned by other place operations.

                            " + "documentation":"

                            GetPlace finds a place by its unique ID. A PlaceId is returned by other place operations.

                            " }, "ReverseGeocode":{ "name":"ReverseGeocode", @@ -79,7 +79,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            The ReverseGeocode operation allows you to retrieve addresses and place information from coordinates.

                            " + "documentation":"

                            ReverseGeocode converts geographic coordinates into a human-readable address or place. You can obtain address component, and other related information such as place type, category, street information. The Reverse Geocode API supports filtering to on place type so that you can refine result based on your need. Also, The Reverse Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                            " }, "SearchNearby":{ "name":"SearchNearby", @@ -96,7 +96,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            Search nearby a specified location.

                            " + "documentation":"

                            SearchNearby queries for points of interest within a radius from a central coordinates, returning place results with optional filters such as categories, business chains, food types and more. The API returns details such as a place name, address, phone, category, food type, contact, opening hours. Also, the API can return phonemes, time zones and more based on requested parameters.

                            " }, "SearchText":{ "name":"SearchText", @@ -113,7 +113,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            Use the SearchText operation to search for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                            " + "documentation":"

                            SearchText searches for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                            " }, "Suggest":{ "name":"Suggest", @@ -130,7 +130,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                            The Suggest operation finds addresses or place candidates based on incomplete or misspelled queries. You then select the best query to submit based on the returned results.

                            " + "documentation":"

                            Suggest provides intelligent predictions or recommendations based on the user's input or context, such as relevant places, points of interest, query terms or search category. It is designed to help users find places or point of interests candidates or identify a follow on query based on incomplete or misspelled queries. It returns a list of possible matches or refinements that can be used to formulate a more accurate query. Users can select the most appropriate suggestion and use it for further searching. The API provides options for filtering results by location and other attributes, and allows for additional features like phonemes and timezones. The response includes refined query terms and detailed place information.

                            " } }, "shapes":{ @@ -170,7 +170,7 @@ "type":"structure", "members":{ "Restricted":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            The restriction.

                            " }, "Categories":{ @@ -207,7 +207,7 @@ }, "Locality":{ "shape":"AddressLocalityString", - "documentation":"

                            The locality or city of the address.

                            Example: Vancouver.

                            " + "documentation":"

                            The city or locality of the address.

                            Example: Vancouver.

                            " }, "District":{ "shape":"AddressDistrictString", @@ -219,7 +219,7 @@ }, "PostalCode":{ "shape":"AddressPostalCodeString", - "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

                            " + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            " }, "Block":{ "shape":"AddressBlockString", @@ -230,7 +230,7 @@ "documentation":"

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " }, "Intersection":{ - "shape":"IntersectionList", + "shape":"IntersectionStreetList", "documentation":"

                            Name of the streets in the intersection.

                            Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                            " }, "Street":{ @@ -248,6 +248,10 @@ "Building":{ "shape":"AddressBuildingString", "documentation":"

                            The name of the building at the address.

                            " + }, + "SecondaryAddressComponents":{ + "shape":"SecondaryAddressComponentList", + "documentation":"

                            Components that correspond to secondary identifiers on an Address. Secondary address components include information such as Suite or Unit Number, Building, or Floor.

                            " } }, "documentation":"

                            The place address.

                            " @@ -255,17 +259,20 @@ "AddressAddressNumberString":{ "type":"string", "max":10, - "min":0 + "min":0, + "sensitive":true }, "AddressBlockString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressBuildingString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressComponentMatchScores":{ "type":"structure", @@ -296,7 +303,7 @@ }, "PostalCode":{ "shape":"MatchScore", - "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

                            " + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            " }, "Block":{ "shape":"MatchScore", @@ -317,6 +324,10 @@ "Building":{ "shape":"MatchScore", "documentation":"

                            The name of the building at the address.

                            " + }, + "SecondaryAddressComponents":{ + "shape":"SecondaryAddressComponentMatchScoreList", + "documentation":"

                            Match scores for the secondary address components in the result.

                            " } }, "documentation":"

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                            " @@ -372,37 +383,44 @@ "AddressDistrictString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressLabelString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressLocalityString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressPostalCodeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "AddressStreetString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressSubBlockString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressSubDistrictString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "ApiKey":{ "type":"string", @@ -457,11 +475,11 @@ }, "Block":{ "shape":"HighlightList", - "documentation":"

                            Name of the block. Example: Sunny Mansion 203 block: 2 Chome

                            " + "documentation":"

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            " }, "SubBlock":{ "shape":"HighlightList", - "documentation":"

                            Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                            " + "documentation":"

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " }, "Intersection":{ "shape":"IntersectionHighlightsList", @@ -469,7 +487,7 @@ }, "PostalCode":{ "shape":"HighlightList", - "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            " + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            " }, "AddressNumber":{ "shape":"HighlightList", @@ -499,7 +517,7 @@ "documentation":"

                            The included place types.

                            " } }, - "documentation":"

                            Autocomplete structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            Autocomplete structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AutocompleteFilterPlaceType":{ "type":"string", @@ -538,7 +556,7 @@ "members":{ "QueryText":{ "shape":"AutocompleteRequestQueryTextString", - "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            " + "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "MaxResults":{ "shape":"AutocompleteRequestMaxResultsInteger", @@ -550,11 +568,11 @@ }, "Filter":{ "shape":"AutocompleteFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "PostalCodeMode":{ "shape":"PostalCodeMode", - "documentation":"

                            The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value cityLookup, all cities in that postal code are returned.

                            " + "documentation":"

                            The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value EnumerateSpannedLocalities, all cities in that postal code are returned.

                            " }, "AdditionalFeatures":{ "shape":"AutocompleteAdditionalFeatureList", @@ -566,7 +584,7 @@ }, "PoliticalView":{ "shape":"CountryCode", - "documentation":"

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " + "documentation":"

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            The following political views are currently supported:

                            • ARG: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands

                            • EGY: Egypt's view on Bir Tawil

                            • IND: India's view on Gilgit-Baltistan

                            • KEN: Kenya's view on the Ilemi Triangle

                            • MAR: Morocco's view on Western Sahara

                            • RUS: Russia's view on Crimea

                            • SDN: Sudan's view on the Halaib Triangle

                            • SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                            • SUR: Suriname's view on the Courantyne Headwaters and Lawa Headwaters

                            • SYR: Syria's view on the Golan Heights

                            • TUR: Turkey's view on Cyprus and Northern Cyprus

                            • TZA: Tanzania's view on Lake Malawi

                            • URY: Uruguay's view on Rincon de Artigas

                            • VNM: Vietnam's view on the Paracel Islands and Spratly Islands

                            " }, "IntendedUse":{ "shape":"AutocompleteIntendedUse", @@ -598,7 +616,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -659,17 +677,15 @@ }, "AutocompleteResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "AutocompleteResultItemTitleString":{ "type":"string", "max":200, - "min":0 - }, - "Boolean":{ - "type":"boolean", - "box":true + "min":0, + "sensitive":true }, "BoundingBox":{ "type":"list", @@ -695,7 +711,8 @@ "BusinessChainIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "BusinessChainList":{ "type":"list", @@ -706,7 +723,8 @@ "BusinessChainNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "Category":{ "type":"structure", @@ -728,7 +746,7 @@ "documentation":"

                            Localized name of the category type.

                            " }, "Primary":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean which indicates if this category is the primary offered by the place.

                            " } }, @@ -737,7 +755,8 @@ "CategoryIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "CategoryList":{ "type":"list", @@ -748,26 +767,28 @@ "CategoryLocalizedNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "CategoryNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "ComponentMatchScores":{ "type":"structure", "members":{ "Title":{ "shape":"MatchScore", - "documentation":"

                            Indicates the starting and ending index of the title in the text query that match the found title.

                            " + "documentation":"

                            Indicates the match score of the title in the text query that match the found title.

                            " }, "Address":{ "shape":"AddressComponentMatchScores", "documentation":"

                            The place's address.

                            " } }, - "documentation":"

                            Indicates how well the input matches the returned element. It is equal to 1 if all input tokens are recognized and matched to the title in the result.

                            " + "documentation":"

                            Indicates how well the returned title and address components matches the input TextQuery. For each component a score is provied with 1 indicating all tokens were matched and 0 indicating no tokens were matched.

                            " }, "ContactDetails":{ "type":"structure", @@ -790,7 +811,8 @@ "ContactDetailsLabelString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "ContactDetailsList":{ "type":"list", @@ -801,7 +823,8 @@ "ContactDetailsValueString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "Contacts":{ "type":"structure", @@ -847,19 +870,22 @@ "type":"string", "max":3, "min":2, - "pattern":"([A-Z]{2}|[A-Z]{3})" + "pattern":"([A-Z]{2}|[A-Z]{3})", + "sensitive":true }, "CountryCode2":{ "type":"string", "max":2, "min":2, - "pattern":"[A-Z]{2}" + "pattern":"[A-Z]{2}", + "sensitive":true }, "CountryCode3":{ "type":"string", "max":3, "min":3, - "pattern":"[A-Z]{3}" + "pattern":"[A-Z]{3}", + "sensitive":true }, "CountryCodeList":{ "type":"list", @@ -884,12 +910,14 @@ "CountryNameString":{ "type":"string", "max":100, - "min":0 + "min":0, + "sensitive":true }, "DistanceMeters":{ "type":"long", "max":4294967295, - "min":0 + "min":0, + "sensitive":true }, "Double":{ "type":"double", @@ -904,7 +932,8 @@ "FilterBusinessChainListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FilterCategoryList":{ "type":"list", @@ -915,7 +944,8 @@ "FilterCategoryListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FilterCircle":{ "type":"structure", @@ -940,7 +970,8 @@ "FilterCircleRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "FilterFoodTypeList":{ "type":"list", @@ -951,7 +982,8 @@ "FilterFoodTypeListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FoodType":{ "type":"structure", @@ -966,7 +998,7 @@ "documentation":"

                            The Food Type Id.

                            " }, "Primary":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean which indicates if this food type is the primary offered by the place. For example, if a location serves fast food, but also dessert, he primary would likely be fast food.

                            " } }, @@ -975,7 +1007,8 @@ "FoodTypeIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FoodTypeList":{ "type":"list", @@ -986,13 +1019,16 @@ "FoodTypeLocalizedNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "GeocodeAdditionalFeature":{ "type":"string", "enum":[ "TimeZone", - "Access" + "Access", + "SecondaryAddresses", + "Intersections" ] }, "GeocodeAdditionalFeatureList":{ @@ -1013,7 +1049,7 @@ "documentation":"

                            The included place types.

                            " } }, - "documentation":"

                            Geocode structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            Geocode structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "GeocodeFilterPlaceType":{ "type":"string", @@ -1024,7 +1060,8 @@ "Street", "PointAddress", "InterpolatedAddress" - ] + ], + "sensitive":true }, "GeocodeFilterPlaceTypeList":{ "type":"list", @@ -1039,6 +1076,78 @@ "Storage" ] }, + "GeocodeParsedQuery":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The localized display name of this result item based on request parameter language.

                            " + }, + "Address":{ + "shape":"GeocodeParsedQueryAddressComponents", + "documentation":"

                            The place address.

                            " + } + }, + "documentation":"

                            Parsed components in the provided QueryText.

                            " + }, + "GeocodeParsedQueryAddressComponents":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The alpha-2 or alpha-3 character code for the country that the results will be present in.

                            " + }, + "Region":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The region or state results should be present in.

                            Example: North Rhine-Westphalia.

                            " + }, + "SubRegion":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The sub-region or county for which results should be present in.

                            " + }, + "Locality":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The city or locality of the address.

                            Example: Vancouver.

                            " + }, + "District":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The district or division of a city the results should be present in.

                            " + }, + "SubDistrict":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            A subdivision of a district.

                            Example: Minden-Lübbecke.

                            " + }, + "PostalCode":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                            " + }, + "Block":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            Name of the block.

                            Example: Sunny Mansion 203 block: 2 Chome

                            " + }, + "SubBlock":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            Name of sub-block.

                            Example: Sunny Mansion 203 sub-block: 4

                            " + }, + "Street":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The name of the street results should be present in.

                            " + }, + "AddressNumber":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The number that identifies an address within a street.

                            " + }, + "Building":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                            The name of the building at the address.

                            " + }, + "SecondaryAddressComponents":{ + "shape":"ParsedQuerySecondaryAddressComponentList", + "documentation":"

                            Parsed secondary address components from the provided query text.

                            " + } + }, + "documentation":"

                            Parsed address components in the provided QueryText.

                            " + }, "GeocodeQueryComponents":{ "type":"structure", "members":{ @@ -1056,7 +1165,7 @@ }, "Locality":{ "shape":"GeocodeQueryComponentsLocalityString", - "documentation":"

                            City or locality results should be present in.

                            Example: Vancouver.

                            " + "documentation":"

                            The city or locality results should be present in.

                            Example: Vancouver.

                            " }, "District":{ "shape":"GeocodeQueryComponentsDistrictString", @@ -1072,7 +1181,7 @@ }, "PostalCode":{ "shape":"GeocodeQueryComponentsPostalCodeString", - "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            " + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            " } }, "documentation":"

                            A structured free text query allows you to search for places by the name or text representation of specific properties of the place.

                            " @@ -1138,7 +1247,7 @@ "members":{ "QueryText":{ "shape":"GeocodeRequestQueryTextString", - "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            " + "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "QueryComponents":{"shape":"GeocodeQueryComponents"}, "MaxResults":{ @@ -1151,7 +1260,7 @@ }, "Filter":{ "shape":"GeocodeFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AdditionalFeatures":{ "shape":"GeocodeAdditionalFeatureList", @@ -1167,7 +1276,7 @@ }, "IntendedUse":{ "shape":"GeocodeIntendedUse", - "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an Geocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " }, "Key":{ "shape":"ApiKey", @@ -1195,7 +1304,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -1215,7 +1324,7 @@ "members":{ "PlaceId":{ "shape":"GeocodeResultItemPlaceIdString", - "documentation":"

                            The PlaceId of the place you wish to receive the information for.

                            " + "documentation":"

                            The PlaceId of the place result.

                            " }, "PlaceType":{ "shape":"PlaceType", @@ -1230,7 +1339,7 @@ "documentation":"

                            The place's address.

                            " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean indicating if the address provided has been corrected.

                            " }, "PostalCodeDetails":{ @@ -1259,7 +1368,7 @@ }, "AccessPoints":{ "shape":"AccessPointList", - "documentation":"

                            Position of the access point represent by longitude and latitude.

                            " + "documentation":"

                            Position of the access point represented by longitude and latitude.

                            " }, "TimeZone":{ "shape":"TimeZone", @@ -1272,6 +1381,22 @@ "MatchScores":{ "shape":"MatchScoreDetails", "documentation":"

                            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                            " + }, + "ParsedQuery":{ + "shape":"GeocodeParsedQuery", + "documentation":"

                            Free-form text query.

                            " + }, + "Intersections":{ + "shape":"IntersectionList", + "documentation":"

                            All Intersections that are near the provided address.

                            " + }, + "MainAddress":{ + "shape":"RelatedPlace", + "documentation":"

                            The main address corresponding to a place of type Secondary Address.

                            " + }, + "SecondaryAddresses":{ + "shape":"RelatedPlaceList", + "documentation":"

                            All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                            " } }, "documentation":"

                            The Geocoded result.

                            " @@ -1284,13 +1409,15 @@ }, "GeocodeResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "GeocodeResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "GetPlaceAdditionalFeature":{ "type":"string", @@ -1298,7 +1425,8 @@ "TimeZone", "Phonemes", "Access", - "Contact" + "Contact", + "SecondaryAddresses" ] }, "GetPlaceAdditionalFeatureList":{ @@ -1344,7 +1472,7 @@ }, "IntendedUse":{ "shape":"GetPlaceIntendedUse", - "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            ", + "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an GetPlace query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            ", "location":"querystring", "locationName":"intended-use" }, @@ -1358,7 +1486,7 @@ }, "GetPlaceRequestPlaceIdString":{ "type":"string", - "max":200, + "max":500, "min":0, "sensitive":true }, @@ -1381,11 +1509,11 @@ }, "Title":{ "shape":"GetPlaceResponseTitleString", - "documentation":"

                            The localized display name of this result item based on request parameter language.

                            " + "documentation":"

                            The localized display name of this result item based on request parameter language.

                            " }, "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -1394,7 +1522,7 @@ "documentation":"

                            The place's address.

                            " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean indicating if the address provided has been corrected.

                            " }, "PostalCodeDetails":{ @@ -1448,18 +1576,28 @@ "Phonemes":{ "shape":"PhonemeDetails", "documentation":"

                            How the various components of the result's address are pronounced in various languages.

                            " + }, + "MainAddress":{ + "shape":"RelatedPlace", + "documentation":"

                            The main address corresponding to a place of type Secondary Address.

                            " + }, + "SecondaryAddresses":{ + "shape":"RelatedPlaceList", + "documentation":"

                            All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                            " } } }, "GetPlaceResponsePlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "GetPlaceResponseTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "Highlight":{ "type":"structure", @@ -1477,7 +1615,7 @@ "documentation":"

                            The highlight's value.

                            " } }, - "documentation":"

                            Describes how parts of the result response match the input query.

                            " + "documentation":"

                            Indicates the starting and ending index of the text query that match the found title.

                            " }, "HighlightEndIndexInteger":{ "type":"integer", @@ -1498,7 +1636,8 @@ "HighlightValueString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "InternalServerException":{ "type":"structure", @@ -1515,6 +1654,47 @@ "fault":true, "retryable":{"throttling":false} }, + "Intersection":{ + "type":"structure", + "required":[ + "PlaceId", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"IntersectionPlaceIdString", + "documentation":"

                            The PlaceId of the place result.

                            " + }, + "Title":{ + "shape":"IntersectionTitleString", + "documentation":"

                            The localized display name of this result item based on request parameter language.

                            " + }, + "Address":{"shape":"Address"}, + "Position":{ + "shape":"Position", + "documentation":"

                            The position, in longitude and latitude.

                            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

                            The distance in meters from the QueryPosition.

                            ", + "box":true + }, + "RouteDistance":{ + "shape":"DistanceMeters", + "documentation":"

                            The distance from the routing position of the nearby address to the street result.

                            ", + "box":true + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

                            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                            The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

                            Position of the access point represented by longitude and latitude.

                            " + } + }, + "documentation":"

                            All Intersections that are near the provided address.

                            " + }, "IntersectionHighlightsList":{ "type":"list", "member":{"shape":"HighlightList"}, @@ -1523,15 +1703,32 @@ }, "IntersectionList":{ "type":"list", - "member":{"shape":"IntersectionStreet"}, - "max":100, + "member":{"shape":"Intersection"}, "min":1 }, + "IntersectionPlaceIdString":{ + "type":"string", + "max":500, + "min":0, + "sensitive":true + }, "IntersectionStreet":{ "type":"string", "max":200, "min":0 }, + "IntersectionStreetList":{ + "type":"list", + "member":{"shape":"IntersectionStreet"}, + "max":100, + "min":1 + }, + "IntersectionTitleString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, "LanguageTag":{ "type":"string", "max":35, @@ -1564,7 +1761,7 @@ "documentation":"

                            List of opening hours in the format they are displayed in. This can vary by result and in most cases represents how the result uniquely formats their opening hours.

                            " }, "OpenNow":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean which indicates if the result/place is currently open.

                            " }, "Components":{ @@ -1605,22 +1802,26 @@ "OpeningHoursComponentsOpenDurationString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursComponentsOpenTimeString":{ "type":"string", "max":21, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursComponentsRecurrenceString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursDisplay":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursDisplayList":{ "type":"list", @@ -1634,6 +1835,123 @@ "max":100, "min":1 }, + "ParsedQueryComponent":{ + "type":"structure", + "members":{ + "StartIndex":{ + "shape":"ParsedQueryComponentStartIndexInteger", + "documentation":"

                            Start index of the parsed query component.

                            " + }, + "EndIndex":{ + "shape":"ParsedQueryComponentEndIndexInteger", + "documentation":"

                            End index of the parsed query component.

                            " + }, + "Value":{ + "shape":"ParsedQueryComponentValueString", + "documentation":"

                            Value of the parsed query component.

                            " + }, + "QueryComponent":{ + "shape":"ParsedQueryComponentQueryComponentString", + "documentation":"

                            The address component that the parsed query component corresponds to.

                            " + } + }, + "documentation":"

                            Parsed components in the provided QueryText.

                            " + }, + "ParsedQueryComponentEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQueryComponentList":{ + "type":"list", + "member":{"shape":"ParsedQueryComponent"}, + "max":200, + "min":0 + }, + "ParsedQueryComponentQueryComponentString":{ + "type":"string", + "max":11, + "min":0, + "sensitive":true + }, + "ParsedQueryComponentStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQueryComponentValueString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponent":{ + "type":"structure", + "required":[ + "StartIndex", + "EndIndex", + "Value", + "Number", + "Designator" + ], + "members":{ + "StartIndex":{ + "shape":"ParsedQuerySecondaryAddressComponentStartIndexInteger", + "documentation":"

                            Start index of the parsed secondary address component in the query text.

                            " + }, + "EndIndex":{ + "shape":"ParsedQuerySecondaryAddressComponentEndIndexInteger", + "documentation":"

                            End index of the parsed secondary address component in the query text.

                            " + }, + "Value":{ + "shape":"ParsedQuerySecondaryAddressComponentValueString", + "documentation":"

                            Value of the parsed secondary address component.

                            " + }, + "Number":{ + "shape":"ParsedQuerySecondaryAddressComponentNumberString", + "documentation":"

                            Secondary address number provided in the query.

                            " + }, + "Designator":{ + "shape":"ParsedQuerySecondaryAddressComponentDesignatorString", + "documentation":"

                            Secondary address designator provided in the query.

                            " + } + }, + "documentation":"

                            Information about a secondary address component parsed from the query text.

                            " + }, + "ParsedQuerySecondaryAddressComponentDesignatorString":{ + "type":"string", + "max":4, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponentEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentList":{ + "type":"list", + "member":{"shape":"ParsedQuerySecondaryAddressComponent"}, + "max":200, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentNumberString":{ + "type":"string", + "max":10, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponentStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentValueString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, "PhonemeDetails":{ "type":"structure", "members":{ @@ -1660,7 +1978,7 @@ "documentation":"

                            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

                            " }, "Preferred":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean which indicates if it the preferred pronunciation.

                            " } }, @@ -1675,7 +1993,8 @@ "PhonemeTranscriptionValueString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "PlaceType":{ "type":"string", @@ -1693,8 +2012,10 @@ "Street", "PointOfInterest", "PointAddress", - "InterpolatedAddress" - ] + "InterpolatedAddress", + "SecondaryAddress" + ], + "sensitive":true }, "Position":{ "type":"list", @@ -1705,14 +2026,15 @@ }, "PostalAuthority":{ "type":"string", - "enum":["Usps"] + "enum":["Usps"], + "sensitive":true }, "PostalCodeDetails":{ "type":"structure", "members":{ "PostalCode":{ "shape":"PostalCodeDetailsPostalCodeString", - "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                            " + "documentation":"

                            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                            " }, "PostalAuthority":{ "shape":"PostalAuthority", @@ -1742,7 +2064,8 @@ "PostalCodeDetailsPostalCodeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "PostalCodeMode":{ "type":"string", @@ -1756,7 +2079,8 @@ "enum":[ "UspsZip", "UspsZipPlus4" - ] + ], + "sensitive":true }, "QueryRefinement":{ "type":"structure", @@ -1800,12 +2124,14 @@ "QueryRefinementOriginalTermString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "QueryRefinementRefinedTermString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "QueryRefinementStartIndexInteger":{ "type":"integer", @@ -1828,7 +2154,8 @@ "PostOfficeBox", "Rural", "Street" - ] + ], + "sensitive":true }, "Region":{ "type":"structure", @@ -1847,7 +2174,8 @@ "RegionCodeString":{ "type":"string", "max":3, - "min":0 + "min":0, + "sensitive":true }, "RegionHighlights":{ "type":"structure", @@ -1866,13 +2194,64 @@ "RegionNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true + }, + "RelatedPlace":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"RelatedPlacePlaceIdString", + "documentation":"

                            The PlaceId of the place result.

                            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

                            A PlaceType is a category that the result place must belong to.

                            " + }, + "Title":{ + "shape":"RelatedPlaceTitleString", + "documentation":"

                            The localized display name of this result item based on request parameter language.

                            " + }, + "Address":{"shape":"Address"}, + "Position":{ + "shape":"Position", + "documentation":"

                            The position, in longitude and latitude.

                            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

                            Position of the access point represented by longitude and latitude.

                            " + } + }, + "documentation":"

                            Place that is related to the result item.

                            " + }, + "RelatedPlaceList":{ + "type":"list", + "member":{"shape":"RelatedPlace"}, + "min":1 + }, + "RelatedPlacePlaceIdString":{ + "type":"string", + "max":500, + "min":0, + "sensitive":true + }, + "RelatedPlaceTitleString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true }, "ReverseGeocodeAdditionalFeature":{ "type":"string", "enum":[ "TimeZone", - "Access" + "Access", + "Intersections" ] }, "ReverseGeocodeAdditionalFeatureList":{ @@ -1920,7 +2299,7 @@ "members":{ "QueryPosition":{ "shape":"Position", - "documentation":"

                            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                            " + "documentation":"

                            The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                            " }, "QueryRadius":{ "shape":"ReverseGeocodeRequestQueryRadiusLong", @@ -1933,7 +2312,7 @@ }, "Filter":{ "shape":"ReverseGeocodeFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AdditionalFeatures":{ "shape":"ReverseGeocodeAdditionalFeatureList", @@ -1949,7 +2328,7 @@ }, "IntendedUse":{ "shape":"ReverseGeocodeIntendedUse", - "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an ReverseGeocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " }, "Key":{ "shape":"ApiKey", @@ -1968,7 +2347,8 @@ "ReverseGeocodeRequestQueryRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "ReverseGeocodeResponse":{ "type":"structure", @@ -1976,7 +2356,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2011,7 +2391,7 @@ "documentation":"

                            The place's address.

                            " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean indicating if the address provided has been corrected.

                            " }, "PostalCodeDetails":{ @@ -2040,7 +2420,7 @@ }, "AccessPoints":{ "shape":"AccessPointList", - "documentation":"

                            Position of the access point represent by longitude and latitude.

                            " + "documentation":"

                            Position of the access point represented by longitude and latitude.

                            " }, "TimeZone":{ "shape":"TimeZone", @@ -2049,6 +2429,10 @@ "PoliticalView":{ "shape":"CountryCode3", "documentation":"

                            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                            " + }, + "Intersections":{ + "shape":"IntersectionList", + "documentation":"

                            All Intersections that are near the provided address.

                            " } }, "documentation":"

                            The returned location from the Reverse Geocode action.

                            " @@ -2061,13 +2445,15 @@ }, "ReverseGeocodeResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "ReverseGeocodeResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SearchNearbyAdditionalFeature":{ "type":"string", @@ -2120,7 +2506,7 @@ "documentation":"

                            Food types that results are excluded from.

                            " } }, - "documentation":"

                            SearchNearby structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            SearchNearby structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "SearchNearbyIntendedUse":{ "type":"string", @@ -2135,11 +2521,11 @@ "members":{ "QueryPosition":{ "shape":"Position", - "documentation":"

                            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                            " + "documentation":"

                            The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                            " }, "QueryRadius":{ "shape":"SearchNearbyRequestQueryRadiusLong", - "documentation":"

                            The maximum distance in meters from the QueryPosition from which a result will be returned.

                            ", + "documentation":"

                            The maximum distance in meters from the QueryPosition from which a result will be returned.

                            The fields QueryText, and QueryID are mutually exclusive.

                            ", "box":true }, "MaxResults":{ @@ -2148,7 +2534,7 @@ }, "Filter":{ "shape":"SearchNearbyFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AdditionalFeatures":{ "shape":"SearchNearbyAdditionalFeatureList", @@ -2164,7 +2550,7 @@ }, "IntendedUse":{ "shape":"SearchNearbyIntendedUse", - "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an SearchNearby query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " }, "NextToken":{ "shape":"Token", @@ -2187,7 +2573,8 @@ "SearchNearbyRequestQueryRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "SearchNearbyResponse":{ "type":"structure", @@ -2195,7 +2582,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2234,7 +2621,7 @@ "documentation":"

                            The place's address.

                            " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean indicating if the address provided has been corrected.

                            " }, "Position":{ @@ -2300,13 +2687,15 @@ }, "SearchNearbyResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SearchNearbyResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SearchTextAdditionalFeature":{ "type":"string", @@ -2336,7 +2725,7 @@ "documentation":"

                            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

                            " } }, - "documentation":"

                            SearchText structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            SearchText structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "SearchTextIntendedUse":{ "type":"string", @@ -2350,11 +2739,11 @@ "members":{ "QueryText":{ "shape":"SearchTextRequestQueryTextString", - "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            " + "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "QueryId":{ "shape":"SearchTextRequestQueryIdString", - "documentation":"

                            The query Id.

                            " + "documentation":"

                            The query Id returned by the suggest API. If passed in the request, the SearchText API will preform a SearchText query with the improved query terms for the original query made to the suggest API.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "MaxResults":{ "shape":"SearchTextRequestMaxResultsInteger", @@ -2366,7 +2755,7 @@ }, "Filter":{ "shape":"SearchTextFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AdditionalFeatures":{ "shape":"SearchTextAdditionalFeatureList", @@ -2382,7 +2771,7 @@ }, "IntendedUse":{ "shape":"SearchTextIntendedUse", - "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            " + "documentation":"

                            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                            Storing the response of an SearchText query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                            " }, "NextToken":{ "shape":"Token", @@ -2404,7 +2793,7 @@ }, "SearchTextRequestQueryIdString":{ "type":"string", - "max":400, + "max":500, "min":1, "sensitive":true }, @@ -2420,7 +2809,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2459,7 +2848,7 @@ "documentation":"

                            The place's address.

                            " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                            Boolean indicating if the address provided has been corrected.

                            " }, "Position":{ @@ -2525,24 +2914,68 @@ }, "SearchTextResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SearchTextResultItemTitleString":{ "type":"string", "max":200, + "min":0, + "sensitive":true + }, + "SecondaryAddressComponent":{ + "type":"structure", + "required":["Number"], + "members":{ + "Number":{ + "shape":"SecondaryAddressComponentNumberString", + "documentation":"

                            Number that uniquely identifies a secondary address.

                            " + } + }, + "documentation":"

                            Components that correspond to secondary identifiers on an address. The only component type supported currently is Unit.

                            " + }, + "SecondaryAddressComponentList":{ + "type":"list", + "member":{"shape":"SecondaryAddressComponent"}, + "max":1, "min":0 }, + "SecondaryAddressComponentMatchScore":{ + "type":"structure", + "members":{ + "Number":{ + "shape":"MatchScore", + "documentation":"

                            Match score for the secondary address number.

                            " + } + }, + "documentation":"

                            Match score for a secondary address component in the result.

                            " + }, + "SecondaryAddressComponentMatchScoreList":{ + "type":"list", + "member":{"shape":"SecondaryAddressComponentMatchScore"} + }, + "SecondaryAddressComponentNumberString":{ + "type":"string", + "max":10, + "min":0, + "sensitive":true + }, + "SensitiveBoolean":{ + "type":"boolean", + "box":true, + "sensitive":true + }, "StreetComponents":{ "type":"structure", "members":{ "BaseName":{ "shape":"StreetComponentsBaseNameString", - "documentation":"

                            Base name part of the street name.

                            Example: Younge from the “Younge street\".

                            " + "documentation":"

                            Base name part of the street name.

                            Example: Younge from the \"Younge street\".

                            " }, "Type":{ "shape":"StreetComponentsTypeString", - "documentation":"

                            Street type part of the street name.

                            Example: “avenue\".

                            " + "documentation":"

                            Street type part of the street name.

                            Example: \"avenue\".

                            " }, "TypePlacement":{ "shape":"TypePlacement", @@ -2550,7 +2983,7 @@ }, "TypeSeparator":{ "shape":"TypeSeparator", - "documentation":"

                            What character(s) separates the string from its type.

                            " + "documentation":"

                            Defines a separator character such as \"\" or \" \" between the base name and type.

                            " }, "Prefix":{ "shape":"StreetComponentsPrefixString", @@ -2574,12 +3007,14 @@ "StreetComponentsBaseNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsDirectionString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsList":{ "type":"list", @@ -2590,17 +3025,20 @@ "StreetComponentsPrefixString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsSuffixString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsTypeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "String":{"type":"string"}, "SubRegion":{ @@ -2620,7 +3058,8 @@ "SubRegionCodeString":{ "type":"string", "max":3, - "min":0 + "min":0, + "sensitive":true }, "SubRegionHighlights":{ "type":"structure", @@ -2639,7 +3078,8 @@ "SubRegionNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SuggestAdditionalFeature":{ "type":"string", @@ -2679,7 +3119,7 @@ "documentation":"

                            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

                            " } }, - "documentation":"

                            SuggestFilter structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            SuggestFilter structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "SuggestHighlights":{ "type":"structure", @@ -2763,27 +3203,29 @@ }, "SuggestPlaceResultPlaceIdString":{ "type":"string", - "max":200, - "min":1 + "max":500, + "min":1, + "sensitive":true }, "SuggestQueryResult":{ "type":"structure", "members":{ "QueryId":{ "shape":"SuggestQueryResultQueryIdString", - "documentation":"

                            QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                            " + "documentation":"

                            QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "QueryType":{ "shape":"QueryType", - "documentation":"

                            The query type. Category qeuries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                            " + "documentation":"

                            The query type. Category queries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                            " } }, "documentation":"

                            The suggested query results.

                            " }, "SuggestQueryResultQueryIdString":{ "type":"string", - "max":400, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SuggestRequest":{ "type":"structure", @@ -2791,7 +3233,7 @@ "members":{ "QueryText":{ "shape":"SuggestRequestQueryTextString", - "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            " + "documentation":"

                            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                            The fields QueryText, and QueryID are mutually exclusive.

                            " }, "MaxResults":{ "shape":"SuggestRequestMaxResultsInteger", @@ -2807,7 +3249,7 @@ }, "Filter":{ "shape":"SuggestFilter", - "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                            " + "documentation":"

                            A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                            " }, "AdditionalFeatures":{ "shape":"SuggestAdditionalFeatureList", @@ -2857,7 +3299,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                            ", + "documentation":"

                            The pricing bucket for which the query is charged at.

                            For more information on pricing, please visit Amazon Location Service Pricing.

                            ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2907,7 +3349,8 @@ "SuggestResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SuggestResultItemType":{ "type":"string", @@ -2955,16 +3398,19 @@ "TimeZoneNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "TimeZoneOffsetSecondsLong":{ "type":"long", - "min":0 + "min":0, + "sensitive":true }, "TimeZoneOffsetString":{ "type":"string", "max":6, - "min":0 + "min":0, + "sensitive":true }, "Token":{ "type":"string", @@ -3075,7 +3521,8 @@ "Military", "PostOfficeBoxes", "Unique" - ] + ], + "sensitive":true } }, "documentation":"

                            The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:

                            • Forward and reverse geocoding for addresses and coordinates

                            • Comprehensive place searches with detailed information, including:

                              • Business names and addresses

                              • Contact information

                              • Hours of operation

                              • POI (Points of Interest) categories

                              • Food types for restaurants

                              • Chain affiliation for relevant businesses

                            • Global data coverage with a wide range of POI categories

                            • Regular data updates to ensure accuracy and relevance

                            " diff --git a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json index f7000ec2bad..578d924265c 100644 --- a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json +++ b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json @@ -8788,7 +8788,8 @@ "shape":"HashString", "documentation":"

                            Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

                            " } - } + }, + "documentation":"

                            A request to create a data quality ruleset.

                            " }, "CreateDataQualityRulesetResponse":{ "type":"structure", @@ -10343,6 +10344,36 @@ "type":"list", "member":{"shape":"DataOperation"} }, + "DataQualityAggregatedMetrics":{ + "type":"structure", + "members":{ + "TotalRowsProcessed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of rows that were processed during the data quality evaluation.

                            " + }, + "TotalRowsPassed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of rows that passed all applicable data quality rules.

                            " + }, + "TotalRowsFailed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of rows that failed one or more data quality rules.

                            " + }, + "TotalRulesProcessed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of data quality rules that were evaluated.

                            " + }, + "TotalRulesPassed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of data quality rules that passed their evaluation criteria.

                            " + }, + "TotalRulesFailed":{ + "shape":"NullableDouble", + "documentation":"

                            The total number of data quality rules that failed their evaluation criteria.

                            " + } + }, + "documentation":"

                            A summary of metrics showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " + }, "DataQualityAnalyzerResult":{ "type":"structure", "members":{ @@ -10525,6 +10556,10 @@ "Observations":{ "shape":"DataQualityObservations", "documentation":"

                            A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                            " + }, + "AggregatedMetrics":{ + "shape":"DataQualityAggregatedMetrics", + "documentation":"

                            A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " } }, "documentation":"

                            Describes a data quality result.

                            " @@ -10672,6 +10707,10 @@ "EvaluatedRule":{ "shape":"DataQualityRuleResultDescription", "documentation":"

                            The evaluated rule.

                            " + }, + "RuleMetrics":{ + "shape":"RuleMetricsMap", + "documentation":"

                            A map containing metrics associated with the evaluation of the rule based on row-level results.

                            " } }, "documentation":"

                            Describes the result of the evaluation of a data quality rule.

                            " @@ -14043,8 +14082,13 @@ "Observations":{ "shape":"DataQualityObservations", "documentation":"

                            A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                            " + }, + "AggregatedMetrics":{ + "shape":"DataQualityAggregatedMetrics", + "documentation":"

                            A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                            " } - } + }, + "documentation":"

                            The response for the data quality result.

                            " }, "GetDataQualityRuleRecommendationRunRequest":{ "type":"structure", @@ -14115,7 +14159,8 @@ "shape":"NameString", "documentation":"

                            The name of the security configuration created with the data quality encryption option.

                            " } - } + }, + "documentation":"

                            The response for the Data Quality rule recommendation run.

                            " }, "GetDataQualityRulesetEvaluationRunRequest":{ "type":"structure", @@ -14237,7 +14282,8 @@ "shape":"NameString", "documentation":"

                            The name of the security configuration created with the data quality encryption option.

                            " } - } + }, + "documentation":"

                            Returns the data quality ruleset response.

                            " }, "GetDatabaseRequest":{ "type":"structure", @@ -21632,6 +21678,12 @@ }, "RoleString":{"type":"string"}, "RowTag":{"type":"string"}, + "RuleMetricsMap":{ + "type":"map", + "key":{"shape":"NameString"}, + "value":{"shape":"NullableDouble"}, + "sensitive":true + }, "RulesetNames":{ "type":"list", "member":{"shape":"NameString"}, @@ -23838,7 +23890,8 @@ "shape":"HashString", "documentation":"

                            Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

                            " } - } + }, + "documentation":"

                            The request of the Data Quality rule recommendation request.

                            " }, "StartDataQualityRuleRecommendationRunResponse":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json index b1a76351ce0..fee2ca9a381 100644 --- a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json +++ b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json @@ -4917,7 +4917,7 @@ "DdsHandling": { "shape": "DvbddsHandling", "locationName": "ddsHandling", - "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match." + "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate." }, "DdsXCoordinate": { "shape": "__integerMin0Max2147483647", @@ -5176,11 +5176,12 @@ }, "DvbddsHandling": { "type": "string", - "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match.", + "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate.", "enum": [ "NONE", "SPECIFIED", - "NO_DISPLAY_WINDOW" + "NO_DISPLAY_WINDOW", + "SPECIFIED_OPTIMAL" ] }, "DynamicAudioSelector": { diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json index d4ff8f54a26..87654796fef 100644 --- a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json @@ -328,7 +328,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -371,7 +371,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -414,7 +414,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -457,7 +457,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json index 7203f138617..5a692c699b0 100644 --- a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json @@ -141,7 +141,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo-fips.us-gov-west-1.api.aws/v2" } }, "params": { @@ -154,7 +154,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo-fips.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -167,7 +167,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo.us-gov-west-1.api.aws/v2" } }, "params": { @@ -180,7 +180,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo.us-gov-west-1.amazonaws.com/v2" } }, "params": { diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 84e0c75b919..0a73f9b771d 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "comprehend.2017-11-27": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "finspace-data.2020-07-13": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "apptest.2022-12-06": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "acm-pca.": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "securityhub.2018-10-26": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "ec2.2016-11-15": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "controltower.2018-05-10": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "scheduler.2021-06-30": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "omics.2022-11-28": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "security-ir.2018-05-10": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "cloudwatch.2010-08-01": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "docdb.2014-10-31": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "kinesis.2013-12-02": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "billingconductor.2021-07-30": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "osis.2022-01-01": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "pricing.2017-10-15": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "m2.2021-04-28": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "proton.2020-07-20": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "ecs.2014-11-13": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "secrets-manager.2017-10-17": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "batch.2016-08-10": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "personalize-events.2018-03-22": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "api-gateway.2015-07-09": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "backupsearch.2018-05-10": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "memorydb.2021-01-01": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "mwaa.2020-07-01": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "imagebuilder.2019-12-02": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "timestream-query.2018-11-01": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "emr.2009-03-31": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "wisdom.2020-10-19": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "kms.2014-11-01": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "mgn.2020-02-26": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "workspaces.2015-04-08": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "amplify.2017-07-25": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "mq.2017-11-27": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "tnb.2008-10-21": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "eks-auth.2023-11-26": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "inspector-scan.2023-08-08": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "s3-control.2018-08-20": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "shield.2016-06-02": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "guardduty.2017-11-28": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "location.2020-11-19": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "securitylake.2018-05-10": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "service-catalog.2015-12-10": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "device-farm.2015-06-23": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "datazone.2018-05-10": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "workdocs.2016-05-01": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "evidently.2021-02-01": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "machine-learning.2014-12-12": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "managedblockchain.2018-09-24": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "ssm.2014-11-06": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "license-manager.2018-08-01": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "finspace.2021-03-12": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "xray.2016-04-12": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "sso.2019-06-10": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "connect.2017-08-08": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "account.2021-02-01": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "geo-maps.2020-11-19": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "quicksight.2018-04-01": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "servicediscovery.2017-03-14": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "ecr-public.2020-10-30": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "iam.2010-05-08": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "appsync.2017-07-25": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "mediastore.2017-09-01": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "migration-hub.2017-05-31": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "service-quotas.2019-06-24": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "workspaces-web.2020-07-08": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "inspector.2016-02-16": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "sagemaker.2017-07-24": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "gamelift.2015-10-01": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "waf.2015-08-24": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "braket.2019-09-01": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "resiliencehub.2020-04-30": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "backup.2018-11-15": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "ivs.2020-07-14": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "oam.2022-06-10": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "redshift-data.2019-12-20": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "lambda.2015-03-31": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1279,7 +1279,7 @@ }, "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "wellarchitected.2020-03-31": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "sts.2011-06-15": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "wafv2.2019-07-29": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "mediatailor.2018-04-23": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "translate.2017-07-01": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "rds.2014-10-31": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "lookoutvision.2020-11-20": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "connectcases.2022-10-03": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "auto-scaling.2011-01-01": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "network-firewall.2020-11-12": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "codepipeline.2015-07-09": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "mediapackage.2017-10-12": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "application-insights.2018-11-25": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "emr-serverless.2021-07-13": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "cloudtrail.2013-11-01": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "qldb.2019-01-02": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "codeguru-security.2018-05-10": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "eventbridge.2015-10-07": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "connectparticipant.2018-09-07": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "global-accelerator.2018-08-08": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "cognito-identity.2014-06-30": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "sfn.2016-11-23": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "sso-oidc.2019-06-10": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,9 @@ } } }, - "cognito-sync.2014-06-30": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1651,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1662,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1673,9 @@ } } }, - "route53resolver.2018-04-01": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1684,9 @@ } } }, - "amplifybackend.2020-08-11": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1695,9 @@ } } }, - "forecast.2018-06-26": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1706,9 @@ } } }, - "route-53.2013-04-01": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1717,9 @@ } } }, - "voice-id.2021-09-27": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1728,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1739,9 @@ } } }, - "schemas.2019-12-02": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1750,9 @@ } } }, - "inspector2.2020-06-08": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1761,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1772,9 @@ } } }, - "snow-device-management.2021-08-04": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1783,9 @@ } } }, - "billing.2023-09-07": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1794,9 @@ } } }, - "opsworks.2013-02-18": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1805,9 @@ } } }, - "dynamodb.2012-08-10": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1816,9 @@ } } }, - "qldb-session.2019-07-11": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1827,9 @@ } } }, - "backup-gateway.2021-01-01": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1838,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1849,9 @@ } } }, - "geo-places.2020-11-19": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1860,9 @@ } } }, - "personalize.2018-05-22": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1871,9 @@ } } }, - "neptune-graph.2023-11-29": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1882,9 @@ } } }, - "customer-profiles.2020-08-15": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1893,9 @@ } } }, - "iotanalytics.2017-11-27": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1904,9 @@ } } }, - "cloudhsm.2014-05-30": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1915,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1926,9 @@ } } }, - "app-mesh.2019-01-25": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1937,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1948,9 @@ } } }, - "dataexchange.2017-07-25": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1959,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1970,9 @@ } } }, - "s3.2006-03-01": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1981,9 @@ } } }, - "waf-regional.2016-11-28": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +1992,9 @@ } } }, - "invoicing.2024-12-01": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2003,9 @@ } } }, - "dsql.2018-05-10": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2014,9 @@ } } }, - "synthetics.2017-10-11": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2025,9 @@ } } }, - "fsx.2018-03-01": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2036,9 @@ } } }, - "pi.2018-02-27": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2047,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2058,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2069,9 @@ } } }, - "codedeploy.2014-10-06": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2080,9 @@ } } }, - "freetier.2023-09-07": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2091,9 @@ } } }, - "database-migration-service.2016-01-01": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2102,9 @@ } } }, - "chime.2018-05-01": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2113,9 @@ } } }, - "keyspaces.2022-02-10": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2124,9 @@ } } }, - "application-signals.2024-04-15": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2135,9 @@ } } }, - "codecatalyst.2022-09-28": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2146,9 @@ } } }, - "mediaconnect.2018-11-14": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2157,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2168,9 @@ } } }, - "support-app.2021-08-20": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2179,9 @@ } } }, - "networkmanager.2019-07-05": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2190,9 @@ } } }, - "macie2.2020-01-01": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2201,9 @@ } } }, - "neptunedata.2023-08-01": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2212,9 @@ } } }, - "route53profiles.2018-05-10": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2223,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2234,9 @@ } } }, - "snowball.2016-06-30": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2245,9 @@ } } }, - "kinesis-video.2017-09-30": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2256,9 @@ } } }, - "bedrock.2023-04-20": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2267,9 @@ } } }, - "codecommit.2015-04-13": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2278,9 @@ } } }, - "mturk.2017-01-17": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2289,9 @@ } } }, - "sms.2016-10-24": { + "acm-pca.": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2300,9 @@ } } }, - "codebuild.2016-10-06": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2311,9 @@ } } }, - "networkmonitor.2023-08-01": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2322,9 @@ } } }, - "s3tables.2018-05-10": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2333,9 @@ } } }, - "geo-routes.2020-11-19": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2344,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2355,9 @@ } } }, - "codeconnections.2023-12-01": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2366,9 @@ } } }, - "detective.2018-10-26": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2377,9 @@ } } }, - "clouddirectory.2017-01-11": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2388,9 @@ } } }, - "forecastquery.2018-06-26": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2399,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2410,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2421,9 @@ } } }, - "lightsail.2016-11-28": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2432,9 @@ } } }, - "glacier.2012-06-01": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2443,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2454,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2465,9 @@ } } }, - "robomaker.2018-06-29": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2476,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2487,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2498,9 @@ } } }, - "cloudfront.2020-05-31": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2509,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2520,9 @@ } } }, - "auditmanager.2017-07-25": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2531,9 @@ } } }, - "support.2013-04-15": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2542,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2553,9 @@ } } }, - "codeartifact.2018-09-22": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2564,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2575,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2586,9 @@ } } }, - "swf.2012-01-25": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2597,9 @@ } } }, - "frauddetector.2019-11-15": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2608,9 @@ } } }, - "resource-groups.2017-11-27": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2619,9 @@ } } }, - "fis.2020-12-01": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2630,9 @@ } } }, - "qapps.2023-11-27": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2641,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2652,9 @@ } } }, - "pinpoint.2016-12-01": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2663,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2674,9 @@ } } }, - "budgets.2016-10-20": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2685,9 @@ } } }, - "deadline.2023-10-12": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2696,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2707,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2718,9 @@ } } }, - "polly.2016-06-10": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2729,9 @@ } } }, - "lakeformation.2017-03-31": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2740,9 @@ } } }, - "sqs.2012-11-05": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2751,9 @@ } } }, - "ebs.2019-11-02": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2762,9 @@ } } }, - "ses.2010-12-01": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2773,9 @@ } } }, - "efs.2015-02-01": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2784,9 @@ } } }, - "workmail.2017-10-01": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2795,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2806,9 @@ } } }, - "glue.2017-03-31": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2817,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2828,9 @@ } } }, - "iotfleethub.2020-11-03": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2839,9 @@ } } }, - "elasticache.2015-02-02": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2850,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2861,9 @@ } } }, - "drs.2020-02-26": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2872,9 @@ } } }, - "transfer.2018-11-05": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2883,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2894,9 @@ } } }, - "cloud9.2017-09-23": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2905,9 @@ } } }, - "appintegrations.2020-07-29": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2916,9 @@ } } }, - "cleanrooms.2022-02-17": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2927,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2938,9 @@ } } }, - "mpa.2022-07-26": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2949,9 @@ } } }, - "panorama.2019-07-24": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2960,9 @@ } } }, - "organizations.2016-11-28": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2971,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2982,9 @@ } } }, - "artifact.2018-05-10": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +2993,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3004,9 @@ } } }, - "eks.2017-11-01": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3015,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3026,9 @@ } } }, - "ecr.2015-09-21": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3037,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3048,9 @@ } } }, - "cost-explorer.2017-10-25": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3059,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3070,9 @@ } } }, - "mediaconvert.2017-08-29": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3081,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3092,9 @@ } } }, - "b2bi.2022-06-23": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3103,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3114,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3125,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3136,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3147,9 @@ } } }, - "apprunner.2020-05-15": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3158,9 @@ } } }, - "rum.2018-05-10": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3169,9 @@ } } }, - "iot-events-data.2018-10-23": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3180,9 @@ } } }, - "kendra.2019-02-03": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3191,9 @@ } } }, - "medical-imaging.2023-07-19": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3202,9 @@ } } }, - "ivschat.2020-07-14": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3213,9 @@ } } }, - "route-53-domains.2014-05-15": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3224,9 @@ } } }, - "qconnect.2020-10-19": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3235,9 @@ } } }, - "s3outposts.2017-07-25": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3246,9 @@ } } }, - "aiops.2018-05-10": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3257,9 @@ } } }, - "redshift.2012-12-01": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3268,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3279,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3290,9 @@ } } }, - "appconfigdata.2021-11-11": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3301,9 @@ } } }, - "repostspace.2022-05-13": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3312,9 @@ } } }, - "medialive.2017-10-14": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3323,9 @@ } } }, - "pcs.2023-02-10": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3334,9 @@ } } }, - "evs.2023-07-27": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3345,9 @@ } } }, - "opensearch.2021-01-01": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3356,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3367,9 @@ } } }, - "supplychain.2024-01-01": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3378,9 @@ } } }, - "internetmonitor.2021-06-03": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3389,9 @@ } } }, - "kafka.2018-11-14": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3400,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3411,9 @@ } } }, - "greengrass.2017-06-07": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3422,9 @@ } } }, - "launch-wizard.2018-05-10": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3433,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3444,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3455,9 @@ } } }, - "appconfig.2019-10-09": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3466,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3477,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3488,9 @@ } } }, - "storage-gateway.2013-06-30": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3499,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3510,9 @@ } } }, - "mediastore-data.2017-09-01": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3521,9 @@ } } }, - "appfabric.2023-05-19": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3532,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3543,9 @@ } } }, - "timestream-write.2018-11-01": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3554,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3565,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3576,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3587,9 @@ } } }, - "rds-data.2018-08-01": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3598,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3609,9 @@ } } }, - "sns.2010-03-31": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3620,9 @@ } } }, - "identitystore.2020-06-15": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3631,9 @@ } } }, - "sso-admin.2020-07-20": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3642,9 @@ } } }, - "rbin.2021-06-15": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3653,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3664,9 @@ } } }, - "cloudsearch.2013-01-01": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3675,9 @@ } } }, - "iot.2015-05-28": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3686,9 @@ } } }, - "amp.2020-08-01": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3697,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3708,9 @@ } } }, - "ram.2018-01-04": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3719,9 @@ } } }, - "notifications.2018-05-10": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3730,9 @@ } } }, - "firehose.2015-08-04": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3741,9 @@ } } }, - "outposts.2019-12-03": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3752,9 @@ } } }, - "dax.2017-04-19": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3763,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3774,9 @@ } } }, - "iotsitewise.2019-12-02": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3785,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3796,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3807,9 @@ } } }, - "fms.2018-01-01": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3818,9 @@ } } }, - "greengrassv2.2020-11-30": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3829,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3840,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3851,9 @@ } } }, - "signer.2017-08-25": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3862,9 @@ } } }, - "sesv2.2019-09-27": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3873,9 @@ } } }, - "acm.2015-12-08": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3884,9 @@ } } }, - "directory-service.2015-04-16": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3895,9 @@ } } }, - "grafana.2020-08-18": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3906,9 @@ } } }, - "ssm-sap.2018-05-10": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3917,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3928,9 @@ } } }, - "textract.2018-06-27": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3939,9 @@ } } }, - "dlm.2018-01-12": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3950,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3961,9 @@ } } }, - "iot-wireless.2020-11-22": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3972,9 @@ } } }, - "rekognition.2016-06-27": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3983,9 @@ } } }, - "emr-containers.2020-10-01": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +3994,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4005,9 @@ } } }, - "cloudformation.2010-05-15": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4016,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4027,9 @@ } } }, - "savingsplans.2019-06-28": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4038,9 @@ } } }, - "controlcatalog.2018-05-10": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4049,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4060,9 @@ } } }, - "health.2016-08-04": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4071,9 @@ } } }, - "directory-service-data.2023-05-31": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4082,9 @@ } } }, - "appstream.2016-12-01": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4093,9 @@ } } }, - "groundstation.2019-05-23": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4104,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4115,9 @@ } } }, - "qbusiness.2023-11-27": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4126,9 @@ } } }, - "data-pipeline.2012-10-29": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4137,9 @@ } } }, - "codestar-connections.2019-12-01": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4148,9 @@ } } }, - "entityresolution.2018-05-10": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4159,9 @@ } } }, - "transcribe.2017-10-26": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4170,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4181,9 @@ } } }, - "athena.2017-05-18": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4192,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4203,9 @@ } } }, - "config-service.2014-11-12": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4214,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "aiops.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4225,9 @@ } } }, - "iot-events.2018-07-27": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4236,9 @@ } } }, - "pipes.2015-10-07": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4247,9 @@ } } }, - "datasync.2018-11-09": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4258,9 @@ } } }, - "databrew.2017-07-25": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4269,9 @@ } } }, - "healthlake.2017-07-01": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4280,9 @@ } } }, - "taxsettings.2018-05-10": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4291,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4302,9 @@ } } }, - "opsworkscm.2016-11-01": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4313,9 @@ } } }, - "socialmessaging.2024-01-01": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4324,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4335,9 @@ } } }, - "mailmanager.2023-10-17": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4346,9 @@ } } }, - "direct-connect.2012-10-25": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4357,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4368,9 @@ } } }, - "neptune.2014-10-31": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4379,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4390,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4401,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4412,9 @@ } } }, - "chatbot.2017-10-11": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4423,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4434,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4445,9 @@ } } }, - "appflow.2020-08-23": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4456,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4467,9 +4467,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4478,9 +4478,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src1180314056/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { From f6ca482f49463ddc9e51f21558acbad0700f4127 Mon Sep 17 00:00:00 2001 From: sbera87 Date: Mon, 23 Jun 2025 15:06:08 -0400 Subject: [PATCH 24/26] disable time query tests (#3461) * disable time query tests temporarily * remove the test * remove timequery tests --- cmake/sdksCommon.cmake | 1 - tools/scripts/run_integration_tests.py | 1 - 2 files changed, 2 deletions(-) diff --git a/cmake/sdksCommon.cmake b/cmake/sdksCommon.cmake index 753807cec72..41523759029 100644 --- a/cmake/sdksCommon.cmake +++ b/cmake/sdksCommon.cmake @@ -111,7 +111,6 @@ list(APPEND SDK_TEST_PROJECT_LIST "transfer:tests/aws-cpp-sdk-transfer-tests") list(APPEND SDK_TEST_PROJECT_LIST "text-to-speech:tests/aws-cpp-sdk-text-to-speech-tests,tests/aws-cpp-sdk-polly-sample") list(APPEND SDK_TEST_PROJECT_LIST "transcribestreaming:tests/aws-cpp-sdk-transcribestreaming-integ-tests") list(APPEND SDK_TEST_PROJECT_LIST "eventbridge:tests/aws-cpp-sdk-eventbridge-tests") -list(APPEND SDK_TEST_PROJECT_LIST "timestream-query:tests/aws-cpp-sdk-timestream-query-integration-tests") list(APPEND SDK_TEST_PROJECT_LIST "dsql:tests/aws-cpp-sdk-dsql-unit-tests") list(APPEND SDK_TEST_PROJECT_LIST "bedrock-runtime:tests/aws-cpp-sdk-bedrock-runtime-integration-tests") diff --git a/tools/scripts/run_integration_tests.py b/tools/scripts/run_integration_tests.py index ffd5a4276fe..0c7125e53f8 100644 --- a/tools/scripts/run_integration_tests.py +++ b/tools/scripts/run_integration_tests.py @@ -55,7 +55,6 @@ def main(): "aws-cpp-sdk-elasticfilesystem-integration-tests", "aws-cpp-sdk-rds-integration-tests", "aws-cpp-sdk-ec2-integration-tests", - "aws-cpp-sdk-timestream-query-integration-tests", "aws-cpp-sdk-bedrock-runtime-integration-tests" ] From a87fe0aec55c6adebd88091a27fadf00e4a135d6 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Mon, 23 Jun 2025 19:28:34 +0000 Subject: [PATCH 25/26] Update API model --- .../smithy/api-descriptions/glue.json | 63 + .../smithy/api-descriptions/s3tables.json | 37 +- .../workspaces-instances.json | 3575 +++++++++++++++++ 3 files changed, 3674 insertions(+), 1 deletion(-) create mode 100644 tools/code-generation/smithy/api-descriptions/workspaces-instances.json diff --git a/tools/code-generation/smithy/api-descriptions/glue.json b/tools/code-generation/smithy/api-descriptions/glue.json index 682258c133f..88dd269502a 100644 --- a/tools/code-generation/smithy/api-descriptions/glue.json +++ b/tools/code-generation/smithy/api-descriptions/glue.json @@ -7077,6 +7077,20 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.glue#CompactionConfiguration": { + "type": "structure", + "members": { + "icebergConfiguration": { + "target": "com.amazonaws.glue#IcebergCompactionConfiguration", + "traits": { + "smithy.api#documentation": "

                            The configuration for an Iceberg compaction optimizer.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve \n query performance and reduce storage costs.

                            " + } + }, "com.amazonaws.glue#CompactionMetrics": { "type": "structure", "members": { @@ -7091,6 +7105,29 @@ "smithy.api#documentation": "

                            A structure that contains compaction metrics for the optimizer run.

                            " } }, + "com.amazonaws.glue#CompactionStrategy": { + "type": "enum", + "members": { + "BINPACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "binpack" + } + }, + "SORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sort" + } + }, + "ZORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "z-order" + } + } + } + }, "com.amazonaws.glue#Comparator": { "type": "enum", "members": { @@ -25833,6 +25870,20 @@ "smithy.api#pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+$" } }, + "com.amazonaws.glue#IcebergCompactionConfiguration": { + "type": "structure", + "members": { + "strategy": { + "target": "com.amazonaws.glue#CompactionStrategy", + "traits": { + "smithy.api#documentation": "

                            The strategy to use for compaction. Valid values are:

                            \n
                              \n
                            • \n

                              \n binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n

                              \n
                            • \n
                            • \n

                              \n sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              \n
                            • \n
                            • \n

                              \n z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n sort_order table property.\n

                              \n
                            • \n
                            \n

                            If an input is not provided, the default value 'binpack' will be used.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The configuration for an Iceberg compaction optimizer. This configuration defines parameters for optimizing the layout of data files in Iceberg tables.

                            " + } + }, "com.amazonaws.glue#IcebergCompactionMetrics": { "type": "structure", "members": { @@ -40815,6 +40866,12 @@ "smithy.api#documentation": "

                            A TableOptimizerVpcConfiguration object representing the VPC configuration for a table optimizer.

                            \n

                            This configuration is necessary to perform optimization on tables that are in a customer VPC.

                            " } }, + "compactionConfiguration": { + "target": "com.amazonaws.glue#CompactionConfiguration", + "traits": { + "smithy.api#documentation": "

                            The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to \n improve query performance and reduce storage costs.

                            " + } + }, "retentionConfiguration": { "target": "com.amazonaws.glue#RetentionConfiguration", "traits": { @@ -40903,6 +40960,12 @@ "smithy.api#documentation": "

                            A CompactionMetrics object containing metrics for the optimizer run.

                            " } }, + "compactionStrategy": { + "target": "com.amazonaws.glue#CompactionStrategy", + "traits": { + "smithy.api#documentation": "

                            The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the \n compaction process. Valid values are:

                            \n
                              \n
                            • \n

                              \n binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n

                              \n
                            • \n
                            • \n

                              \n sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              \n
                            • \n
                            • \n

                              \n z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n sort_order table property.\n

                              \n
                            • \n
                            " + } + }, "retentionMetrics": { "target": "com.amazonaws.glue#RetentionMetrics", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/s3tables.json b/tools/code-generation/smithy/api-descriptions/s3tables.json index 3dda82a90b5..49e633e2fc8 100644 --- a/tools/code-generation/smithy/api-descriptions/s3tables.json +++ b/tools/code-generation/smithy/api-descriptions/s3tables.json @@ -1376,7 +1376,7 @@ } ], "traits": { - "smithy.api#documentation": "

                            Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                            Permissions

                            You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                            ", + "smithy.api#documentation": "

                            Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                            Permissions
                            • You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                            • You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder.

                            ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance", "method": "GET" @@ -1873,12 +1873,47 @@ "traits": { "smithy.api#documentation": "

                            The target file size for the table in MB.

                            " } + }, + "strategy": { + "target": "com.amazonaws.s3tables#IcebergCompactionStrategy", + "traits": { + "smithy.api#documentation": "

                            The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

                            " + } } }, "traits": { "smithy.api#documentation": "

                            Contains details about the compaction settings for an Iceberg table.

                            " } }, + "com.amazonaws.s3tables#IcebergCompactionStrategy": { + "type": "enum", + "members": { + "AUTO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "auto" + } + }, + "BINPACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "binpack" + } + }, + "SORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sort" + } + }, + "ZORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "z-order" + } + } + } + }, "com.amazonaws.s3tables#IcebergMetadata": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/workspaces-instances.json b/tools/code-generation/smithy/api-descriptions/workspaces-instances.json new file mode 100644 index 00000000000..4a7522a8580 --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/workspaces-instances.json @@ -0,0 +1,3575 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.workspacesinstances#ARN": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.workspacesinstances#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Detailed explanation of the access denial.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates insufficient permissions to perform the requested action.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.workspacesinstances#AmdSevSnpEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#AssociateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#AssociateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#AssociateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to associate a workspace managed volume to a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                            Attaches a volume to a WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#AssociateVolumeRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            WorkSpace Instance to attach volume to.

                            ", + "smithy.api#required": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                            Volume to be attached.

                            ", + "smithy.api#required": {} + } + }, + "Device": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                            Device path for volume attachment.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies volume attachment parameters.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#AssociateVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms volume attachment.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#AutoRecoveryEnum": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + }, + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + } + } + }, + "com.amazonaws.workspacesinstances#AvailabilityZone": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-\\d[a-z](-[a-z0-9]+)?$" + } + }, + "com.amazonaws.workspacesinstances#BandwidthWeightingEnum": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "VPC_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc-1" + } + }, + "EBS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ebs-1" + } + } + } + }, + "com.amazonaws.workspacesinstances#BlockDeviceMappingRequest": { + "type": "structure", + "members": { + "DeviceName": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                            Name of the device for storage mapping.

                            " + } + }, + "Ebs": { + "target": "com.amazonaws.workspacesinstances#EbsBlockDevice", + "traits": { + "smithy.api#documentation": "

                            EBS volume configuration for the device.

                            " + } + }, + "NoDevice": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                            Indicates device should not be mapped.

                            " + } + }, + "VirtualName": { + "target": "com.amazonaws.workspacesinstances#VirtualName", + "traits": { + "smithy.api#documentation": "

                            Virtual device name for ephemeral storage.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines device mapping for WorkSpace Instance storage.

                            " + } + }, + "com.amazonaws.workspacesinstances#BlockDeviceMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#BlockDeviceMappingRequest" + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationPreferenceEnum": { + "type": "enum", + "members": { + "CAPACITY_RESERVATIONS_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-reservations-only" + } + }, + "OPEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + } + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationSpecification": { + "type": "structure", + "members": { + "CapacityReservationPreference": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationPreferenceEnum", + "traits": { + "smithy.api#documentation": "

                            Preference for using capacity reservation.

                            " + } + }, + "CapacityReservationTarget": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationTarget", + "traits": { + "smithy.api#documentation": "

                            Specific capacity reservation target.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies capacity reservation preferences.

                            " + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationTarget": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the capacity reservation.

                            " + } + }, + "CapacityReservationResourceGroupArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                            ARN of the capacity reservation resource group.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Identifies a specific capacity reservation.

                            " + } + }, + "com.amazonaws.workspacesinstances#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Description of the conflict encountered.

                            ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Identifier of the conflicting resource.

                            ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Type of the conflicting resource.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Signals a conflict with the current state of the resource.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.workspacesinstances#ConnectionTrackingSpecificationRequest": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Timeout for established TCP connections.

                            " + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Timeout for UDP stream connections.

                            " + } + }, + "UdpTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            General timeout for UDP connections.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines connection tracking parameters for network interfaces.

                            " + } + }, + "com.amazonaws.workspacesinstances#CpuCreditsEnum": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "UNLIMITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unlimited" + } + } + } + }, + "com.amazonaws.workspacesinstances#CpuOptionsRequest": { + "type": "structure", + "members": { + "AmdSevSnp": { + "target": "com.amazonaws.workspacesinstances#AmdSevSnpEnum", + "traits": { + "smithy.api#documentation": "

                            AMD Secure Encrypted Virtualization configuration.

                            " + } + }, + "CoreCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of CPU cores to allocate.

                            " + } + }, + "ThreadsPerCore": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of threads per CPU core.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures CPU-specific settings for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#CreateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#CreateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#CreateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a workspace managed volume in your account" + }, + "smithy.api#documentation": "

                            Creates a new volume for WorkSpace Instances.

                            ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesinstances#CreateVolumeRequest": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Availability zone for the volume.

                            ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.workspacesinstances#ClientToken", + "traits": { + "smithy.api#documentation": "

                            Unique token to prevent duplicate volume creation.

                            ", + "smithy.api#idempotencyToken": {} + } + }, + "Encrypted": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Indicates if the volume should be encrypted.

                            " + } + }, + "Iops": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Input/output operations per second for the volume.

                            " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.workspacesinstances#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                            KMS key for volume encryption.

                            " + } + }, + "SizeInGB": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Volume size in gigabytes.

                            " + } + }, + "SnapshotId": { + "target": "com.amazonaws.workspacesinstances#SnapshotId", + "traits": { + "smithy.api#documentation": "

                            Source snapshot for volume creation.

                            " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.workspacesinstances#TagSpecifications", + "traits": { + "smithy.api#documentation": "

                            Metadata tags for the volume.

                            " + } + }, + "Throughput": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Volume throughput performance.

                            " + } + }, + "VolumeType": { + "target": "com.amazonaws.workspacesinstances#VolumeTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Type of EBS volume.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies volume creation parameters.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#CreateVolumeResponse": { + "type": "structure", + "members": { + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the new volume.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Returns the created volume identifier.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                            Launches a new WorkSpace Instance with specified configuration parameters, enabling programmatic workspace deployment.

                            ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "ClientToken": { + "target": "com.amazonaws.workspacesinstances#ClientToken", + "traits": { + "smithy.api#documentation": "

                            Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.

                            ", + "smithy.api#idempotencyToken": {} + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                            Optional metadata tags for categorizing and managing WorkSpaces Instances.

                            " + } + }, + "ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#ManagedInstanceRequest", + "traits": { + "smithy.api#documentation": "

                            Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines the configuration parameters for creating a new WorkSpaces Instance.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceResponse": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier assigned to the newly created WorkSpaces Instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Returns the unique identifier for the newly created WorkSpaces Instance.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#CreditSpecificationRequest": { + "type": "structure", + "members": { + "CpuCredits": { + "target": "com.amazonaws.workspacesinstances#CpuCreditsEnum", + "traits": { + "smithy.api#documentation": "

                            CPU credit specification mode.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines CPU credit configuration for burstable instances.

                            " + } + }, + "com.amazonaws.workspacesinstances#DeleteVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DeleteVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DeleteVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a workspace managed volume in your account" + }, + "smithy.api#documentation": "

                            Deletes a specified volume.

                            " + } + }, + "com.amazonaws.workspacesinstances#DeleteVolumeRequest": { + "type": "structure", + "members": { + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                            Identifier of the volume to delete.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies the volume to delete.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms volume deletion.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                            Deletes the specified WorkSpace

                            " + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the WorkSpaces Instance targeted for deletion.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            The WorkSpace to delete

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms the successful deletion of the specified WorkSpace Instance.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.workspacesinstances#DeviceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32 + } + } + }, + "com.amazonaws.workspacesinstances#DisassociateModeEnum": { + "type": "enum", + "members": { + "FORCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FORCE" + } + }, + "NO_FORCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_FORCE" + } + } + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DisassociateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DisassociateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to disassociate a workspace managed volume from a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                            Detaches a volume from a WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolumeRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            WorkSpace Instance to detach volume from.

                            ", + "smithy.api#required": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                            Volume to be detached.

                            ", + "smithy.api#required": {} + } + }, + "Device": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                            Device path of volume to detach.

                            " + } + }, + "DisassociateMode": { + "target": "com.amazonaws.workspacesinstances#DisassociateModeEnum", + "traits": { + "smithy.api#documentation": "

                            Mode for volume detachment.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies volume detachment parameters.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms volume detachment.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#EC2InstanceError": { + "type": "structure", + "members": { + "EC2ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Unique error code identifying the specific EC2 instance error.

                            " + } + }, + "EC2ExceptionType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Type of exception encountered during EC2 instance operation.

                            " + } + }, + "EC2ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Detailed description of the EC2 instance error.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Captures detailed error information for EC2 instance operations.

                            " + } + }, + "com.amazonaws.workspacesinstances#EC2InstanceErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#EC2InstanceError" + } + }, + "com.amazonaws.workspacesinstances#EC2ManagedInstance": { + "type": "structure", + "members": { + "InstanceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the managed EC2 instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents an EC2 instance managed by WorkSpaces.

                            " + } + }, + "com.amazonaws.workspacesinstances#EUCMIFrontendAPIService": { + "type": "service", + "version": "2022-07-26", + "operations": [ + { + "target": "com.amazonaws.workspacesinstances#AssociateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#CreateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#DeleteVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#DisassociateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypes" + }, + { + "target": "com.amazonaws.workspacesinstances#ListRegions" + }, + { + "target": "com.amazonaws.workspacesinstances#ListTagsForResource" + }, + { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstances" + }, + { + "target": "com.amazonaws.workspacesinstances#TagResource" + }, + { + "target": "com.amazonaws.workspacesinstances#UntagResource" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Workspaces Instances", + "arnNamespace": "workspaces-instances", + "cloudFormationName": "WorkspacesInstances", + "cloudTrailEventSource": "workspaces-instances.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "workspaces-instances" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.iam#defineConditionKeys": { + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access based on the tags associated with the resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access based on the tags that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access based on the tag keys that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + } + }, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

                            Amazon WorkSpaces Instances provides an API framework for managing virtual workspace environments across multiple AWS regions, enabling programmatic creation and configuration of desktop infrastructure.

                            ", + "smithy.api#title": "Amazon Workspaces Instances", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://workspaces-instances-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://workspaces-instances.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.workspacesinstances#EbsBlockDevice": { + "type": "structure", + "members": { + "VolumeType": { + "target": "com.amazonaws.workspacesinstances#VolumeTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Type of EBS volume (e.g., gp2, io1).

                            " + } + }, + "Encrypted": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Indicates if the volume is encrypted.

                            " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.workspacesinstances#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                            KMS key used for volume encryption.

                            " + } + }, + "Iops": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Input/output operations per second for the volume.

                            " + } + }, + "Throughput": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Volume data transfer rate.

                            " + } + }, + "VolumeSize": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Size of the EBS volume in gigabytes.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines configuration for an Elastic Block Store volume.

                            " + } + }, + "com.amazonaws.workspacesinstances#EnaSrdSpecificationRequest": { + "type": "structure", + "members": { + "EnaSrdEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables ENA SRD for network performance.

                            " + } + }, + "EnaSrdUdpSpecification": { + "target": "com.amazonaws.workspacesinstances#EnaSrdUdpSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                            Configures UDP-specific ENA SRD settings.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) configuration.

                            " + } + }, + "com.amazonaws.workspacesinstances#EnaSrdUdpSpecificationRequest": { + "type": "structure", + "members": { + "EnaSrdUdpEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables ENA SRD for UDP traffic.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies UDP configuration for ENA SRD.

                            " + } + }, + "com.amazonaws.workspacesinstances#EnclaveOptionsRequest": { + "type": "structure", + "members": { + "Enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables AWS Nitro Enclaves for enhanced security.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures AWS Nitro Enclave options for the WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to get details for a specific workspace managed instance in your account" + }, + "smithy.api#documentation": "

                            Retrieves detailed information about a specific WorkSpace Instance.

                            ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the WorkSpace Instance to retrieve.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Identifies the WorkSpaces Instance to retrieve detailed information for.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstanceResponse": { + "type": "structure", + "members": { + "WorkspaceInstanceErrors": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceErrors", + "traits": { + "smithy.api#documentation": "

                            Captures any errors specific to the WorkSpace Instance lifecycle.

                            " + } + }, + "EC2InstanceErrors": { + "target": "com.amazonaws.workspacesinstances#EC2InstanceErrors", + "traits": { + "smithy.api#documentation": "

                            Includes any underlying EC2 instance errors encountered.

                            " + } + }, + "ProvisionState": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum", + "traits": { + "smithy.api#documentation": "

                            Current provisioning state of the WorkSpaces Instance.

                            " + } + }, + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the retrieved WorkSpaces Instance.

                            " + } + }, + "EC2ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#EC2ManagedInstance", + "traits": { + "smithy.api#documentation": "

                            Details of the associated EC2 managed instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Provides comprehensive details about the requested WorkSpaces Instance.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#HibernationOptionsRequest": { + "type": "structure", + "members": { + "Configured": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables instance hibernation capability.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines hibernation configuration for the WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#HostId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^h-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#HostnameTypeEnum": { + "type": "enum", + "members": { + "IP_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ip-name" + } + }, + "RESOURCE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource-name" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpEndpointEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpProtocolIpv6Enum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpPutResponseHopLimit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.workspacesinstances#HttpTokensEnum": { + "type": "enum", + "members": { + "OPTIONAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "optional" + } + }, + "REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" + } + } + } + }, + "com.amazonaws.workspacesinstances#IamInstanceProfileSpecification": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                            Amazon Resource Name (ARN) of the IAM instance profile.

                            " + } + }, + "Name": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Name of the IAM instance profile.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines IAM instance profile configuration for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#ImageId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ami-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#InstanceInterruptionBehaviorEnum": { + "type": "enum", + "members": { + "HIBERNATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hibernate" + } + }, + "STOP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stop" + } + } + } + }, + "com.amazonaws.workspacesinstances#InstanceIpv6Address": { + "type": "structure", + "members": { + "Ipv6Address": { + "target": "com.amazonaws.workspacesinstances#Ipv6Address", + "traits": { + "smithy.api#documentation": "

                            Specific IPv6 address assigned to the instance.

                            " + } + }, + "IsPrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Indicates if this is the primary IPv6 address for the instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents an IPv6 address configuration for a WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceMaintenanceOptionsRequest": { + "type": "structure", + "members": { + "AutoRecovery": { + "target": "com.amazonaws.workspacesinstances#AutoRecoveryEnum", + "traits": { + "smithy.api#documentation": "

                            Enables or disables automatic instance recovery.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures automatic maintenance settings for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceMarketOptionsRequest": { + "type": "structure", + "members": { + "MarketType": { + "target": "com.amazonaws.workspacesinstances#MarketTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Specifies the type of marketplace for instance deployment.

                            " + } + }, + "SpotOptions": { + "target": "com.amazonaws.workspacesinstances#SpotMarketOptions", + "traits": { + "smithy.api#documentation": "

                            Configuration options for spot instance deployment.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures marketplace-specific instance deployment options.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceMetadataOptionsRequest": { + "type": "structure", + "members": { + "HttpEndpoint": { + "target": "com.amazonaws.workspacesinstances#HttpEndpointEnum", + "traits": { + "smithy.api#documentation": "

                            Enables or disables HTTP endpoint for instance metadata.

                            " + } + }, + "HttpProtocolIpv6": { + "target": "com.amazonaws.workspacesinstances#HttpProtocolIpv6Enum", + "traits": { + "smithy.api#documentation": "

                            Configures IPv6 support for instance metadata HTTP protocol.

                            " + } + }, + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.workspacesinstances#HttpPutResponseHopLimit", + "traits": { + "smithy.api#documentation": "

                            Sets maximum number of network hops for metadata PUT responses.

                            " + } + }, + "HttpTokens": { + "target": "com.amazonaws.workspacesinstances#HttpTokensEnum", + "traits": { + "smithy.api#documentation": "

                            Configures token requirement for instance metadata retrieval.

                            " + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.workspacesinstances#InstanceMetadataTagsEnum", + "traits": { + "smithy.api#documentation": "

                            Enables or disables instance metadata tags retrieval.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines instance metadata service configuration.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceMetadataTagsEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#InstanceNetworkInterfaceSpecification": { + "type": "structure", + "members": { + "AssociateCarrierIpAddress": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables carrier IP address association.

                            " + } + }, + "AssociatePublicIpAddress": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables public IP address assignment.

                            " + } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.workspacesinstances#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                            Configures network connection tracking parameters.

                            " + } + }, + "Description": { + "target": "com.amazonaws.workspacesinstances#Description", + "traits": { + "smithy.api#documentation": "

                            Descriptive text for the network interface.

                            " + } + }, + "DeviceIndex": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Unique index for the network interface.

                            " + } + }, + "EnaSrdSpecification": { + "target": "com.amazonaws.workspacesinstances#EnaSrdSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                            Configures Elastic Network Adapter Scalable Reliable Datagram settings.

                            " + } + }, + "InterfaceType": { + "target": "com.amazonaws.workspacesinstances#InterfaceTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Specifies the type of network interface.

                            " + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.workspacesinstances#Ipv4Prefixes", + "traits": { + "smithy.api#documentation": "

                            IPv4 prefix configurations for the interface.

                            " + } + }, + "Ipv4PrefixCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of IPv4 prefixes to assign.

                            " + } + }, + "Ipv6AddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of IPv6 addresses to assign.

                            " + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.workspacesinstances#Ipv6Addresses", + "traits": { + "smithy.api#documentation": "

                            Specific IPv6 addresses for the interface.

                            " + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.workspacesinstances#Ipv6Prefixes", + "traits": { + "smithy.api#documentation": "

                            IPv6 prefix configurations for the interface.

                            " + } + }, + "Ipv6PrefixCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of IPv6 prefixes to assign.

                            " + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Index of the network card for multiple network interfaces.

                            " + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.workspacesinstances#NetworkInterfaceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the network interface.

                            " + } + }, + "PrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Indicates the primary IPv6 configuration.

                            " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                            Primary private IP address for the interface.

                            " + } + }, + "PrivateIpAddresses": { + "target": "com.amazonaws.workspacesinstances#PrivateIpAddresses", + "traits": { + "smithy.api#documentation": "

                            List of private IP addresses for the interface.

                            " + } + }, + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Number of additional private IP addresses to assign.

                            " + } + }, + "Groups": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                            Security groups associated with the network interface.

                            " + } + }, + "SubnetId": { + "target": "com.amazonaws.workspacesinstances#SubnetId", + "traits": { + "smithy.api#documentation": "

                            Subnet identifier for the network interface.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines network interface configuration for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceNetworkPerformanceOptionsRequest": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.workspacesinstances#BandwidthWeightingEnum", + "traits": { + "smithy.api#documentation": "

                            Defines bandwidth allocation strategy for network interfaces.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures network performance settings for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceType": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([a-z0-9-]+)\\.([a-z0-9]+)$" + } + }, + "com.amazonaws.workspacesinstances#InstanceTypeInfo": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.workspacesinstances#InstanceType", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the WorkSpace Instance type.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Provides details about a specific WorkSpace Instance type.

                            " + } + }, + "com.amazonaws.workspacesinstances#InstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceTypeInfo" + } + }, + "com.amazonaws.workspacesinstances#InterfaceTypeEnum": { + "type": "enum", + "members": { + "INTERFACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "interface" + } + }, + "EFA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "efa" + } + }, + "EFA_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "efa-only" + } + } + } + }, + "com.amazonaws.workspacesinstances#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Description of the internal server error.

                            ", + "smithy.api#required": {} + } + }, + "RetryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            Recommended wait time before retrying the request.

                            ", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates an unexpected server-side error occurred.

                            ", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv4Address": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv4Prefix": { + "type": "string", + "traits": { + "smithy.api#pattern": "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:/\\d{1,2})?" + } + }, + "com.amazonaws.workspacesinstances#Ipv4PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.workspacesinstances#Ipv4Prefix", + "traits": { + "smithy.api#documentation": "

                            Specific IPv4 prefix for network interface configuration.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies IPv4 prefix configuration for network interfaces.

                            " + } + }, + "com.amazonaws.workspacesinstances#Ipv4Prefixes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Ipv4PrefixSpecificationRequest" + } + }, + "com.amazonaws.workspacesinstances#Ipv6Address": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv6Addresses": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceIpv6Address" + } + }, + "com.amazonaws.workspacesinstances#Ipv6Prefix": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/([0-9]{1,2}|1[01][0-9]|12[0-8])$" + } + }, + "com.amazonaws.workspacesinstances#Ipv6PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.workspacesinstances#Ipv6Prefix", + "traits": { + "smithy.api#documentation": "

                            Specific IPv6 prefix for network interface configuration.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies IPv6 prefix configuration for network interfaces.

                            " + } + }, + "com.amazonaws.workspacesinstances#Ipv6Prefixes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Ipv6PrefixSpecificationRequest" + } + }, + "com.amazonaws.workspacesinstances#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#LicenseConfigurationRequest": { + "type": "structure", + "members": { + "LicenseConfigurationArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                            ARN of the license configuration for the WorkSpace Instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies license configuration for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#LicenseSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#LicenseConfigurationRequest" + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypesRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list all supported instance types" + }, + "smithy.api#documentation": "

                            Retrieves a list of instance types supported by Amazon WorkSpaces Instances, enabling precise workspace infrastructure configuration.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "InstanceTypes" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                            Maximum number of instance types to return in a single API call. Enables pagination of instance type results.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Pagination token for retrieving subsequent pages of instance type results.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines input parameters for retrieving supported WorkSpaces Instances instance types.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypesResponse": { + "type": "structure", + "members": { + "InstanceTypes": { + "target": "com.amazonaws.workspacesinstances#InstanceTypes", + "traits": { + "smithy.api#documentation": "

                            Collection of supported instance types for WorkSpaces Instances.

                            ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Token for retrieving additional instance types if the result set is paginated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains the list of instance types supported by WorkSpaces Instances.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListRegions": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListRegionsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListRegionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list all supported AWS regions" + }, + "smithy.api#documentation": "

                            Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, enabling region discovery for workspace deployments.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Regions" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListRegionsSuccess", + "params": {}, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.workspacesinstances#ListRegionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                            Maximum number of regions to return in a single API call. Enables pagination of region results.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Pagination token for retrieving subsequent pages of region results.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines input parameters for retrieving supported WorkSpaces Instances regions.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListRegionsResponse": { + "type": "structure", + "members": { + "Regions": { + "target": "com.amazonaws.workspacesinstances#RegionList", + "traits": { + "smithy.api#documentation": "

                            Collection of AWS regions supported by WorkSpaces Instances.

                            ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Token for retrieving additional regions if the result set is paginated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains the list of supported AWS regions for WorkSpaces Instances.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list user tags for resources in your account" + }, + "smithy.api#documentation": "

                            Retrieves tags for a WorkSpace Instance.

                            ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the WorkSpace Instance.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies the WorkSpace Instance to retrieve tags for.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                            Collection of tags associated with the WorkSpace Instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Returns the list of tags for the specified WorkSpace Instance.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstancesRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstancesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list workspace managed instances in your account" + }, + "smithy.api#documentation": "

                            Retrieves a collection of WorkSpaces Instances based on specified filters.

                            ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "WorkspaceInstances" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstancesRequest": { + "type": "structure", + "members": { + "ProvisionStates": { + "target": "com.amazonaws.workspacesinstances#ProvisionStates", + "traits": { + "smithy.api#documentation": "

                            Filter WorkSpaces Instances by their current provisioning states.

                            " + } + }, + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                            Maximum number of WorkSpaces Instances to return in a single response.

                            " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Pagination token for retrieving subsequent pages of WorkSpaces Instances.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines filters and pagination parameters for retrieving WorkSpaces Instances.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstancesResponse": { + "type": "structure", + "members": { + "WorkspaceInstances": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstances", + "traits": { + "smithy.api#documentation": "

                            Collection of WorkSpaces Instances returned by the query.

                            ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                            Token for retrieving additional WorkSpaces Instances if the result set is paginated.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Contains the list of WorkSpaces Instances matching the specified criteria.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ManagedInstanceRequest": { + "type": "structure", + "members": { + "BlockDeviceMappings": { + "target": "com.amazonaws.workspacesinstances#BlockDeviceMappings", + "traits": { + "smithy.api#documentation": "

                            Configures block device mappings for storage.

                            " + } + }, + "CapacityReservationSpecification": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationSpecification", + "traits": { + "smithy.api#documentation": "

                            Specifies capacity reservation preferences.

                            " + } + }, + "CpuOptions": { + "target": "com.amazonaws.workspacesinstances#CpuOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures CPU-specific settings.

                            " + } + }, + "CreditSpecification": { + "target": "com.amazonaws.workspacesinstances#CreditSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                            Defines CPU credit configuration for burstable instances.

                            " + } + }, + "DisableApiStop": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Prevents API-initiated instance stop.

                            " + } + }, + "EbsOptimized": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables optimized EBS performance.

                            " + } + }, + "EnablePrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables primary IPv6 address configuration.

                            " + } + }, + "EnclaveOptions": { + "target": "com.amazonaws.workspacesinstances#EnclaveOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures AWS Nitro Enclave settings.

                            " + } + }, + "HibernationOptions": { + "target": "com.amazonaws.workspacesinstances#HibernationOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures instance hibernation capabilities.

                            " + } + }, + "IamInstanceProfile": { + "target": "com.amazonaws.workspacesinstances#IamInstanceProfileSpecification", + "traits": { + "smithy.api#documentation": "

                            Specifies IAM instance profile configuration.

                            " + } + }, + "ImageId": { + "target": "com.amazonaws.workspacesinstances#ImageId", + "traits": { + "smithy.api#documentation": "

                            Identifies the Amazon Machine Image (AMI) for the instance.

                            " + } + }, + "InstanceMarketOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMarketOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures marketplace-specific deployment options.

                            " + } + }, + "InstanceType": { + "target": "com.amazonaws.workspacesinstances#InstanceType", + "traits": { + "smithy.api#documentation": "

                            Specifies the WorkSpace Instance type.

                            " + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.workspacesinstances#Ipv6Addresses", + "traits": { + "smithy.api#documentation": "

                            Configures specific IPv6 addresses.

                            " + } + }, + "Ipv6AddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Specifies number of IPv6 addresses to assign.

                            " + } + }, + "KernelId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                            Identifies the kernel for the instance.

                            " + } + }, + "KeyName": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Specifies the key pair for instance access.

                            " + } + }, + "LicenseSpecifications": { + "target": "com.amazonaws.workspacesinstances#LicenseSpecifications", + "traits": { + "smithy.api#documentation": "

                            Configures license-related settings.

                            " + } + }, + "MaintenanceOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMaintenanceOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Defines automatic maintenance settings.

                            " + } + }, + "MetadataOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMetadataOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures instance metadata service settings.

                            " + } + }, + "Monitoring": { + "target": "com.amazonaws.workspacesinstances#RunInstancesMonitoringEnabled", + "traits": { + "smithy.api#documentation": "

                            Enables or disables detailed instance monitoring.

                            " + } + }, + "NetworkInterfaces": { + "target": "com.amazonaws.workspacesinstances#NetworkInterfaces", + "traits": { + "smithy.api#documentation": "

                            Configures network interface settings.

                            " + } + }, + "NetworkPerformanceOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceNetworkPerformanceOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Defines network performance configuration.

                            " + } + }, + "Placement": { + "target": "com.amazonaws.workspacesinstances#Placement", + "traits": { + "smithy.api#documentation": "

                            Specifies instance placement preferences.

                            " + } + }, + "PrivateDnsNameOptions": { + "target": "com.amazonaws.workspacesinstances#PrivateDnsNameOptionsRequest", + "traits": { + "smithy.api#documentation": "

                            Configures private DNS name settings.

                            " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                            Specifies the primary private IP address.

                            " + } + }, + "RamdiskId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                            Identifies the ramdisk for the instance.

                            " + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                            Specifies security group identifiers.

                            " + } + }, + "SecurityGroups": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupNames", + "traits": { + "smithy.api#documentation": "

                            Configures security group settings.

                            " + } + }, + "SubnetId": { + "target": "com.amazonaws.workspacesinstances#SubnetId", + "traits": { + "smithy.api#documentation": "

                            Identifies the subnet for the instance.

                            " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.workspacesinstances#TagSpecifications", + "traits": { + "smithy.api#documentation": "

                            Configures resource tagging specifications.

                            " + } + }, + "UserData": { + "target": "com.amazonaws.workspacesinstances#UserData", + "traits": { + "smithy.api#documentation": "

                            Provides custom initialization data for the instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines comprehensive configuration for a managed WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#MarketTypeEnum": { + "type": "enum", + "members": { + "SPOT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot" + } + }, + "CAPACITY_BLOCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } + } + } + }, + "com.amazonaws.workspacesinstances#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.workspacesinstances#NetworkInterfaceId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^eni-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#NetworkInterfaces": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceNetworkInterfaceSpecification" + } + }, + "com.amazonaws.workspacesinstances#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#NonNegativeInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.workspacesinstances#Placement": { + "type": "structure", + "members": { + "Affinity": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Specifies host affinity for dedicated instances.

                            " + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.workspacesinstances#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

                            Identifies the specific AWS availability zone.

                            " + } + }, + "GroupId": { + "target": "com.amazonaws.workspacesinstances#PlacementGroupId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for placement group.

                            " + } + }, + "GroupName": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Name of the placement group.

                            " + } + }, + "HostId": { + "target": "com.amazonaws.workspacesinstances#HostId", + "traits": { + "smithy.api#documentation": "

                            Identifies the specific dedicated host.

                            " + } + }, + "HostResourceGroupArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                            ARN of the host resource group.

                            " + } + }, + "PartitionNumber": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Specifies partition number for partition placement groups.

                            " + } + }, + "Tenancy": { + "target": "com.amazonaws.workspacesinstances#TenancyEnum", + "traits": { + "smithy.api#documentation": "

                            Defines instance tenancy configuration.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines instance placement configuration for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#PlacementGroupId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^pg-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#PrivateDnsNameOptionsRequest": { + "type": "structure", + "members": { + "HostnameType": { + "target": "com.amazonaws.workspacesinstances#HostnameTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Specifies the type of hostname configuration.

                            " + } + }, + "EnableResourceNameDnsARecord": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables DNS A record for resource name resolution.

                            " + } + }, + "EnableResourceNameDnsAAAARecord": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables DNS AAAA record for resource name resolution.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures private DNS name settings for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#PrivateIpAddressSpecification": { + "type": "structure", + "members": { + "Primary": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Indicates if this is the primary private IP address.

                            " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                            Specific private IP address for the network interface.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines private IP address configuration for network interface.

                            " + } + }, + "com.amazonaws.workspacesinstances#PrivateIpAddresses": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#PrivateIpAddressSpecification" + } + }, + "com.amazonaws.workspacesinstances#ProvisionStateEnum": { + "type": "enum", + "members": { + "ALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOCATING" + } + }, + "ALLOCATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOCATED" + } + }, + "DEALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEALLOCATING" + } + }, + "DEALLOCATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEALLOCATED" + } + }, + "ERROR_ALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR_ALLOCATING" + } + }, + "ERROR_DEALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR_DEALLOCATING" + } + } + } + }, + "com.amazonaws.workspacesinstances#ProvisionStates": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum" + } + }, + "com.amazonaws.workspacesinstances#Region": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.workspacesinstances#RegionName", + "traits": { + "smithy.api#documentation": "

                            Name of the AWS region.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents an AWS region supported by WorkSpaces Instances.

                            " + } + }, + "com.amazonaws.workspacesinstances#RegionList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Region" + } + }, + "com.amazonaws.workspacesinstances#RegionName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[-0-9a-z]{1,31}$" + } + }, + "com.amazonaws.workspacesinstances#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Details about the missing resource.

                            ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Identifier of the resource that was not found.

                            ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Type of the resource that was not found.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates the requested resource could not be found.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.workspacesinstances#ResourceTypeEnum": { + "type": "enum", + "members": { + "INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance" + } + }, + "VOLUME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "volume" + } + }, + "SPOT_INSTANCES_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-instances-request" + } + }, + "NETWORK_INTERFACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "network-interface" + } + } + } + }, + "com.amazonaws.workspacesinstances#RunInstancesMonitoringEnabled": { + "type": "structure", + "members": { + "Enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                            Enables or disables detailed instance monitoring.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Configures detailed monitoring for WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^sg-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupId" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?!sg-)[\\w .:/()#,@\\[\\]+=&;{}!$*-]{0,255}$" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupNames": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupName" + } + }, + "com.amazonaws.workspacesinstances#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Description of the quota limitation.

                            ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Identifier of the resource related to the quota.

                            ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Type of resource related to the quota.

                            ", + "smithy.api#required": {} + } + }, + "ServiceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Code identifying the service with the quota limitation.

                            ", + "smithy.api#required": {} + } + }, + "QuotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Specific code for the exceeded quota.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates that a service quota has been exceeded.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.workspacesinstances#SnapshotId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^snap-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#SpotInstanceTypeEnum": { + "type": "enum", + "members": { + "ONE_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "one-time" + } + }, + "PERSISTENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "persistent" + } + } + } + }, + "com.amazonaws.workspacesinstances#SpotMarketOptions": { + "type": "structure", + "members": { + "BlockDurationMinutes": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                            Duration of spot instance block reservation.

                            " + } + }, + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.workspacesinstances#InstanceInterruptionBehaviorEnum", + "traits": { + "smithy.api#documentation": "

                            Specifies behavior when spot instance is interrupted.

                            " + } + }, + "MaxPrice": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                            Maximum hourly price for spot instance.

                            " + } + }, + "SpotInstanceType": { + "target": "com.amazonaws.workspacesinstances#SpotInstanceTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Defines the type of spot instance request.

                            " + } + }, + "ValidUntilUtc": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                            Timestamp until which spot instance request is valid.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines configuration for spot instance deployment.

                            " + } + }, + "com.amazonaws.workspacesinstances#String128": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + } + } + }, + "com.amazonaws.workspacesinstances#String64": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + } + } + }, + "com.amazonaws.workspacesinstances#SubnetId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^subnet-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#Tag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.workspacesinstances#TagKey", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the tag.

                            " + } + }, + "Value": { + "target": "com.amazonaws.workspacesinstances#TagValue", + "traits": { + "smithy.api#documentation": "

                            Value associated with the tag key.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents a key-value metadata tag.

                            " + } + }, + "com.amazonaws.workspacesinstances#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" + } + }, + "com.amazonaws.workspacesinstances#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Tag" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to add user tags to resources in your account" + }, + "smithy.api#documentation": "

                            Adds tags to a WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#TagResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the WorkSpace Instance to tag.

                            ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                            Tags to be added to the WorkSpace Instance.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies tags to add to a WorkSpace Instance.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms successful tag addition.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#TagSpecification": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.workspacesinstances#ResourceTypeEnum", + "traits": { + "smithy.api#documentation": "

                            Type of resource being tagged.

                            " + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                            Collection of tags for the specified resource.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Defines tagging configuration for a resource.

                            " + } + }, + "com.amazonaws.workspacesinstances#TagSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#TagSpecification" + }, + "traits": { + "smithy.api#length": { + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.workspacesinstances#TenancyEnum": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "DEDICATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dedicated" + } + }, + "HOST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "host" + } + } + } + }, + "com.amazonaws.workspacesinstances#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Description of the throttling event.

                            ", + "smithy.api#required": {} + } + }, + "ServiceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Code identifying the service experiencing throttling.

                            " + } + }, + "QuotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Specific code for the throttling quota.

                            " + } + }, + "RetryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                            Recommended wait time before retrying the request.

                            ", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates the request rate has exceeded limits.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.workspacesinstances#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to remove user tags from resources in your account" + }, + "smithy.api#documentation": "

                            Removes tags from a WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#UntagResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier of the WorkSpace Instance to untag.

                            ", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.workspacesinstances#TagKeyList", + "traits": { + "smithy.api#documentation": "

                            Keys of tags to be removed.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Specifies tags to remove from a WorkSpace Instance.

                            ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                            Confirms successful tag removal.

                            ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#UserData": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Overall description of validation failures.

                            ", + "smithy.api#required": {} + } + }, + "Reason": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

                            Specific reason for the validation failure.

                            ", + "smithy.api#required": {} + } + }, + "FieldList": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

                            List of fields that failed validation.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Indicates invalid input parameters in the request.

                            ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionField": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Name of the field that failed validation.

                            ", + "smithy.api#required": {} + } + }, + "Reason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Reason for the validation failure.

                            ", + "smithy.api#required": {} + } + }, + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Detailed error message describing the validation issue.

                            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents a validation error field in an API request.

                            " + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionField" + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionReason": { + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN_OPERATION" + } + }, + "UNSUPPORTED_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNSUPPORTED_OPERATION" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANNOT_PARSE" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIELD_VALIDATION_FAILED" + } + }, + "DEPENDENCY_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPENDENCY_FAILURE" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OTHER" + } + } + } + }, + "com.amazonaws.workspacesinstances#VirtualName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ephemeral(0|[1-9][0-9]{0,2})$" + } + }, + "com.amazonaws.workspacesinstances#VolumeId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^vol-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#VolumeTypeEnum": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "IO1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "io1" + } + }, + "IO2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "io2" + } + }, + "GP2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gp2" + } + }, + "SC1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sc1" + } + }, + "ST1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "st1" + } + }, + "GP3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gp3" + } + } + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstance": { + "type": "structure", + "members": { + "ProvisionState": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum", + "traits": { + "smithy.api#documentation": "

                            Current provisioning state of the WorkSpace Instance.

                            " + } + }, + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                            Unique identifier for the WorkSpace Instance.

                            " + } + }, + "EC2ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#EC2ManagedInstance", + "traits": { + "smithy.api#documentation": "

                            Details of the associated EC2 managed instance.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Represents a single WorkSpace Instance.

                            " + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Unique error code for the WorkSpace Instance error.

                            " + } + }, + "ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                            Detailed description of the WorkSpace Instance error.

                            " + } + } + }, + "traits": { + "smithy.api#documentation": "

                            Captures errors specific to WorkSpace Instance operations.

                            " + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceError" + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 15, + "max": 70 + }, + "smithy.api#pattern": "^wsinst-[0-9a-zA-Z]{8,63}$" + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstances": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstance" + } + } + } +} \ No newline at end of file From 08f5335f43eabe4a3d7fb5454c655e7b86630b4d Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Mon, 23 Jun 2025 19:36:17 +0000 Subject: [PATCH 26/26] Added support for Amazon WorkSpaces Instances API S3 Tables now supports sort and z-order compaction strategies for Iceberg tables in addition to binpack. AWS Glue now supports sort and z-order strategy for managed automated compaction for Iceberg tables in addition to binpack. --- VERSION | 2 +- .../workspaces-instances/CMakeLists.txt | 41 + .../WorkspacesInstancesSmokeTests.cpp | 46 + .../aws/glue/model/CompactionConfiguration.h | 61 + .../aws/glue/model/CompactionStrategy.h | 32 + .../model/IcebergCompactionConfiguration.h | 75 + .../glue/model/TableOptimizerConfiguration.h | 18 + .../aws/glue/model/TableOptimizerRun.h | 30 + .../source/model/CompactionConfiguration.cpp | 51 + .../source/model/CompactionStrategy.cpp | 79 + .../model/IcebergCompactionConfiguration.cpp | 50 + .../model/TableOptimizerConfiguration.cpp | 11 + .../source/model/TableOptimizerRun.cpp | 10 + .../include/aws/s3tables/S3TablesClient.h | 7 +- .../model/IcebergCompactionSettings.h | 16 + .../model/IcebergCompactionStrategy.h | 33 + .../model/IcebergCompactionSettings.cpp | 10 + .../model/IcebergCompactionStrategy.cpp | 86 + .../CMakeLists.txt | 76 + .../WorkspacesInstancesClient.h | 425 ++++ .../WorkspacesInstancesEndpointProvider.h | 61 + .../WorkspacesInstancesEndpointRules.h | 23 + .../WorkspacesInstancesErrorMarshaller.h | 23 + .../WorkspacesInstancesErrors.h | 74 + .../WorkspacesInstancesRequest.h | 46 + .../WorkspacesInstancesServiceClientModel.h | 143 ++ .../WorkspacesInstances_EXPORTS.h | 32 + .../model/AmdSevSnpEnum.h | 31 + .../model/AssociateVolumeRequest.h | 89 + .../model/AssociateVolumeResult.h | 56 + .../model/AutoRecoveryEnum.h | 31 + .../model/BandwidthWeightingEnum.h | 32 + .../model/BlockDeviceMappingRequest.h | 106 + .../model/CapacityReservationPreferenceEnum.h | 32 + .../model/CapacityReservationSpecification.h | 73 + .../model/CapacityReservationTarget.h | 74 + .../model/ConflictException.h | 90 + .../ConnectionTrackingSpecificationRequest.h | 82 + .../model/CpuCreditsEnum.h | 31 + .../model/CpuOptionsRequest.h | 84 + .../model/CreateVolumeRequest.h | 190 ++ .../model/CreateVolumeResult.h | 70 + .../model/CreateWorkspaceInstanceRequest.h | 99 + .../model/CreateWorkspaceInstanceResult.h | 71 + .../model/CreditSpecificationRequest.h | 58 + .../model/DeleteVolumeRequest.h | 59 + .../model/DeleteVolumeResult.h | 56 + .../model/DeleteWorkspaceInstanceRequest.h | 59 + .../model/DeleteWorkspaceInstanceResult.h | 57 + .../model/DisassociateModeEnum.h | 31 + .../model/DisassociateVolumeRequest.h | 103 + .../model/DisassociateVolumeResult.h | 56 + .../model/EC2InstanceError.h | 90 + .../model/EC2ManagedInstance.h | 60 + .../model/EbsBlockDevice.h | 126 ++ .../model/EnaSrdSpecificationRequest.h | 73 + .../model/EnaSrdUdpSpecificationRequest.h | 55 + .../model/EnclaveOptionsRequest.h | 56 + .../model/GetWorkspaceInstanceRequest.h | 60 + .../model/GetWorkspaceInstanceResult.h | 134 ++ .../model/HibernationOptionsRequest.h | 56 + .../model/HostnameTypeEnum.h | 31 + .../model/HttpEndpointEnum.h | 31 + .../model/HttpProtocolIpv6Enum.h | 31 + .../model/HttpTokensEnum.h | 31 + .../model/IamInstanceProfileSpecification.h | 75 + .../model/InstanceInterruptionBehaviorEnum.h | 31 + .../model/InstanceIpv6Address.h | 73 + .../model/InstanceMaintenanceOptionsRequest.h | 58 + .../model/InstanceMarketOptionsRequest.h | 74 + .../model/InstanceMetadataOptionsRequest.h | 113 + .../model/InstanceMetadataTagsEnum.h | 31 + .../InstanceNetworkInterfaceSpecification.h | 358 +++ ...InstanceNetworkPerformanceOptionsRequest.h | 58 + .../model/InstanceTypeInfo.h | 60 + .../model/InterfaceTypeEnum.h | 32 + .../model/InternalServerException.h | 73 + .../model/Ipv4PrefixSpecificationRequest.h | 60 + .../model/Ipv6PrefixSpecificationRequest.h | 60 + .../model/LicenseConfigurationRequest.h | 60 + .../model/ListInstanceTypesRequest.h | 75 + .../model/ListInstanceTypesResult.h | 90 + .../model/ListRegionsRequest.h | 74 + .../model/ListRegionsResult.h | 89 + .../model/ListTagsForResourceRequest.h | 60 + .../model/ListTagsForResourceResult.h | 75 + .../model/ListWorkspaceInstancesRequest.h | 91 + .../model/ListWorkspaceInstancesResult.h | 90 + .../model/ManagedInstanceRequest.h | 550 +++++ .../model/MarketTypeEnum.h | 31 + .../workspaces-instances/model/Placement.h | 162 ++ .../model/PrivateDnsNameOptionsRequest.h | 84 + .../model/PrivateIpAddressSpecification.h | 73 + .../model/ProvisionStateEnum.h | 35 + .../aws/workspaces-instances/model/Region.h | 60 + .../model/ResourceNotFoundException.h | 90 + .../model/ResourceTypeEnum.h | 33 + .../model/RunInstancesMonitoringEnabled.h | 56 + .../model/ServiceQuotaExceededException.h | 120 + .../model/SpotInstanceTypeEnum.h | 31 + .../model/SpotMarketOptions.h | 117 + .../aws/workspaces-instances/model/Tag.h | 74 + .../model/TagResourceRequest.h | 78 + .../model/TagResourceResult.h | 56 + .../model/TagSpecification.h | 76 + .../workspaces-instances/model/TenancyEnum.h | 32 + .../model/ThrottlingException.h | 102 + .../model/UntagResourceRequest.h | 78 + .../model/UntagResourceResult.h | 56 + .../model/ValidationException.h | 93 + .../model/ValidationExceptionField.h | 90 + .../model/ValidationExceptionReason.h | 35 + .../model/VolumeTypeEnum.h | 36 + .../model/WorkspaceInstance.h | 89 + .../model/WorkspaceInstanceError.h | 75 + .../source/WorkspacesInstancesClient.cpp | 517 +++++ .../WorkspacesInstancesEndpointProvider.cpp | 16 + .../WorkspacesInstancesEndpointRules.cpp | 93 + .../WorkspacesInstancesErrorMarshaller.cpp | 22 + .../source/WorkspacesInstancesErrors.cpp | 90 + .../source/WorkspacesInstancesRequest.cpp | 14 + .../source/model/AmdSevSnpEnum.cpp | 72 + .../source/model/AssociateVolumeRequest.cpp | 50 + .../source/model/AssociateVolumeResult.cpp | 39 + .../source/model/AutoRecoveryEnum.cpp | 72 + .../source/model/BandwidthWeightingEnum.cpp | 79 + .../model/BlockDeviceMappingRequest.cpp | 84 + .../CapacityReservationPreferenceEnum.cpp | 79 + .../CapacityReservationSpecification.cpp | 61 + .../model/CapacityReservationTarget.cpp | 62 + .../source/model/ConflictException.cpp | 73 + ...ConnectionTrackingSpecificationRequest.cpp | 73 + .../source/model/CpuCreditsEnum.cpp | 72 + .../source/model/CpuOptionsRequest.cpp | 72 + .../source/model/CreateVolumeRequest.cpp | 96 + .../source/model/CreateVolumeResult.cpp | 44 + .../model/CreateWorkspaceInstanceRequest.cpp | 55 + .../model/CreateWorkspaceInstanceResult.cpp | 44 + .../model/CreditSpecificationRequest.cpp | 50 + .../source/model/DeleteVolumeRequest.cpp | 38 + .../source/model/DeleteVolumeResult.cpp | 39 + .../model/DeleteWorkspaceInstanceRequest.cpp | 38 + .../model/DeleteWorkspaceInstanceResult.cpp | 39 + .../source/model/DisassociateModeEnum.cpp | 72 + .../model/DisassociateVolumeRequest.cpp | 55 + .../source/model/DisassociateVolumeResult.cpp | 39 + .../source/model/EC2InstanceError.cpp | 73 + .../source/model/EC2ManagedInstance.cpp | 51 + .../source/model/EbsBlockDevice.cpp | 105 + .../model/EnaSrdSpecificationRequest.cpp | 62 + .../model/EnaSrdUdpSpecificationRequest.cpp | 51 + .../source/model/EnclaveOptionsRequest.cpp | 51 + .../model/GetWorkspaceInstanceRequest.cpp | 38 + .../model/GetWorkspaceInstanceResult.cpp | 72 + .../model/HibernationOptionsRequest.cpp | 51 + .../source/model/HostnameTypeEnum.cpp | 72 + .../source/model/HttpEndpointEnum.cpp | 72 + .../source/model/HttpProtocolIpv6Enum.cpp | 72 + .../source/model/HttpTokensEnum.cpp | 72 + .../model/IamInstanceProfileSpecification.cpp | 62 + .../InstanceInterruptionBehaviorEnum.cpp | 72 + .../source/model/InstanceIpv6Address.cpp | 62 + .../InstanceMaintenanceOptionsRequest.cpp | 50 + .../model/InstanceMarketOptionsRequest.cpp | 61 + .../model/InstanceMetadataOptionsRequest.cpp | 91 + .../source/model/InstanceMetadataTagsEnum.cpp | 72 + .../InstanceNetworkInterfaceSpecification.cpp | 315 +++ ...stanceNetworkPerformanceOptionsRequest.cpp | 50 + .../source/model/InstanceTypeInfo.cpp | 51 + .../source/model/InterfaceTypeEnum.cpp | 79 + .../source/model/InternalServerException.cpp | 62 + .../model/Ipv4PrefixSpecificationRequest.cpp | 51 + .../model/Ipv6PrefixSpecificationRequest.cpp | 51 + .../model/LicenseConfigurationRequest.cpp | 51 + .../source/model/ListInstanceTypesRequest.cpp | 44 + .../source/model/ListInstanceTypesResult.cpp | 53 + .../source/model/ListRegionsRequest.cpp | 44 + .../source/model/ListRegionsResult.cpp | 53 + .../model/ListTagsForResourceRequest.cpp | 38 + .../model/ListTagsForResourceResult.cpp | 48 + .../model/ListWorkspaceInstancesRequest.cpp | 55 + .../model/ListWorkspaceInstancesResult.cpp | 53 + .../source/model/ManagedInstanceRequest.cpp | 455 ++++ .../source/model/MarketTypeEnum.cpp | 72 + .../source/model/Placement.cpp | 127 ++ .../model/PrivateDnsNameOptionsRequest.cpp | 72 + .../model/PrivateIpAddressSpecification.cpp | 62 + .../source/model/ProvisionStateEnum.cpp | 100 + .../source/model/Region.cpp | 51 + .../model/ResourceNotFoundException.cpp | 73 + .../source/model/ResourceTypeEnum.cpp | 86 + .../model/RunInstancesMonitoringEnabled.cpp | 51 + .../model/ServiceQuotaExceededException.cpp | 95 + .../source/model/SpotInstanceTypeEnum.cpp | 72 + .../source/model/SpotMarketOptions.cpp | 92 + .../source/model/Tag.cpp | 62 + .../source/model/TagResourceRequest.cpp | 49 + .../source/model/TagResourceResult.cpp | 39 + .../source/model/TagSpecification.cpp | 70 + .../source/model/TenancyEnum.cpp | 79 + .../source/model/ThrottlingException.cpp | 84 + .../source/model/UntagResourceRequest.cpp | 49 + .../source/model/UntagResourceResult.cpp | 39 + .../source/model/ValidationException.cpp | 81 + .../source/model/ValidationExceptionField.cpp | 73 + .../model/ValidationExceptionReason.cpp | 100 + .../source/model/VolumeTypeEnum.cpp | 107 + .../source/model/WorkspaceInstance.cpp | 72 + .../source/model/WorkspaceInstanceError.cpp | 62 + .../tests/glue-gen-tests/GlueIncludeTests.cpp | 3 + .../S3TablesIncludeTests.cpp | 1 + .../CMakeLists.txt | 42 + .../RunTests.cpp | 29 + ...rkspacesInstancesEndpointProviderTests.cpp | 371 ++++ .../WorkspacesInstancesIncludeTests.cpp | 116 + .../include/aws/core/VersionConfig.h | 4 +- .../glue-2017-03-31.normal.json | 36 + .../s3tables-2018-05-10.normal.json | 15 +- ...orkspaces-instances-2022-07-26.normal.json | 1945 +++++++++++++++++ ...nstances-2022-07-26.endpoint-rule-set.json | 137 ++ ...s-instances-2022-07-26.endpoint-tests.json | 201 ++ .../codegen/cpp-smoke-tests/smithy-build.json | 1639 +++++++------- 222 files changed, 19139 insertions(+), 820 deletions(-) create mode 100644 generated/smoke-tests/workspaces-instances/CMakeLists.txt create mode 100644 generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp create mode 100644 generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h create mode 100644 generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp create mode 100644 generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h create mode 100644 generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp create mode 100644 generated/tests/workspaces-instances-gen-tests/CMakeLists.txt create mode 100644 generated/tests/workspaces-instances-gen-tests/RunTests.cpp create mode 100644 generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp create mode 100644 generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp create mode 100644 tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json create mode 100644 tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json create mode 100644 tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json diff --git a/VERSION b/VERSION index 38bc26c4c6e..2273123a09e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.593 \ No newline at end of file +1.11.594 \ No newline at end of file diff --git a/generated/smoke-tests/workspaces-instances/CMakeLists.txt b/generated/smoke-tests/workspaces-instances/CMakeLists.txt new file mode 100644 index 00000000000..c759c37ce23 --- /dev/null +++ b/generated/smoke-tests/workspaces-instances/CMakeLists.txt @@ -0,0 +1,41 @@ +add_project(workspaces-instances-smoke-tests +"Tests for the AWS WORKSPACES-INSTANCES C++ SDK" +testing-resources +aws-cpp-sdk-workspaces-instances +aws-cpp-sdk-core +) +file(GLOB AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC +"${CMAKE_CURRENT_SOURCE_DIR}/../RunTests.cpp" +"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_include_directories(${PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aws-cpp-sdk-workspaces-instances/include) + +target_link_libraries(${PROJECT_NAME} + ${PROJECT_LIBS}) + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() + diff --git a/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp new file mode 100644 index 00000000000..5881c9a6297 --- /dev/null +++ b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace WorkspacesInstancesSmokeTest{ +using namespace Aws::Auth; +using namespace Aws::Http; +using namespace Aws::Client; + +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; +class WorkspacesInstancesSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { + public: + static const char ALLOCATION_TAG[]; +}; +const char WorkspacesInstancesSmokeTestSuite::ALLOCATION_TAG[] = "WorkspacesInstancesSmokeTest"; +TEST_F(WorkspacesInstancesSmokeTestSuite, ListRegionsSuccess ) +{ + Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration clientConfiguration; + clientConfiguration.region = "us-east-1"; + clientConfiguration.useFIPS = false; + clientConfiguration.useDualStack = false; + auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); + //populate input params + + ListRegionsRequest input; + auto outcome = clientSp->ListRegions(input); + EXPECT_TRUE( outcome.IsSuccess()); +} +} diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h new file mode 100644 index 00000000000..16e0577342a --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                            The configuration for a compaction optimizer. This configuration defines how + * data files in your table will be compacted to improve query performance and + * reduce storage costs.

                            See Also:

                            AWS + * API Reference

                            + */ + class CompactionConfiguration + { + public: + AWS_GLUE_API CompactionConfiguration() = default; + AWS_GLUE_API CompactionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API CompactionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The configuration for an Iceberg compaction optimizer.

                            + */ + inline const IcebergCompactionConfiguration& GetIcebergConfiguration() const { return m_icebergConfiguration; } + inline bool IcebergConfigurationHasBeenSet() const { return m_icebergConfigurationHasBeenSet; } + template + void SetIcebergConfiguration(IcebergConfigurationT&& value) { m_icebergConfigurationHasBeenSet = true; m_icebergConfiguration = std::forward(value); } + template + CompactionConfiguration& WithIcebergConfiguration(IcebergConfigurationT&& value) { SetIcebergConfiguration(std::forward(value)); return *this;} + ///@} + private: + + IcebergCompactionConfiguration m_icebergConfiguration; + bool m_icebergConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h new file mode 100644 index 00000000000..dafe70e38d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + enum class CompactionStrategy + { + NOT_SET, + binpack, + sort, + z_order + }; + +namespace CompactionStrategyMapper +{ +AWS_GLUE_API CompactionStrategy GetCompactionStrategyForName(const Aws::String& name); + +AWS_GLUE_API Aws::String GetNameForCompactionStrategy(CompactionStrategy value); +} // namespace CompactionStrategyMapper +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h new file mode 100644 index 00000000000..45ecf0031fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                            The configuration for an Iceberg compaction optimizer. This configuration + * defines parameters for optimizing the layout of data files in Iceberg + * tables.

                            See Also:

                            AWS + * API Reference

                            + */ + class IcebergCompactionConfiguration + { + public: + AWS_GLUE_API IcebergCompactionConfiguration() = default; + AWS_GLUE_API IcebergCompactionConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API IcebergCompactionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                            The strategy to use for compaction. Valid values are:

                            • + * binpack: Combines small files into larger files, typically + * targeting sizes over 100MB, while applying any pending deletes. This is the + * recommended compaction strategy for most use cases.

                            • + * sort: Organizes data based on specified columns which are sorted + * hierarchically during compaction, improving query performance for filtered + * operations. This strategy is recommended when your queries frequently filter on + * specific columns. To use this strategy, you must first define a sort order in + * your Iceberg table properties using the sort_order table + * property.

                            • z-order: Optimizes data organization + * by blending multiple attributes into a single scalar value that can be used for + * sorting, allowing efficient querying across multiple dimensions. This strategy + * is recommended when you need to query data across multiple dimensions + * simultaneously. To use this strategy, you must first define a sort order in your + * Iceberg table properties using the sort_order table property.

                              + *

                            If an input is not provided, the default value 'binpack' will be + * used.

                            + */ + inline CompactionStrategy GetStrategy() const { return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(CompactionStrategy value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline IcebergCompactionConfiguration& WithStrategy(CompactionStrategy value) { SetStrategy(value); return *this;} + ///@} + private: + + CompactionStrategy m_strategy{CompactionStrategy::NOT_SET}; + bool m_strategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h index bb8a0f9aaa2..47a72fb5e60 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -79,6 +80,20 @@ namespace Model TableOptimizerConfiguration& WithVpcConfiguration(VpcConfigurationT&& value) { SetVpcConfiguration(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                            The configuration for a compaction optimizer. This configuration defines how + * data files in your table will be compacted to improve query performance and + * reduce storage costs.

                            + */ + inline const CompactionConfiguration& GetCompactionConfiguration() const { return m_compactionConfiguration; } + inline bool CompactionConfigurationHasBeenSet() const { return m_compactionConfigurationHasBeenSet; } + template + void SetCompactionConfiguration(CompactionConfigurationT&& value) { m_compactionConfigurationHasBeenSet = true; m_compactionConfiguration = std::forward(value); } + template + TableOptimizerConfiguration& WithCompactionConfiguration(CompactionConfigurationT&& value) { SetCompactionConfiguration(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                            The configuration for a snapshot retention optimizer.

                            @@ -113,6 +128,9 @@ namespace Model TableOptimizerVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; + CompactionConfiguration m_compactionConfiguration; + bool m_compactionConfigurationHasBeenSet = false; + RetentionConfiguration m_retentionConfiguration; bool m_retentionConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h index a2fab072009..066985ef947 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -102,6 +103,32 @@ namespace Model TableOptimizerRun& WithCompactionMetrics(CompactionMetricsT&& value) { SetCompactionMetrics(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                            The strategy used for the compaction run. Indicates which algorithm was + * applied to determine how files were selected and combined during the compaction + * process. Valid values are:

                            • binpack: Combines + * small files into larger files, typically targeting sizes over 100MB, while + * applying any pending deletes. This is the recommended compaction strategy for + * most use cases.

                            • sort: Organizes data based on + * specified columns which are sorted hierarchically during compaction, improving + * query performance for filtered operations. This strategy is recommended when + * your queries frequently filter on specific columns. To use this strategy, you + * must first define a sort order in your Iceberg table properties using the + * sort_order table property.

                            • z-order: + * Optimizes data organization by blending multiple attributes into a single scalar + * value that can be used for sorting, allowing efficient querying across multiple + * dimensions. This strategy is recommended when you need to query data across + * multiple dimensions simultaneously. To use this strategy, you must first define + * a sort order in your Iceberg table properties using the sort_order + * table property.

                            + */ + inline CompactionStrategy GetCompactionStrategy() const { return m_compactionStrategy; } + inline bool CompactionStrategyHasBeenSet() const { return m_compactionStrategyHasBeenSet; } + inline void SetCompactionStrategy(CompactionStrategy value) { m_compactionStrategyHasBeenSet = true; m_compactionStrategy = value; } + inline TableOptimizerRun& WithCompactionStrategy(CompactionStrategy value) { SetCompactionStrategy(value); return *this;} + ///@} + ///@{ /** *

                            A RetentionMetrics object containing metrics for the optimizer @@ -144,6 +171,9 @@ namespace Model CompactionMetrics m_compactionMetrics; bool m_compactionMetricsHasBeenSet = false; + CompactionStrategy m_compactionStrategy{CompactionStrategy::NOT_SET}; + bool m_compactionStrategyHasBeenSet = false; + RetentionMetrics m_retentionMetrics; bool m_retentionMetricsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp new file mode 100644 index 00000000000..b3a5113ea55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +CompactionConfiguration::CompactionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +CompactionConfiguration& CompactionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("icebergConfiguration")) + { + m_icebergConfiguration = jsonValue.GetObject("icebergConfiguration"); + m_icebergConfigurationHasBeenSet = true; + } + return *this; +} + +JsonValue CompactionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_icebergConfigurationHasBeenSet) + { + payload.WithObject("icebergConfiguration", m_icebergConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp b/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp new file mode 100644 index 00000000000..3f27ec878fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Glue + { + namespace Model + { + namespace CompactionStrategyMapper + { + + static const int binpack_HASH = HashingUtils::HashString("binpack"); + static const int sort_HASH = HashingUtils::HashString("sort"); + static const int z_order_HASH = HashingUtils::HashString("z-order"); + + + CompactionStrategy GetCompactionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == binpack_HASH) + { + return CompactionStrategy::binpack; + } + else if (hashCode == sort_HASH) + { + return CompactionStrategy::sort; + } + else if (hashCode == z_order_HASH) + { + return CompactionStrategy::z_order; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CompactionStrategy::NOT_SET; + } + + Aws::String GetNameForCompactionStrategy(CompactionStrategy enumValue) + { + switch(enumValue) + { + case CompactionStrategy::NOT_SET: + return {}; + case CompactionStrategy::binpack: + return "binpack"; + case CompactionStrategy::sort: + return "sort"; + case CompactionStrategy::z_order: + return "z-order"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CompactionStrategyMapper + } // namespace Model + } // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp new file mode 100644 index 00000000000..64a02adbe14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +IcebergCompactionConfiguration::IcebergCompactionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +IcebergCompactionConfiguration& IcebergCompactionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("strategy")) + { + m_strategy = CompactionStrategyMapper::GetCompactionStrategyForName(jsonValue.GetString("strategy")); + m_strategyHasBeenSet = true; + } + return *this; +} + +JsonValue IcebergCompactionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_strategyHasBeenSet) + { + payload.WithString("strategy", CompactionStrategyMapper::GetNameForCompactionStrategy(m_strategy)); + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp index fce95e77441..7b804e32714 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp @@ -40,6 +40,11 @@ TableOptimizerConfiguration& TableOptimizerConfiguration::operator =(JsonView js m_vpcConfiguration = jsonValue.GetObject("vpcConfiguration"); m_vpcConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("compactionConfiguration")) + { + m_compactionConfiguration = jsonValue.GetObject("compactionConfiguration"); + m_compactionConfigurationHasBeenSet = true; + } if(jsonValue.ValueExists("retentionConfiguration")) { m_retentionConfiguration = jsonValue.GetObject("retentionConfiguration"); @@ -75,6 +80,12 @@ JsonValue TableOptimizerConfiguration::Jsonize() const } + if(m_compactionConfigurationHasBeenSet) + { + payload.WithObject("compactionConfiguration", m_compactionConfiguration.Jsonize()); + + } + if(m_retentionConfigurationHasBeenSet) { payload.WithObject("retentionConfiguration", m_retentionConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp index 173e0e328f4..8f6deed3bf3 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp @@ -50,6 +50,11 @@ TableOptimizerRun& TableOptimizerRun::operator =(JsonView jsonValue) m_compactionMetrics = jsonValue.GetObject("compactionMetrics"); m_compactionMetricsHasBeenSet = true; } + if(jsonValue.ValueExists("compactionStrategy")) + { + m_compactionStrategy = CompactionStrategyMapper::GetCompactionStrategyForName(jsonValue.GetString("compactionStrategy")); + m_compactionStrategyHasBeenSet = true; + } if(jsonValue.ValueExists("retentionMetrics")) { m_retentionMetrics = jsonValue.GetObject("retentionMetrics"); @@ -94,6 +99,11 @@ JsonValue TableOptimizerRun::Jsonize() const } + if(m_compactionStrategyHasBeenSet) + { + payload.WithString("compactionStrategy", CompactionStrategyMapper::GetNameForCompactionStrategy(m_compactionStrategy)); + } + if(m_retentionMetricsHasBeenSet) { payload.WithObject("retentionMetrics", m_retentionMetrics.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h index 33446ca2fa9..81f3959201c 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h @@ -583,9 +583,12 @@ namespace S3Tables * information, see S3 * Tables maintenance in the Amazon Simple Storage Service User - * Guide.

                            Permissions

                            You must have the + * Guide.

                            Permissions
                            • You must have the * s3tables:GetTableMaintenanceConfiguration permission to use this - * operation.

                            See Also:

                          • You must have the + * s3tables:GetTableData permission to use set the compaction strategy + * to sort or zorder.

              + *

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h index 74d97b54dcc..5156caad263 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h @@ -5,6 +5,8 @@ #pragma once #include +#include +#include namespace Aws { @@ -45,10 +47,24 @@ namespace Model inline void SetTargetFileSizeMB(int value) { m_targetFileSizeMBHasBeenSet = true; m_targetFileSizeMB = value; } inline IcebergCompactionSettings& WithTargetFileSizeMB(int value) { SetTargetFileSizeMB(value); return *this;} ///@} + + ///@{ + /** + *

              The compaction strategy to use for the table. This determines how files are + * selected and combined during compaction operations.

              + */ + inline IcebergCompactionStrategy GetStrategy() const { return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(IcebergCompactionStrategy value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline IcebergCompactionSettings& WithStrategy(IcebergCompactionStrategy value) { SetStrategy(value); return *this;} + ///@} private: int m_targetFileSizeMB{0}; bool m_targetFileSizeMBHasBeenSet = false; + + IcebergCompactionStrategy m_strategy{IcebergCompactionStrategy::NOT_SET}; + bool m_strategyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h new file mode 100644 index 00000000000..c28cb3a6e90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + enum class IcebergCompactionStrategy + { + NOT_SET, + auto_, + binpack, + sort, + z_order + }; + +namespace IcebergCompactionStrategyMapper +{ +AWS_S3TABLES_API IcebergCompactionStrategy GetIcebergCompactionStrategyForName(const Aws::String& name); + +AWS_S3TABLES_API Aws::String GetNameForIcebergCompactionStrategy(IcebergCompactionStrategy value); +} // namespace IcebergCompactionStrategyMapper +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp index 3423fc4669c..6fb04096d95 100644 --- a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp @@ -30,6 +30,11 @@ IcebergCompactionSettings& IcebergCompactionSettings::operator =(JsonView jsonVa m_targetFileSizeMB = jsonValue.GetInteger("targetFileSizeMB"); m_targetFileSizeMBHasBeenSet = true; } + if(jsonValue.ValueExists("strategy")) + { + m_strategy = IcebergCompactionStrategyMapper::GetIcebergCompactionStrategyForName(jsonValue.GetString("strategy")); + m_strategyHasBeenSet = true; + } return *this; } @@ -43,6 +48,11 @@ JsonValue IcebergCompactionSettings::Jsonize() const } + if(m_strategyHasBeenSet) + { + payload.WithString("strategy", IcebergCompactionStrategyMapper::GetNameForIcebergCompactionStrategy(m_strategy)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp new file mode 100644 index 00000000000..0833bb90551 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3Tables + { + namespace Model + { + namespace IcebergCompactionStrategyMapper + { + + static const int auto__HASH = HashingUtils::HashString("auto"); + static const int binpack_HASH = HashingUtils::HashString("binpack"); + static const int sort_HASH = HashingUtils::HashString("sort"); + static const int z_order_HASH = HashingUtils::HashString("z-order"); + + + IcebergCompactionStrategy GetIcebergCompactionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == auto__HASH) + { + return IcebergCompactionStrategy::auto_; + } + else if (hashCode == binpack_HASH) + { + return IcebergCompactionStrategy::binpack; + } + else if (hashCode == sort_HASH) + { + return IcebergCompactionStrategy::sort; + } + else if (hashCode == z_order_HASH) + { + return IcebergCompactionStrategy::z_order; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IcebergCompactionStrategy::NOT_SET; + } + + Aws::String GetNameForIcebergCompactionStrategy(IcebergCompactionStrategy enumValue) + { + switch(enumValue) + { + case IcebergCompactionStrategy::NOT_SET: + return {}; + case IcebergCompactionStrategy::auto_: + return "auto"; + case IcebergCompactionStrategy::binpack: + return "binpack"; + case IcebergCompactionStrategy::sort: + return "sort"; + case IcebergCompactionStrategy::z_order: + return "z-order"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IcebergCompactionStrategyMapper + } // namespace Model + } // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt b/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt new file mode 100644 index 00000000000..03460c8acb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-workspaces-instances "C++ SDK for the AWS workspaces-instances service" aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-INSTANCES_HEADERS + "include/aws/workspaces-instances/*.h" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_MODEL_HEADERS + "include/aws/workspaces-instances/model/*.h" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB WORKSPACES-INSTANCES_UNIFIED_HEADERS + ${AWS_WORKSPACES-INSTANCES_HEADERS} + ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS} +) + +file(GLOB WORKSPACES-INSTANCES_UNITY_SRC + ${AWS_WORKSPACES-INSTANCES_SOURCE} + ${AWS_WORKSPACES-INSTANCES_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("WORKSPACES-INSTANCES" WORKSPACES-INSTANCES_UNITY_SRC) +endif() + +file(GLOB WORKSPACES-INSTANCES_SRC + ${WORKSPACES-INSTANCES_UNIFIED_HEADERS} + ${WORKSPACES-INSTANCES_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\workspaces-instances" FILES ${AWS_WORKSPACES-INSTANCES_HEADERS}) + source_group("Header Files\\aws\\workspaces-instances\\model" FILES ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_WORKSPACES-INSTANCES_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_WORKSPACES-INSTANCES_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(WORKSPACES-INSTANCES_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${WORKSPACES-INSTANCES_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_WORKSPACESINSTANCES_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_WORKSPACES-INSTANCES_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-instances) +install (FILES ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-instances/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h new file mode 100644 index 00000000000..8281a85c7bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h @@ -0,0 +1,425 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ + /** + *

              Amazon WorkSpaces Instances provides an API framework for managing virtual + * workspace environments across multiple AWS regions, enabling programmatic + * creation and configuration of desktop infrastructure.

              + */ + class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef WorkspacesInstancesClientConfiguration ClientConfigurationType; + typedef WorkspacesInstancesEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~WorkspacesInstancesClient(); + + /** + *

              Attaches a volume to a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::AssociateVolumeOutcome AssociateVolume(const Model::AssociateVolumeRequest& request) const; + + /** + * A Callable wrapper for AssociateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateVolumeOutcomeCallable AssociateVolumeCallable(const AssociateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::AssociateVolume, request); + } + + /** + * An Async wrapper for AssociateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateVolumeAsync(const AssociateVolumeRequestT& request, const AssociateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::AssociateVolume, request, handler, context); + } + + /** + *

              Creates a new volume for WorkSpace Instances.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::CreateVolumeOutcome CreateVolume(const Model::CreateVolumeRequest& request) const; + + /** + * A Callable wrapper for CreateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateVolumeOutcomeCallable CreateVolumeCallable(const CreateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::CreateVolume, request); + } + + /** + * An Async wrapper for CreateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateVolumeAsync(const CreateVolumeRequestT& request, const CreateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::CreateVolume, request, handler, context); + } + + /** + *

              Launches a new WorkSpace Instance with specified configuration parameters, + * enabling programmatic workspace deployment.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::CreateWorkspaceInstanceOutcome CreateWorkspaceInstance(const Model::CreateWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for CreateWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateWorkspaceInstanceOutcomeCallable CreateWorkspaceInstanceCallable(const CreateWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::CreateWorkspaceInstance, request); + } + + /** + * An Async wrapper for CreateWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateWorkspaceInstanceAsync(const CreateWorkspaceInstanceRequestT& request, const CreateWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::CreateWorkspaceInstance, request, handler, context); + } + + /** + *

              Deletes a specified volume.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::DeleteVolumeOutcome DeleteVolume(const Model::DeleteVolumeRequest& request) const; + + /** + * A Callable wrapper for DeleteVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteVolumeOutcomeCallable DeleteVolumeCallable(const DeleteVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DeleteVolume, request); + } + + /** + * An Async wrapper for DeleteVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteVolumeAsync(const DeleteVolumeRequestT& request, const DeleteVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DeleteVolume, request, handler, context); + } + + /** + *

              Deletes the specified WorkSpace

              See Also:

              AWS + * API Reference

              + */ + virtual Model::DeleteWorkspaceInstanceOutcome DeleteWorkspaceInstance(const Model::DeleteWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for DeleteWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteWorkspaceInstanceOutcomeCallable DeleteWorkspaceInstanceCallable(const DeleteWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DeleteWorkspaceInstance, request); + } + + /** + * An Async wrapper for DeleteWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteWorkspaceInstanceAsync(const DeleteWorkspaceInstanceRequestT& request, const DeleteWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DeleteWorkspaceInstance, request, handler, context); + } + + /** + *

              Detaches a volume from a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::DisassociateVolumeOutcome DisassociateVolume(const Model::DisassociateVolumeRequest& request) const; + + /** + * A Callable wrapper for DisassociateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisassociateVolumeOutcomeCallable DisassociateVolumeCallable(const DisassociateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DisassociateVolume, request); + } + + /** + * An Async wrapper for DisassociateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisassociateVolumeAsync(const DisassociateVolumeRequestT& request, const DisassociateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DisassociateVolume, request, handler, context); + } + + /** + *

              Retrieves detailed information about a specific WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::GetWorkspaceInstanceOutcome GetWorkspaceInstance(const Model::GetWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for GetWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetWorkspaceInstanceOutcomeCallable GetWorkspaceInstanceCallable(const GetWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::GetWorkspaceInstance, request); + } + + /** + * An Async wrapper for GetWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetWorkspaceInstanceAsync(const GetWorkspaceInstanceRequestT& request, const GetWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::GetWorkspaceInstance, request, handler, context); + } + + /** + *

              Retrieves a list of instance types supported by Amazon WorkSpaces Instances, + * enabling precise workspace infrastructure configuration.

              See + * Also:

              AWS + * API Reference

              + */ + virtual Model::ListInstanceTypesOutcome ListInstanceTypes(const Model::ListInstanceTypesRequest& request = {}) const; + + /** + * A Callable wrapper for ListInstanceTypes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInstanceTypesOutcomeCallable ListInstanceTypesCallable(const ListInstanceTypesRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListInstanceTypes, request); + } + + /** + * An Async wrapper for ListInstanceTypes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInstanceTypesAsync(const ListInstanceTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListInstanceTypesRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListInstanceTypes, request, handler, context); + } + + /** + *

              Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, + * enabling region discovery for workspace deployments.

              See Also:

              + * AWS + * API Reference

              + */ + virtual Model::ListRegionsOutcome ListRegions(const Model::ListRegionsRequest& request = {}) const; + + /** + * A Callable wrapper for ListRegions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRegionsOutcomeCallable ListRegionsCallable(const ListRegionsRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListRegions, request); + } + + /** + * An Async wrapper for ListRegions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRegionsAsync(const ListRegionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListRegionsRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListRegions, request, handler, context); + } + + /** + *

              Retrieves tags for a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListTagsForResource, request, handler, context); + } + + /** + *

              Retrieves a collection of WorkSpaces Instances based on specified + * filters.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::ListWorkspaceInstancesOutcome ListWorkspaceInstances(const Model::ListWorkspaceInstancesRequest& request = {}) const; + + /** + * A Callable wrapper for ListWorkspaceInstances that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListWorkspaceInstancesOutcomeCallable ListWorkspaceInstancesCallable(const ListWorkspaceInstancesRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListWorkspaceInstances, request); + } + + /** + * An Async wrapper for ListWorkspaceInstances that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListWorkspaceInstancesAsync(const ListWorkspaceInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListWorkspaceInstancesRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListWorkspaceInstances, request, handler, context); + } + + /** + *

              Adds tags to a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::TagResource, request, handler, context); + } + + /** + *

              Removes tags from a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::UntagResource, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const WorkspacesInstancesClientConfiguration& clientConfiguration); + + WorkspacesInstancesClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h new file mode 100644 index 00000000000..c8f13dc4819 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using WorkspacesInstancesClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; +using WorkspacesInstancesBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the WorkspacesInstances Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using WorkspacesInstancesEndpointProviderBase = + EndpointProviderBase; + +using WorkspacesInstancesDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesEndpointProvider : public WorkspacesInstancesDefaultEpProviderBase +{ +public: + using WorkspacesInstancesResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + WorkspacesInstancesEndpointProvider() + : WorkspacesInstancesDefaultEpProviderBase(Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::GetRulesBlob(), Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::RulesBlobSize) + {} + + ~WorkspacesInstancesEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h new file mode 100644 index 00000000000..07bde670c70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +class WorkspacesInstancesEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h new file mode 100644 index 00000000000..8504f466886 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h new file mode 100644 index 00000000000..10196e9f10f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +enum class WorkspacesInstancesErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesError : public Aws::Client::AWSError +{ +public: + WorkspacesInstancesError() {} + WorkspacesInstancesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace WorkspacesInstancesErrorMapper +{ + AWS_WORKSPACESINSTANCES_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h new file mode 100644 index 00000000000..56866596c7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ + class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~WorkspacesInstancesRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2022-07-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h new file mode 100644 index 00000000000..40569594ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in WorkspacesInstancesClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in WorkspacesInstancesClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace WorkspacesInstances + { + using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; + using WorkspacesInstancesEndpointProviderBase = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProviderBase; + using WorkspacesInstancesEndpointProvider = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in WorkspacesInstancesClient header */ + class AssociateVolumeRequest; + class CreateVolumeRequest; + class CreateWorkspaceInstanceRequest; + class DeleteVolumeRequest; + class DeleteWorkspaceInstanceRequest; + class DisassociateVolumeRequest; + class GetWorkspaceInstanceRequest; + class ListInstanceTypesRequest; + class ListRegionsRequest; + class ListTagsForResourceRequest; + class ListWorkspaceInstancesRequest; + class TagResourceRequest; + class UntagResourceRequest; + /* End of service model forward declarations required in WorkspacesInstancesClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AssociateVolumeOutcome; + typedef Aws::Utils::Outcome CreateVolumeOutcome; + typedef Aws::Utils::Outcome CreateWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome DeleteVolumeOutcome; + typedef Aws::Utils::Outcome DeleteWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome DisassociateVolumeOutcome; + typedef Aws::Utils::Outcome GetWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome ListInstanceTypesOutcome; + typedef Aws::Utils::Outcome ListRegionsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome ListWorkspaceInstancesOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AssociateVolumeOutcomeCallable; + typedef std::future CreateVolumeOutcomeCallable; + typedef std::future CreateWorkspaceInstanceOutcomeCallable; + typedef std::future DeleteVolumeOutcomeCallable; + typedef std::future DeleteWorkspaceInstanceOutcomeCallable; + typedef std::future DisassociateVolumeOutcomeCallable; + typedef std::future GetWorkspaceInstanceOutcomeCallable; + typedef std::future ListInstanceTypesOutcomeCallable; + typedef std::future ListRegionsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future ListWorkspaceInstancesOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class WorkspacesInstancesClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AssociateVolumeResponseReceivedHandler; + typedef std::function&) > CreateVolumeResponseReceivedHandler; + typedef std::function&) > CreateWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > DeleteVolumeResponseReceivedHandler; + typedef std::function&) > DeleteWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > DisassociateVolumeResponseReceivedHandler; + typedef std::function&) > GetWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > ListInstanceTypesResponseReceivedHandler; + typedef std::function&) > ListRegionsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > ListWorkspaceInstancesResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h new file mode 100644 index 00000000000..0d2d8848c97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_WORKSPACESINSTANCES_EXPORTS + #define AWS_WORKSPACESINSTANCES_API __declspec(dllexport) + #else + #define AWS_WORKSPACESINSTANCES_API __declspec(dllimport) + #endif /* AWS_WORKSPACESINSTANCES_EXPORTS */ + #define AWS_WORKSPACESINSTANCES_EXTERN + #else + #define AWS_WORKSPACESINSTANCES_API + #define AWS_WORKSPACESINSTANCES_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_WORKSPACESINSTANCES_API + #define AWS_WORKSPACESINSTANCES_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h new file mode 100644 index 00000000000..b392f7739e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class AmdSevSnpEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace AmdSevSnpEnumMapper +{ +AWS_WORKSPACESINSTANCES_API AmdSevSnpEnum GetAmdSevSnpEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForAmdSevSnpEnum(AmdSevSnpEnum value); +} // namespace AmdSevSnpEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h new file mode 100644 index 00000000000..9ea02dad62d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies volume attachment parameters.

              See Also:

              AWS + * API Reference

              + */ + class AssociateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API AssociateVolumeRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "AssociateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              WorkSpace Instance to attach volume to.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + AssociateVolumeRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Volume to be attached.

              + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + AssociateVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Device path for volume attachment.

              + */ + inline const Aws::String& GetDevice() const { return m_device; } + inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } + template + void SetDevice(DeviceT&& value) { m_deviceHasBeenSet = true; m_device = std::forward(value); } + template + AssociateVolumeRequest& WithDevice(DeviceT&& value) { SetDevice(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_device; + bool m_deviceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h new file mode 100644 index 00000000000..e23bd62fd76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms volume attachment.

              See Also:

              AWS + * API Reference

              + */ + class AssociateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + AssociateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h new file mode 100644 index 00000000000..b18a373509e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class AutoRecoveryEnum + { + NOT_SET, + disabled, + default_ + }; + +namespace AutoRecoveryEnumMapper +{ +AWS_WORKSPACESINSTANCES_API AutoRecoveryEnum GetAutoRecoveryEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForAutoRecoveryEnum(AutoRecoveryEnum value); +} // namespace AutoRecoveryEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h new file mode 100644 index 00000000000..f57172c5447 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class BandwidthWeightingEnum + { + NOT_SET, + default_, + vpc_1, + ebs_1 + }; + +namespace BandwidthWeightingEnumMapper +{ +AWS_WORKSPACESINSTANCES_API BandwidthWeightingEnum GetBandwidthWeightingEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForBandwidthWeightingEnum(BandwidthWeightingEnum value); +} // namespace BandwidthWeightingEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h new file mode 100644 index 00000000000..cb01495b4bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines device mapping for WorkSpace Instance storage.

              See + * Also:

              AWS + * API Reference

              + */ + class BlockDeviceMappingRequest + { + public: + AWS_WORKSPACESINSTANCES_API BlockDeviceMappingRequest() = default; + AWS_WORKSPACESINSTANCES_API BlockDeviceMappingRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API BlockDeviceMappingRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Name of the device for storage mapping.

              + */ + inline const Aws::String& GetDeviceName() const { return m_deviceName; } + inline bool DeviceNameHasBeenSet() const { return m_deviceNameHasBeenSet; } + template + void SetDeviceName(DeviceNameT&& value) { m_deviceNameHasBeenSet = true; m_deviceName = std::forward(value); } + template + BlockDeviceMappingRequest& WithDeviceName(DeviceNameT&& value) { SetDeviceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              EBS volume configuration for the device.

              + */ + inline const EbsBlockDevice& GetEbs() const { return m_ebs; } + inline bool EbsHasBeenSet() const { return m_ebsHasBeenSet; } + template + void SetEbs(EbsT&& value) { m_ebsHasBeenSet = true; m_ebs = std::forward(value); } + template + BlockDeviceMappingRequest& WithEbs(EbsT&& value) { SetEbs(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Indicates device should not be mapped.

              + */ + inline const Aws::String& GetNoDevice() const { return m_noDevice; } + inline bool NoDeviceHasBeenSet() const { return m_noDeviceHasBeenSet; } + template + void SetNoDevice(NoDeviceT&& value) { m_noDeviceHasBeenSet = true; m_noDevice = std::forward(value); } + template + BlockDeviceMappingRequest& WithNoDevice(NoDeviceT&& value) { SetNoDevice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Virtual device name for ephemeral storage.

              + */ + inline const Aws::String& GetVirtualName() const { return m_virtualName; } + inline bool VirtualNameHasBeenSet() const { return m_virtualNameHasBeenSet; } + template + void SetVirtualName(VirtualNameT&& value) { m_virtualNameHasBeenSet = true; m_virtualName = std::forward(value); } + template + BlockDeviceMappingRequest& WithVirtualName(VirtualNameT&& value) { SetVirtualName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_deviceName; + bool m_deviceNameHasBeenSet = false; + + EbsBlockDevice m_ebs; + bool m_ebsHasBeenSet = false; + + Aws::String m_noDevice; + bool m_noDeviceHasBeenSet = false; + + Aws::String m_virtualName; + bool m_virtualNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h new file mode 100644 index 00000000000..3e967aace26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class CapacityReservationPreferenceEnum + { + NOT_SET, + capacity_reservations_only, + open, + none + }; + +namespace CapacityReservationPreferenceEnumMapper +{ +AWS_WORKSPACESINSTANCES_API CapacityReservationPreferenceEnum GetCapacityReservationPreferenceEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForCapacityReservationPreferenceEnum(CapacityReservationPreferenceEnum value); +} // namespace CapacityReservationPreferenceEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h new file mode 100644 index 00000000000..4bf43308aaa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies capacity reservation preferences.

              See Also:

              AWS + * API Reference

              + */ + class CapacityReservationSpecification + { + public: + AWS_WORKSPACESINSTANCES_API CapacityReservationSpecification() = default; + AWS_WORKSPACESINSTANCES_API CapacityReservationSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API CapacityReservationSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Preference for using capacity reservation.

              + */ + inline CapacityReservationPreferenceEnum GetCapacityReservationPreference() const { return m_capacityReservationPreference; } + inline bool CapacityReservationPreferenceHasBeenSet() const { return m_capacityReservationPreferenceHasBeenSet; } + inline void SetCapacityReservationPreference(CapacityReservationPreferenceEnum value) { m_capacityReservationPreferenceHasBeenSet = true; m_capacityReservationPreference = value; } + inline CapacityReservationSpecification& WithCapacityReservationPreference(CapacityReservationPreferenceEnum value) { SetCapacityReservationPreference(value); return *this;} + ///@} + + ///@{ + /** + *

              Specific capacity reservation target.

              + */ + inline const CapacityReservationTarget& GetCapacityReservationTarget() const { return m_capacityReservationTarget; } + inline bool CapacityReservationTargetHasBeenSet() const { return m_capacityReservationTargetHasBeenSet; } + template + void SetCapacityReservationTarget(CapacityReservationTargetT&& value) { m_capacityReservationTargetHasBeenSet = true; m_capacityReservationTarget = std::forward(value); } + template + CapacityReservationSpecification& WithCapacityReservationTarget(CapacityReservationTargetT&& value) { SetCapacityReservationTarget(std::forward(value)); return *this;} + ///@} + private: + + CapacityReservationPreferenceEnum m_capacityReservationPreference{CapacityReservationPreferenceEnum::NOT_SET}; + bool m_capacityReservationPreferenceHasBeenSet = false; + + CapacityReservationTarget m_capacityReservationTarget; + bool m_capacityReservationTargetHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h new file mode 100644 index 00000000000..a300eb59efb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Identifies a specific capacity reservation.

              See Also:

              AWS + * API Reference

              + */ + class CapacityReservationTarget + { + public: + AWS_WORKSPACESINSTANCES_API CapacityReservationTarget() = default; + AWS_WORKSPACESINSTANCES_API CapacityReservationTarget(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API CapacityReservationTarget& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique identifier for the capacity reservation.

              + */ + inline const Aws::String& GetCapacityReservationId() const { return m_capacityReservationId; } + inline bool CapacityReservationIdHasBeenSet() const { return m_capacityReservationIdHasBeenSet; } + template + void SetCapacityReservationId(CapacityReservationIdT&& value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId = std::forward(value); } + template + CapacityReservationTarget& WithCapacityReservationId(CapacityReservationIdT&& value) { SetCapacityReservationId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              ARN of the capacity reservation resource group.

              + */ + inline const Aws::String& GetCapacityReservationResourceGroupArn() const { return m_capacityReservationResourceGroupArn; } + inline bool CapacityReservationResourceGroupArnHasBeenSet() const { return m_capacityReservationResourceGroupArnHasBeenSet; } + template + void SetCapacityReservationResourceGroupArn(CapacityReservationResourceGroupArnT&& value) { m_capacityReservationResourceGroupArnHasBeenSet = true; m_capacityReservationResourceGroupArn = std::forward(value); } + template + CapacityReservationTarget& WithCapacityReservationResourceGroupArn(CapacityReservationResourceGroupArnT&& value) { SetCapacityReservationResourceGroupArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_capacityReservationId; + bool m_capacityReservationIdHasBeenSet = false; + + Aws::String m_capacityReservationResourceGroupArn; + bool m_capacityReservationResourceGroupArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h new file mode 100644 index 00000000000..f5fd13e37d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Signals a conflict with the current state of the resource.

              See + * Also:

              AWS + * API Reference

              + */ + class ConflictException + { + public: + AWS_WORKSPACESINSTANCES_API ConflictException() = default; + AWS_WORKSPACESINSTANCES_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Description of the conflict encountered.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ConflictException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifier of the conflicting resource.

              + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ConflictException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Type of the conflicting resource.

              + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ConflictException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h new file mode 100644 index 00000000000..f697ef0f4f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines connection tracking parameters for network interfaces.

              See + * Also:

              AWS + * API Reference

              + */ + class ConnectionTrackingSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API ConnectionTrackingSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API ConnectionTrackingSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ConnectionTrackingSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Timeout for established TCP connections.

              + */ + inline int GetTcpEstablishedTimeout() const { return m_tcpEstablishedTimeout; } + inline bool TcpEstablishedTimeoutHasBeenSet() const { return m_tcpEstablishedTimeoutHasBeenSet; } + inline void SetTcpEstablishedTimeout(int value) { m_tcpEstablishedTimeoutHasBeenSet = true; m_tcpEstablishedTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithTcpEstablishedTimeout(int value) { SetTcpEstablishedTimeout(value); return *this;} + ///@} + + ///@{ + /** + *

              Timeout for UDP stream connections.

              + */ + inline int GetUdpStreamTimeout() const { return m_udpStreamTimeout; } + inline bool UdpStreamTimeoutHasBeenSet() const { return m_udpStreamTimeoutHasBeenSet; } + inline void SetUdpStreamTimeout(int value) { m_udpStreamTimeoutHasBeenSet = true; m_udpStreamTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithUdpStreamTimeout(int value) { SetUdpStreamTimeout(value); return *this;} + ///@} + + ///@{ + /** + *

              General timeout for UDP connections.

              + */ + inline int GetUdpTimeout() const { return m_udpTimeout; } + inline bool UdpTimeoutHasBeenSet() const { return m_udpTimeoutHasBeenSet; } + inline void SetUdpTimeout(int value) { m_udpTimeoutHasBeenSet = true; m_udpTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithUdpTimeout(int value) { SetUdpTimeout(value); return *this;} + ///@} + private: + + int m_tcpEstablishedTimeout{0}; + bool m_tcpEstablishedTimeoutHasBeenSet = false; + + int m_udpStreamTimeout{0}; + bool m_udpStreamTimeoutHasBeenSet = false; + + int m_udpTimeout{0}; + bool m_udpTimeoutHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h new file mode 100644 index 00000000000..e7063b47cc6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class CpuCreditsEnum + { + NOT_SET, + standard, + unlimited + }; + +namespace CpuCreditsEnumMapper +{ +AWS_WORKSPACESINSTANCES_API CpuCreditsEnum GetCpuCreditsEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForCpuCreditsEnum(CpuCreditsEnum value); +} // namespace CpuCreditsEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h new file mode 100644 index 00000000000..bf1bb76f2b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures CPU-specific settings for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class CpuOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API CpuOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API CpuOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API CpuOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              AMD Secure Encrypted Virtualization configuration.

              + */ + inline AmdSevSnpEnum GetAmdSevSnp() const { return m_amdSevSnp; } + inline bool AmdSevSnpHasBeenSet() const { return m_amdSevSnpHasBeenSet; } + inline void SetAmdSevSnp(AmdSevSnpEnum value) { m_amdSevSnpHasBeenSet = true; m_amdSevSnp = value; } + inline CpuOptionsRequest& WithAmdSevSnp(AmdSevSnpEnum value) { SetAmdSevSnp(value); return *this;} + ///@} + + ///@{ + /** + *

              Number of CPU cores to allocate.

              + */ + inline int GetCoreCount() const { return m_coreCount; } + inline bool CoreCountHasBeenSet() const { return m_coreCountHasBeenSet; } + inline void SetCoreCount(int value) { m_coreCountHasBeenSet = true; m_coreCount = value; } + inline CpuOptionsRequest& WithCoreCount(int value) { SetCoreCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Number of threads per CPU core.

              + */ + inline int GetThreadsPerCore() const { return m_threadsPerCore; } + inline bool ThreadsPerCoreHasBeenSet() const { return m_threadsPerCoreHasBeenSet; } + inline void SetThreadsPerCore(int value) { m_threadsPerCoreHasBeenSet = true; m_threadsPerCore = value; } + inline CpuOptionsRequest& WithThreadsPerCore(int value) { SetThreadsPerCore(value); return *this;} + ///@} + private: + + AmdSevSnpEnum m_amdSevSnp{AmdSevSnpEnum::NOT_SET}; + bool m_amdSevSnpHasBeenSet = false; + + int m_coreCount{0}; + bool m_coreCountHasBeenSet = false; + + int m_threadsPerCore{0}; + bool m_threadsPerCoreHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h new file mode 100644 index 00000000000..7fc73bdd502 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies volume creation parameters.

              See Also:

              AWS + * API Reference

              + */ + class CreateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API CreateVolumeRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Availability zone for the volume.

              + */ + inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + template + void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward(value); } + template + CreateVolumeRequest& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Unique token to prevent duplicate volume creation.

              + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateVolumeRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Indicates if the volume should be encrypted.

              + */ + inline bool GetEncrypted() const { return m_encrypted; } + inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } + inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } + inline CreateVolumeRequest& WithEncrypted(bool value) { SetEncrypted(value); return *this;} + ///@} + + ///@{ + /** + *

              Input/output operations per second for the volume.

              + */ + inline int GetIops() const { return m_iops; } + inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } + inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } + inline CreateVolumeRequest& WithIops(int value) { SetIops(value); return *this;} + ///@} + + ///@{ + /** + *

              KMS key for volume encryption.

              + */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + CreateVolumeRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Volume size in gigabytes.

              + */ + inline int GetSizeInGB() const { return m_sizeInGB; } + inline bool SizeInGBHasBeenSet() const { return m_sizeInGBHasBeenSet; } + inline void SetSizeInGB(int value) { m_sizeInGBHasBeenSet = true; m_sizeInGB = value; } + inline CreateVolumeRequest& WithSizeInGB(int value) { SetSizeInGB(value); return *this;} + ///@} + + ///@{ + /** + *

              Source snapshot for volume creation.

              + */ + inline const Aws::String& GetSnapshotId() const { return m_snapshotId; } + inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; } + template + void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::forward(value); } + template + CreateVolumeRequest& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Metadata tags for the volume.

              + */ + inline const Aws::Vector& GetTagSpecifications() const { return m_tagSpecifications; } + inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } + template> + void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward(value); } + template> + CreateVolumeRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward(value)); return *this;} + template + CreateVolumeRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Volume throughput performance.

              + */ + inline int GetThroughput() const { return m_throughput; } + inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } + inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } + inline CreateVolumeRequest& WithThroughput(int value) { SetThroughput(value); return *this;} + ///@} + + ///@{ + /** + *

              Type of EBS volume.

              + */ + inline VolumeTypeEnum GetVolumeType() const { return m_volumeType; } + inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } + inline void SetVolumeType(VolumeTypeEnum value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } + inline CreateVolumeRequest& WithVolumeType(VolumeTypeEnum value) { SetVolumeType(value); return *this;} + ///@} + private: + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + bool m_encrypted{false}; + bool m_encryptedHasBeenSet = false; + + int m_iops{0}; + bool m_iopsHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + int m_sizeInGB{0}; + bool m_sizeInGBHasBeenSet = false; + + Aws::String m_snapshotId; + bool m_snapshotIdHasBeenSet = false; + + Aws::Vector m_tagSpecifications; + bool m_tagSpecificationsHasBeenSet = false; + + int m_throughput{0}; + bool m_throughputHasBeenSet = false; + + VolumeTypeEnum m_volumeType{VolumeTypeEnum::NOT_SET}; + bool m_volumeTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h new file mode 100644 index 00000000000..b43d0e3208c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Returns the created volume identifier.

              See Also:

              AWS + * API Reference

              + */ + class CreateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API CreateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API CreateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API CreateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Unique identifier for the new volume.

              + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + CreateVolumeResult& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..62c8157d74e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines the configuration parameters for creating a new WorkSpaces + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class CreateWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique token to ensure idempotent instance creation, preventing duplicate + * workspace launches.

              + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateWorkspaceInstanceRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Optional metadata tags for categorizing and managing WorkSpaces + * Instances.

              + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateWorkspaceInstanceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateWorkspaceInstanceRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Comprehensive configuration settings for the WorkSpaces Instance, including + * network, compute, and storage parameters.

              + */ + inline const ManagedInstanceRequest& GetManagedInstance() const { return m_managedInstance; } + inline bool ManagedInstanceHasBeenSet() const { return m_managedInstanceHasBeenSet; } + template + void SetManagedInstance(ManagedInstanceT&& value) { m_managedInstanceHasBeenSet = true; m_managedInstance = std::forward(value); } + template + CreateWorkspaceInstanceRequest& WithManagedInstance(ManagedInstanceT&& value) { SetManagedInstance(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + + ManagedInstanceRequest m_managedInstance; + bool m_managedInstanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h new file mode 100644 index 00000000000..b63ff769dc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Returns the unique identifier for the newly created WorkSpaces + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class CreateWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Unique identifier assigned to the newly created WorkSpaces Instance.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + CreateWorkspaceInstanceResult& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h new file mode 100644 index 00000000000..6d1b9d28d97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines CPU credit configuration for burstable instances.

              See + * Also:

              AWS + * API Reference

              + */ + class CreditSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API CreditSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API CreditSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API CreditSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              CPU credit specification mode.

              + */ + inline CpuCreditsEnum GetCpuCredits() const { return m_cpuCredits; } + inline bool CpuCreditsHasBeenSet() const { return m_cpuCreditsHasBeenSet; } + inline void SetCpuCredits(CpuCreditsEnum value) { m_cpuCreditsHasBeenSet = true; m_cpuCredits = value; } + inline CreditSpecificationRequest& WithCpuCredits(CpuCreditsEnum value) { SetCpuCredits(value); return *this;} + ///@} + private: + + CpuCreditsEnum m_cpuCredits{CpuCreditsEnum::NOT_SET}; + bool m_cpuCreditsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h new file mode 100644 index 00000000000..f5f4eedb8b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies the volume to delete.

              See Also:

              AWS + * API Reference

              + */ + class DeleteVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DeleteVolumeRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Identifier of the volume to delete.

              + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + DeleteVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h new file mode 100644 index 00000000000..7fe1e2519f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms volume deletion.

              See Also:

              AWS + * API Reference

              + */ + class DeleteVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..800fb4d66d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              The WorkSpace to delete

              See Also:

              AWS + * API Reference

              + */ + class DeleteWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique identifier of the WorkSpaces Instance targeted for deletion.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + DeleteWorkspaceInstanceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h new file mode 100644 index 00000000000..71848fdd6ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms the successful deletion of the specified WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class DeleteWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h new file mode 100644 index 00000000000..00ed4794baa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class DisassociateModeEnum + { + NOT_SET, + FORCE, + NO_FORCE + }; + +namespace DisassociateModeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API DisassociateModeEnum GetDisassociateModeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForDisassociateModeEnum(DisassociateModeEnum value); +} // namespace DisassociateModeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h new file mode 100644 index 00000000000..86b7abeda29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies volume detachment parameters.

              See Also:

              AWS + * API Reference

              + */ + class DisassociateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DisassociateVolumeRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DisassociateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              WorkSpace Instance to detach volume from.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + DisassociateVolumeRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Volume to be detached.

              + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + DisassociateVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Device path of volume to detach.

              + */ + inline const Aws::String& GetDevice() const { return m_device; } + inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } + template + void SetDevice(DeviceT&& value) { m_deviceHasBeenSet = true; m_device = std::forward(value); } + template + DisassociateVolumeRequest& WithDevice(DeviceT&& value) { SetDevice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Mode for volume detachment.

              + */ + inline DisassociateModeEnum GetDisassociateMode() const { return m_disassociateMode; } + inline bool DisassociateModeHasBeenSet() const { return m_disassociateModeHasBeenSet; } + inline void SetDisassociateMode(DisassociateModeEnum value) { m_disassociateModeHasBeenSet = true; m_disassociateMode = value; } + inline DisassociateVolumeRequest& WithDisassociateMode(DisassociateModeEnum value) { SetDisassociateMode(value); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_device; + bool m_deviceHasBeenSet = false; + + DisassociateModeEnum m_disassociateMode{DisassociateModeEnum::NOT_SET}; + bool m_disassociateModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h new file mode 100644 index 00000000000..7c173b63259 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms volume detachment.

              See Also:

              AWS + * API Reference

              + */ + class DisassociateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DisassociateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h new file mode 100644 index 00000000000..ca20db201dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Captures detailed error information for EC2 instance + * operations.

              See Also:

              AWS + * API Reference

              + */ + class EC2InstanceError + { + public: + AWS_WORKSPACESINSTANCES_API EC2InstanceError() = default; + AWS_WORKSPACESINSTANCES_API EC2InstanceError(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EC2InstanceError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique error code identifying the specific EC2 instance error.

              + */ + inline const Aws::String& GetEC2ErrorCode() const { return m_eC2ErrorCode; } + inline bool EC2ErrorCodeHasBeenSet() const { return m_eC2ErrorCodeHasBeenSet; } + template + void SetEC2ErrorCode(EC2ErrorCodeT&& value) { m_eC2ErrorCodeHasBeenSet = true; m_eC2ErrorCode = std::forward(value); } + template + EC2InstanceError& WithEC2ErrorCode(EC2ErrorCodeT&& value) { SetEC2ErrorCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Type of exception encountered during EC2 instance operation.

              + */ + inline const Aws::String& GetEC2ExceptionType() const { return m_eC2ExceptionType; } + inline bool EC2ExceptionTypeHasBeenSet() const { return m_eC2ExceptionTypeHasBeenSet; } + template + void SetEC2ExceptionType(EC2ExceptionTypeT&& value) { m_eC2ExceptionTypeHasBeenSet = true; m_eC2ExceptionType = std::forward(value); } + template + EC2InstanceError& WithEC2ExceptionType(EC2ExceptionTypeT&& value) { SetEC2ExceptionType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Detailed description of the EC2 instance error.

              + */ + inline const Aws::String& GetEC2ErrorMessage() const { return m_eC2ErrorMessage; } + inline bool EC2ErrorMessageHasBeenSet() const { return m_eC2ErrorMessageHasBeenSet; } + template + void SetEC2ErrorMessage(EC2ErrorMessageT&& value) { m_eC2ErrorMessageHasBeenSet = true; m_eC2ErrorMessage = std::forward(value); } + template + EC2InstanceError& WithEC2ErrorMessage(EC2ErrorMessageT&& value) { SetEC2ErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_eC2ErrorCode; + bool m_eC2ErrorCodeHasBeenSet = false; + + Aws::String m_eC2ExceptionType; + bool m_eC2ExceptionTypeHasBeenSet = false; + + Aws::String m_eC2ErrorMessage; + bool m_eC2ErrorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h new file mode 100644 index 00000000000..4033ca9bad9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents an EC2 instance managed by WorkSpaces.

              See Also:

              + * AWS + * API Reference

              + */ + class EC2ManagedInstance + { + public: + AWS_WORKSPACESINSTANCES_API EC2ManagedInstance() = default; + AWS_WORKSPACESINSTANCES_API EC2ManagedInstance(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EC2ManagedInstance& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique identifier of the managed EC2 instance.

              + */ + inline const Aws::String& GetInstanceId() const { return m_instanceId; } + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + template + void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward(value); } + template + EC2ManagedInstance& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h new file mode 100644 index 00000000000..6f26e4ad5c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines configuration for an Elastic Block Store volume.

              See + * Also:

              AWS + * API Reference

              + */ + class EbsBlockDevice + { + public: + AWS_WORKSPACESINSTANCES_API EbsBlockDevice() = default; + AWS_WORKSPACESINSTANCES_API EbsBlockDevice(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EbsBlockDevice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Type of EBS volume (e.g., gp2, io1).

              + */ + inline VolumeTypeEnum GetVolumeType() const { return m_volumeType; } + inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } + inline void SetVolumeType(VolumeTypeEnum value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } + inline EbsBlockDevice& WithVolumeType(VolumeTypeEnum value) { SetVolumeType(value); return *this;} + ///@} + + ///@{ + /** + *

              Indicates if the volume is encrypted.

              + */ + inline bool GetEncrypted() const { return m_encrypted; } + inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } + inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } + inline EbsBlockDevice& WithEncrypted(bool value) { SetEncrypted(value); return *this;} + ///@} + + ///@{ + /** + *

              KMS key used for volume encryption.

              + */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + EbsBlockDevice& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Input/output operations per second for the volume.

              + */ + inline int GetIops() const { return m_iops; } + inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } + inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } + inline EbsBlockDevice& WithIops(int value) { SetIops(value); return *this;} + ///@} + + ///@{ + /** + *

              Volume data transfer rate.

              + */ + inline int GetThroughput() const { return m_throughput; } + inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } + inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } + inline EbsBlockDevice& WithThroughput(int value) { SetThroughput(value); return *this;} + ///@} + + ///@{ + /** + *

              Size of the EBS volume in gigabytes.

              + */ + inline int GetVolumeSize() const { return m_volumeSize; } + inline bool VolumeSizeHasBeenSet() const { return m_volumeSizeHasBeenSet; } + inline void SetVolumeSize(int value) { m_volumeSizeHasBeenSet = true; m_volumeSize = value; } + inline EbsBlockDevice& WithVolumeSize(int value) { SetVolumeSize(value); return *this;} + ///@} + private: + + VolumeTypeEnum m_volumeType{VolumeTypeEnum::NOT_SET}; + bool m_volumeTypeHasBeenSet = false; + + bool m_encrypted{false}; + bool m_encryptedHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + int m_iops{0}; + bool m_iopsHasBeenSet = false; + + int m_throughput{0}; + bool m_throughputHasBeenSet = false; + + int m_volumeSize{0}; + bool m_volumeSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h new file mode 100644 index 00000000000..13a052771b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) + * configuration.

              See Also:

              AWS + * API Reference

              + */ + class EnaSrdSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API EnaSrdSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API EnaSrdSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EnaSrdSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables ENA SRD for network performance.

              + */ + inline bool GetEnaSrdEnabled() const { return m_enaSrdEnabled; } + inline bool EnaSrdEnabledHasBeenSet() const { return m_enaSrdEnabledHasBeenSet; } + inline void SetEnaSrdEnabled(bool value) { m_enaSrdEnabledHasBeenSet = true; m_enaSrdEnabled = value; } + inline EnaSrdSpecificationRequest& WithEnaSrdEnabled(bool value) { SetEnaSrdEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures UDP-specific ENA SRD settings.

              + */ + inline const EnaSrdUdpSpecificationRequest& GetEnaSrdUdpSpecification() const { return m_enaSrdUdpSpecification; } + inline bool EnaSrdUdpSpecificationHasBeenSet() const { return m_enaSrdUdpSpecificationHasBeenSet; } + template + void SetEnaSrdUdpSpecification(EnaSrdUdpSpecificationT&& value) { m_enaSrdUdpSpecificationHasBeenSet = true; m_enaSrdUdpSpecification = std::forward(value); } + template + EnaSrdSpecificationRequest& WithEnaSrdUdpSpecification(EnaSrdUdpSpecificationT&& value) { SetEnaSrdUdpSpecification(std::forward(value)); return *this;} + ///@} + private: + + bool m_enaSrdEnabled{false}; + bool m_enaSrdEnabledHasBeenSet = false; + + EnaSrdUdpSpecificationRequest m_enaSrdUdpSpecification; + bool m_enaSrdUdpSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h new file mode 100644 index 00000000000..378274adaef --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies UDP configuration for ENA SRD.

              See Also:

              AWS + * API Reference

              + */ + class EnaSrdUdpSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API EnaSrdUdpSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API EnaSrdUdpSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EnaSrdUdpSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables ENA SRD for UDP traffic.

              + */ + inline bool GetEnaSrdUdpEnabled() const { return m_enaSrdUdpEnabled; } + inline bool EnaSrdUdpEnabledHasBeenSet() const { return m_enaSrdUdpEnabledHasBeenSet; } + inline void SetEnaSrdUdpEnabled(bool value) { m_enaSrdUdpEnabledHasBeenSet = true; m_enaSrdUdpEnabled = value; } + inline EnaSrdUdpSpecificationRequest& WithEnaSrdUdpEnabled(bool value) { SetEnaSrdUdpEnabled(value); return *this;} + ///@} + private: + + bool m_enaSrdUdpEnabled{false}; + bool m_enaSrdUdpEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h new file mode 100644 index 00000000000..3be584bf639 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures AWS Nitro Enclave options for the WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class EnclaveOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API EnclaveOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API EnclaveOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API EnclaveOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables AWS Nitro Enclaves for enhanced security.

              + */ + inline bool GetEnabled() const { return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline EnclaveOptionsRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled{false}; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..421a9309512 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Identifies the WorkSpaces Instance to retrieve detailed information + * for.

              See Also:

              AWS + * API Reference

              + */ + class GetWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique identifier of the WorkSpace Instance to retrieve.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + GetWorkspaceInstanceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h new file mode 100644 index 00000000000..27ea936edad --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h @@ -0,0 +1,134 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Provides comprehensive details about the requested WorkSpaces + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class GetWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Captures any errors specific to the WorkSpace Instance lifecycle.

              + */ + inline const Aws::Vector& GetWorkspaceInstanceErrors() const { return m_workspaceInstanceErrors; } + template> + void SetWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { m_workspaceInstanceErrorsHasBeenSet = true; m_workspaceInstanceErrors = std::forward(value); } + template> + GetWorkspaceInstanceResult& WithWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { SetWorkspaceInstanceErrors(std::forward(value)); return *this;} + template + GetWorkspaceInstanceResult& AddWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { m_workspaceInstanceErrorsHasBeenSet = true; m_workspaceInstanceErrors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Includes any underlying EC2 instance errors encountered.

              + */ + inline const Aws::Vector& GetEC2InstanceErrors() const { return m_eC2InstanceErrors; } + template> + void SetEC2InstanceErrors(EC2InstanceErrorsT&& value) { m_eC2InstanceErrorsHasBeenSet = true; m_eC2InstanceErrors = std::forward(value); } + template> + GetWorkspaceInstanceResult& WithEC2InstanceErrors(EC2InstanceErrorsT&& value) { SetEC2InstanceErrors(std::forward(value)); return *this;} + template + GetWorkspaceInstanceResult& AddEC2InstanceErrors(EC2InstanceErrorsT&& value) { m_eC2InstanceErrorsHasBeenSet = true; m_eC2InstanceErrors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Current provisioning state of the WorkSpaces Instance.

              + */ + inline ProvisionStateEnum GetProvisionState() const { return m_provisionState; } + inline void SetProvisionState(ProvisionStateEnum value) { m_provisionStateHasBeenSet = true; m_provisionState = value; } + inline GetWorkspaceInstanceResult& WithProvisionState(ProvisionStateEnum value) { SetProvisionState(value); return *this;} + ///@} + + ///@{ + /** + *

              Unique identifier of the retrieved WorkSpaces Instance.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + GetWorkspaceInstanceResult& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Details of the associated EC2 managed instance.

              + */ + inline const EC2ManagedInstance& GetEC2ManagedInstance() const { return m_eC2ManagedInstance; } + template + void SetEC2ManagedInstance(EC2ManagedInstanceT&& value) { m_eC2ManagedInstanceHasBeenSet = true; m_eC2ManagedInstance = std::forward(value); } + template + GetWorkspaceInstanceResult& WithEC2ManagedInstance(EC2ManagedInstanceT&& value) { SetEC2ManagedInstance(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_workspaceInstanceErrors; + bool m_workspaceInstanceErrorsHasBeenSet = false; + + Aws::Vector m_eC2InstanceErrors; + bool m_eC2InstanceErrorsHasBeenSet = false; + + ProvisionStateEnum m_provisionState{ProvisionStateEnum::NOT_SET}; + bool m_provisionStateHasBeenSet = false; + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + EC2ManagedInstance m_eC2ManagedInstance; + bool m_eC2ManagedInstanceHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h new file mode 100644 index 00000000000..a9aa21dfc82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines hibernation configuration for the WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class HibernationOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API HibernationOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API HibernationOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API HibernationOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables instance hibernation capability.

              + */ + inline bool GetConfigured() const { return m_configured; } + inline bool ConfiguredHasBeenSet() const { return m_configuredHasBeenSet; } + inline void SetConfigured(bool value) { m_configuredHasBeenSet = true; m_configured = value; } + inline HibernationOptionsRequest& WithConfigured(bool value) { SetConfigured(value); return *this;} + ///@} + private: + + bool m_configured{false}; + bool m_configuredHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h new file mode 100644 index 00000000000..de22911e695 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class HostnameTypeEnum + { + NOT_SET, + ip_name, + resource_name + }; + +namespace HostnameTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HostnameTypeEnum GetHostnameTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHostnameTypeEnum(HostnameTypeEnum value); +} // namespace HostnameTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h new file mode 100644 index 00000000000..f8993e29b32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class HttpEndpointEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace HttpEndpointEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpEndpointEnum GetHttpEndpointEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpEndpointEnum(HttpEndpointEnum value); +} // namespace HttpEndpointEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h new file mode 100644 index 00000000000..1cee3659655 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class HttpProtocolIpv6Enum + { + NOT_SET, + enabled, + disabled + }; + +namespace HttpProtocolIpv6EnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpProtocolIpv6Enum GetHttpProtocolIpv6EnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpProtocolIpv6Enum(HttpProtocolIpv6Enum value); +} // namespace HttpProtocolIpv6EnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h new file mode 100644 index 00000000000..5c1029a5ab6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class HttpTokensEnum + { + NOT_SET, + optional, + required + }; + +namespace HttpTokensEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpTokensEnum GetHttpTokensEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpTokensEnum(HttpTokensEnum value); +} // namespace HttpTokensEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h new file mode 100644 index 00000000000..8e149456712 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines IAM instance profile configuration for WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class IamInstanceProfileSpecification + { + public: + AWS_WORKSPACESINSTANCES_API IamInstanceProfileSpecification() = default; + AWS_WORKSPACESINSTANCES_API IamInstanceProfileSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API IamInstanceProfileSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Amazon Resource Name (ARN) of the IAM instance profile.

              + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + IamInstanceProfileSpecification& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Name of the IAM instance profile.

              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + IamInstanceProfileSpecification& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h new file mode 100644 index 00000000000..4ca3f3bb4c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class InstanceInterruptionBehaviorEnum + { + NOT_SET, + hibernate, + stop + }; + +namespace InstanceInterruptionBehaviorEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehaviorEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInstanceInterruptionBehaviorEnum(InstanceInterruptionBehaviorEnum value); +} // namespace InstanceInterruptionBehaviorEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h new file mode 100644 index 00000000000..25bc7ba11c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents an IPv6 address configuration for a WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class InstanceIpv6Address + { + public: + AWS_WORKSPACESINSTANCES_API InstanceIpv6Address() = default; + AWS_WORKSPACESINSTANCES_API InstanceIpv6Address(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceIpv6Address& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specific IPv6 address assigned to the instance.

              + */ + inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; } + inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } + template + void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward(value); } + template + InstanceIpv6Address& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Indicates if this is the primary IPv6 address for the instance.

              + */ + inline bool GetIsPrimaryIpv6() const { return m_isPrimaryIpv6; } + inline bool IsPrimaryIpv6HasBeenSet() const { return m_isPrimaryIpv6HasBeenSet; } + inline void SetIsPrimaryIpv6(bool value) { m_isPrimaryIpv6HasBeenSet = true; m_isPrimaryIpv6 = value; } + inline InstanceIpv6Address& WithIsPrimaryIpv6(bool value) { SetIsPrimaryIpv6(value); return *this;} + ///@} + private: + + Aws::String m_ipv6Address; + bool m_ipv6AddressHasBeenSet = false; + + bool m_isPrimaryIpv6{false}; + bool m_isPrimaryIpv6HasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h new file mode 100644 index 00000000000..4b8641534d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures automatic maintenance settings for WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class InstanceMaintenanceOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API InstanceMaintenanceOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API InstanceMaintenanceOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceMaintenanceOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables automatic instance recovery.

              + */ + inline AutoRecoveryEnum GetAutoRecovery() const { return m_autoRecovery; } + inline bool AutoRecoveryHasBeenSet() const { return m_autoRecoveryHasBeenSet; } + inline void SetAutoRecovery(AutoRecoveryEnum value) { m_autoRecoveryHasBeenSet = true; m_autoRecovery = value; } + inline InstanceMaintenanceOptionsRequest& WithAutoRecovery(AutoRecoveryEnum value) { SetAutoRecovery(value); return *this;} + ///@} + private: + + AutoRecoveryEnum m_autoRecovery{AutoRecoveryEnum::NOT_SET}; + bool m_autoRecoveryHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h new file mode 100644 index 00000000000..ca869b0c7ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures marketplace-specific instance deployment options.

              See + * Also:

              AWS + * API Reference

              + */ + class InstanceMarketOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API InstanceMarketOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API InstanceMarketOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceMarketOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specifies the type of marketplace for instance deployment.

              + */ + inline MarketTypeEnum GetMarketType() const { return m_marketType; } + inline bool MarketTypeHasBeenSet() const { return m_marketTypeHasBeenSet; } + inline void SetMarketType(MarketTypeEnum value) { m_marketTypeHasBeenSet = true; m_marketType = value; } + inline InstanceMarketOptionsRequest& WithMarketType(MarketTypeEnum value) { SetMarketType(value); return *this;} + ///@} + + ///@{ + /** + *

              Configuration options for spot instance deployment.

              + */ + inline const SpotMarketOptions& GetSpotOptions() const { return m_spotOptions; } + inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } + template + void SetSpotOptions(SpotOptionsT&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::forward(value); } + template + InstanceMarketOptionsRequest& WithSpotOptions(SpotOptionsT&& value) { SetSpotOptions(std::forward(value)); return *this;} + ///@} + private: + + MarketTypeEnum m_marketType{MarketTypeEnum::NOT_SET}; + bool m_marketTypeHasBeenSet = false; + + SpotMarketOptions m_spotOptions; + bool m_spotOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h new file mode 100644 index 00000000000..336579929ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines instance metadata service configuration.

              See Also:

              + * AWS + * API Reference

              + */ + class InstanceMetadataOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API InstanceMetadataOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API InstanceMetadataOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceMetadataOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables HTTP endpoint for instance metadata.

              + */ + inline HttpEndpointEnum GetHttpEndpoint() const { return m_httpEndpoint; } + inline bool HttpEndpointHasBeenSet() const { return m_httpEndpointHasBeenSet; } + inline void SetHttpEndpoint(HttpEndpointEnum value) { m_httpEndpointHasBeenSet = true; m_httpEndpoint = value; } + inline InstanceMetadataOptionsRequest& WithHttpEndpoint(HttpEndpointEnum value) { SetHttpEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures IPv6 support for instance metadata HTTP protocol.

              + */ + inline HttpProtocolIpv6Enum GetHttpProtocolIpv6() const { return m_httpProtocolIpv6; } + inline bool HttpProtocolIpv6HasBeenSet() const { return m_httpProtocolIpv6HasBeenSet; } + inline void SetHttpProtocolIpv6(HttpProtocolIpv6Enum value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = value; } + inline InstanceMetadataOptionsRequest& WithHttpProtocolIpv6(HttpProtocolIpv6Enum value) { SetHttpProtocolIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

              Sets maximum number of network hops for metadata PUT responses.

              + */ + inline int GetHttpPutResponseHopLimit() const { return m_httpPutResponseHopLimit; } + inline bool HttpPutResponseHopLimitHasBeenSet() const { return m_httpPutResponseHopLimitHasBeenSet; } + inline void SetHttpPutResponseHopLimit(int value) { m_httpPutResponseHopLimitHasBeenSet = true; m_httpPutResponseHopLimit = value; } + inline InstanceMetadataOptionsRequest& WithHttpPutResponseHopLimit(int value) { SetHttpPutResponseHopLimit(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures token requirement for instance metadata retrieval.

              + */ + inline HttpTokensEnum GetHttpTokens() const { return m_httpTokens; } + inline bool HttpTokensHasBeenSet() const { return m_httpTokensHasBeenSet; } + inline void SetHttpTokens(HttpTokensEnum value) { m_httpTokensHasBeenSet = true; m_httpTokens = value; } + inline InstanceMetadataOptionsRequest& WithHttpTokens(HttpTokensEnum value) { SetHttpTokens(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables or disables instance metadata tags retrieval.

              + */ + inline InstanceMetadataTagsEnum GetInstanceMetadataTags() const { return m_instanceMetadataTags; } + inline bool InstanceMetadataTagsHasBeenSet() const { return m_instanceMetadataTagsHasBeenSet; } + inline void SetInstanceMetadataTags(InstanceMetadataTagsEnum value) { m_instanceMetadataTagsHasBeenSet = true; m_instanceMetadataTags = value; } + inline InstanceMetadataOptionsRequest& WithInstanceMetadataTags(InstanceMetadataTagsEnum value) { SetInstanceMetadataTags(value); return *this;} + ///@} + private: + + HttpEndpointEnum m_httpEndpoint{HttpEndpointEnum::NOT_SET}; + bool m_httpEndpointHasBeenSet = false; + + HttpProtocolIpv6Enum m_httpProtocolIpv6{HttpProtocolIpv6Enum::NOT_SET}; + bool m_httpProtocolIpv6HasBeenSet = false; + + int m_httpPutResponseHopLimit{0}; + bool m_httpPutResponseHopLimitHasBeenSet = false; + + HttpTokensEnum m_httpTokens{HttpTokensEnum::NOT_SET}; + bool m_httpTokensHasBeenSet = false; + + InstanceMetadataTagsEnum m_instanceMetadataTags{InstanceMetadataTagsEnum::NOT_SET}; + bool m_instanceMetadataTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h new file mode 100644 index 00000000000..1ecf57835df --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class InstanceMetadataTagsEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace InstanceMetadataTagsEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InstanceMetadataTagsEnum GetInstanceMetadataTagsEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInstanceMetadataTagsEnum(InstanceMetadataTagsEnum value); +} // namespace InstanceMetadataTagsEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h new file mode 100644 index 00000000000..42b3457a287 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h @@ -0,0 +1,358 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines network interface configuration for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class InstanceNetworkInterfaceSpecification + { + public: + AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification() = default; + AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables carrier IP address association.

              + */ + inline bool GetAssociateCarrierIpAddress() const { return m_associateCarrierIpAddress; } + inline bool AssociateCarrierIpAddressHasBeenSet() const { return m_associateCarrierIpAddressHasBeenSet; } + inline void SetAssociateCarrierIpAddress(bool value) { m_associateCarrierIpAddressHasBeenSet = true; m_associateCarrierIpAddress = value; } + inline InstanceNetworkInterfaceSpecification& WithAssociateCarrierIpAddress(bool value) { SetAssociateCarrierIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables public IP address assignment.

              + */ + inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; } + inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; } + inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; } + inline InstanceNetworkInterfaceSpecification& WithAssociatePublicIpAddress(bool value) { SetAssociatePublicIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures network connection tracking parameters.

              + */ + inline const ConnectionTrackingSpecificationRequest& GetConnectionTrackingSpecification() const { return m_connectionTrackingSpecification; } + inline bool ConnectionTrackingSpecificationHasBeenSet() const { return m_connectionTrackingSpecificationHasBeenSet; } + template + void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { m_connectionTrackingSpecificationHasBeenSet = true; m_connectionTrackingSpecification = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { SetConnectionTrackingSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Descriptive text for the network interface.

              + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Unique index for the network interface.

              + */ + inline int GetDeviceIndex() const { return m_deviceIndex; } + inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; } + inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; } + inline InstanceNetworkInterfaceSpecification& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures Elastic Network Adapter Scalable Reliable Datagram settings.

              + */ + inline const EnaSrdSpecificationRequest& GetEnaSrdSpecification() const { return m_enaSrdSpecification; } + inline bool EnaSrdSpecificationHasBeenSet() const { return m_enaSrdSpecificationHasBeenSet; } + template + void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) { m_enaSrdSpecificationHasBeenSet = true; m_enaSrdSpecification = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithEnaSrdSpecification(EnaSrdSpecificationT&& value) { SetEnaSrdSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies the type of network interface.

              + */ + inline InterfaceTypeEnum GetInterfaceType() const { return m_interfaceType; } + inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } + inline void SetInterfaceType(InterfaceTypeEnum value) { m_interfaceTypeHasBeenSet = true; m_interfaceType = value; } + inline InstanceNetworkInterfaceSpecification& WithInterfaceType(InterfaceTypeEnum value) { SetInterfaceType(value); return *this;} + ///@} + + ///@{ + /** + *

              IPv4 prefix configurations for the interface.

              + */ + inline const Aws::Vector& GetIpv4Prefixes() const { return m_ipv4Prefixes; } + inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; } + template> + void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv4Prefixes(Ipv4PrefixesT&& value) { SetIpv4Prefixes(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Number of IPv4 prefixes to assign.

              + */ + inline int GetIpv4PrefixCount() const { return m_ipv4PrefixCount; } + inline bool Ipv4PrefixCountHasBeenSet() const { return m_ipv4PrefixCountHasBeenSet; } + inline void SetIpv4PrefixCount(int value) { m_ipv4PrefixCountHasBeenSet = true; m_ipv4PrefixCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv4PrefixCount(int value) { SetIpv4PrefixCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Number of IPv6 addresses to assign.

              + */ + inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; } + inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; } + inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv6AddressCount(int value) { SetIpv6AddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Specific IPv6 addresses for the interface.

              + */ + inline const Aws::Vector& GetIpv6Addresses() const { return m_ipv6Addresses; } + inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } + template> + void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              IPv6 prefix configurations for the interface.

              + */ + inline const Aws::Vector& GetIpv6Prefixes() const { return m_ipv6Prefixes; } + inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; } + template> + void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv6Prefixes(Ipv6PrefixesT&& value) { SetIpv6Prefixes(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Number of IPv6 prefixes to assign.

              + */ + inline int GetIpv6PrefixCount() const { return m_ipv6PrefixCount; } + inline bool Ipv6PrefixCountHasBeenSet() const { return m_ipv6PrefixCountHasBeenSet; } + inline void SetIpv6PrefixCount(int value) { m_ipv6PrefixCountHasBeenSet = true; m_ipv6PrefixCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv6PrefixCount(int value) { SetIpv6PrefixCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Index of the network card for multiple network interfaces.

              + */ + inline int GetNetworkCardIndex() const { return m_networkCardIndex; } + inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; } + inline void SetNetworkCardIndex(int value) { m_networkCardIndexHasBeenSet = true; m_networkCardIndex = value; } + inline InstanceNetworkInterfaceSpecification& WithNetworkCardIndex(int value) { SetNetworkCardIndex(value); return *this;} + ///@} + + ///@{ + /** + *

              Unique identifier for the network interface.

              + */ + inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; } + inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } + template + void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Indicates the primary IPv6 configuration.

              + */ + inline bool GetPrimaryIpv6() const { return m_primaryIpv6; } + inline bool PrimaryIpv6HasBeenSet() const { return m_primaryIpv6HasBeenSet; } + inline void SetPrimaryIpv6(bool value) { m_primaryIpv6HasBeenSet = true; m_primaryIpv6 = value; } + inline InstanceNetworkInterfaceSpecification& WithPrimaryIpv6(bool value) { SetPrimaryIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

              Primary private IP address for the interface.

              + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              List of private IP addresses for the interface.

              + */ + inline const Aws::Vector& GetPrivateIpAddresses() const { return m_privateIpAddresses; } + inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; } + template> + void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Number of additional private IP addresses to assign.

              + */ + inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; } + inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; } + inline void SetSecondaryPrivateIpAddressCount(int value) { m_secondaryPrivateIpAddressCountHasBeenSet = true; m_secondaryPrivateIpAddressCount = value; } + inline InstanceNetworkInterfaceSpecification& WithSecondaryPrivateIpAddressCount(int value) { SetSecondaryPrivateIpAddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Security groups associated with the network interface.

              + */ + inline const Aws::Vector& GetGroups() const { return m_groups; } + inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; } + template> + void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithGroups(GroupsT&& value) { SetGroups(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Subnet identifier for the network interface.

              + */ + inline const Aws::String& GetSubnetId() const { return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + template + void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward(value)); return *this;} + ///@} + private: + + bool m_associateCarrierIpAddress{false}; + bool m_associateCarrierIpAddressHasBeenSet = false; + + bool m_associatePublicIpAddress{false}; + bool m_associatePublicIpAddressHasBeenSet = false; + + ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification; + bool m_connectionTrackingSpecificationHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + int m_deviceIndex{0}; + bool m_deviceIndexHasBeenSet = false; + + EnaSrdSpecificationRequest m_enaSrdSpecification; + bool m_enaSrdSpecificationHasBeenSet = false; + + InterfaceTypeEnum m_interfaceType{InterfaceTypeEnum::NOT_SET}; + bool m_interfaceTypeHasBeenSet = false; + + Aws::Vector m_ipv4Prefixes; + bool m_ipv4PrefixesHasBeenSet = false; + + int m_ipv4PrefixCount{0}; + bool m_ipv4PrefixCountHasBeenSet = false; + + int m_ipv6AddressCount{0}; + bool m_ipv6AddressCountHasBeenSet = false; + + Aws::Vector m_ipv6Addresses; + bool m_ipv6AddressesHasBeenSet = false; + + Aws::Vector m_ipv6Prefixes; + bool m_ipv6PrefixesHasBeenSet = false; + + int m_ipv6PrefixCount{0}; + bool m_ipv6PrefixCountHasBeenSet = false; + + int m_networkCardIndex{0}; + bool m_networkCardIndexHasBeenSet = false; + + Aws::String m_networkInterfaceId; + bool m_networkInterfaceIdHasBeenSet = false; + + bool m_primaryIpv6{false}; + bool m_primaryIpv6HasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + + Aws::Vector m_privateIpAddresses; + bool m_privateIpAddressesHasBeenSet = false; + + int m_secondaryPrivateIpAddressCount{0}; + bool m_secondaryPrivateIpAddressCountHasBeenSet = false; + + Aws::Vector m_groups; + bool m_groupsHasBeenSet = false; + + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h new file mode 100644 index 00000000000..a3106bf5122 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures network performance settings for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class InstanceNetworkPerformanceOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API InstanceNetworkPerformanceOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API InstanceNetworkPerformanceOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceNetworkPerformanceOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Defines bandwidth allocation strategy for network interfaces.

              + */ + inline BandwidthWeightingEnum GetBandwidthWeighting() const { return m_bandwidthWeighting; } + inline bool BandwidthWeightingHasBeenSet() const { return m_bandwidthWeightingHasBeenSet; } + inline void SetBandwidthWeighting(BandwidthWeightingEnum value) { m_bandwidthWeightingHasBeenSet = true; m_bandwidthWeighting = value; } + inline InstanceNetworkPerformanceOptionsRequest& WithBandwidthWeighting(BandwidthWeightingEnum value) { SetBandwidthWeighting(value); return *this;} + ///@} + private: + + BandwidthWeightingEnum m_bandwidthWeighting{BandwidthWeightingEnum::NOT_SET}; + bool m_bandwidthWeightingHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h new file mode 100644 index 00000000000..40b1a67ec24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Provides details about a specific WorkSpace Instance type.

              See + * Also:

              AWS + * API Reference

              + */ + class InstanceTypeInfo + { + public: + AWS_WORKSPACESINSTANCES_API InstanceTypeInfo() = default; + AWS_WORKSPACESINSTANCES_API InstanceTypeInfo(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InstanceTypeInfo& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique identifier for the WorkSpace Instance type.

              + */ + inline const Aws::String& GetInstanceType() const { return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + template + void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward(value); } + template + InstanceTypeInfo& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h new file mode 100644 index 00000000000..51851982625 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class InterfaceTypeEnum + { + NOT_SET, + interface, + efa, + efa_only + }; + +namespace InterfaceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InterfaceTypeEnum GetInterfaceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInterfaceTypeEnum(InterfaceTypeEnum value); +} // namespace InterfaceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h new file mode 100644 index 00000000000..5a2b95bd47e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Indicates an unexpected server-side error occurred.

              See Also:

              + * AWS + * API Reference

              + */ + class InternalServerException + { + public: + AWS_WORKSPACESINSTANCES_API InternalServerException() = default; + AWS_WORKSPACESINSTANCES_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Description of the internal server error.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + InternalServerException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Recommended wait time before retrying the request.

              + */ + inline int GetRetryAfterSeconds() const { return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds{0}; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h new file mode 100644 index 00000000000..bf47d33e736 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies IPv4 prefix configuration for network interfaces.

              See + * Also:

              AWS + * API Reference

              + */ + class Ipv4PrefixSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API Ipv4PrefixSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API Ipv4PrefixSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Ipv4PrefixSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specific IPv4 prefix for network interface configuration.

              + */ + inline const Aws::String& GetIpv4Prefix() const { return m_ipv4Prefix; } + inline bool Ipv4PrefixHasBeenSet() const { return m_ipv4PrefixHasBeenSet; } + template + void SetIpv4Prefix(Ipv4PrefixT&& value) { m_ipv4PrefixHasBeenSet = true; m_ipv4Prefix = std::forward(value); } + template + Ipv4PrefixSpecificationRequest& WithIpv4Prefix(Ipv4PrefixT&& value) { SetIpv4Prefix(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ipv4Prefix; + bool m_ipv4PrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h new file mode 100644 index 00000000000..faeb107f691 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies IPv6 prefix configuration for network interfaces.

              See + * Also:

              AWS + * API Reference

              + */ + class Ipv6PrefixSpecificationRequest + { + public: + AWS_WORKSPACESINSTANCES_API Ipv6PrefixSpecificationRequest() = default; + AWS_WORKSPACESINSTANCES_API Ipv6PrefixSpecificationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Ipv6PrefixSpecificationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specific IPv6 prefix for network interface configuration.

              + */ + inline const Aws::String& GetIpv6Prefix() const { return m_ipv6Prefix; } + inline bool Ipv6PrefixHasBeenSet() const { return m_ipv6PrefixHasBeenSet; } + template + void SetIpv6Prefix(Ipv6PrefixT&& value) { m_ipv6PrefixHasBeenSet = true; m_ipv6Prefix = std::forward(value); } + template + Ipv6PrefixSpecificationRequest& WithIpv6Prefix(Ipv6PrefixT&& value) { SetIpv6Prefix(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ipv6Prefix; + bool m_ipv6PrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h new file mode 100644 index 00000000000..d8cce12d4d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies license configuration for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class LicenseConfigurationRequest + { + public: + AWS_WORKSPACESINSTANCES_API LicenseConfigurationRequest() = default; + AWS_WORKSPACESINSTANCES_API LicenseConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API LicenseConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              ARN of the license configuration for the WorkSpace Instance.

              + */ + inline const Aws::String& GetLicenseConfigurationArn() const { return m_licenseConfigurationArn; } + inline bool LicenseConfigurationArnHasBeenSet() const { return m_licenseConfigurationArnHasBeenSet; } + template + void SetLicenseConfigurationArn(LicenseConfigurationArnT&& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = std::forward(value); } + template + LicenseConfigurationRequest& WithLicenseConfigurationArn(LicenseConfigurationArnT&& value) { SetLicenseConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_licenseConfigurationArn; + bool m_licenseConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h new file mode 100644 index 00000000000..8396589b6cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines input parameters for retrieving supported WorkSpaces Instances + * instance types.

              See Also:

              AWS + * API Reference

              + */ + class ListInstanceTypesRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListInstanceTypesRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListInstanceTypes"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Maximum number of instance types to return in a single API call. Enables + * pagination of instance type results.

              + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListInstanceTypesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

              Pagination token for retrieving subsequent pages of instance type + * results.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInstanceTypesRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h new file mode 100644 index 00000000000..361067b73f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Contains the list of instance types supported by WorkSpaces + * Instances.

              See Also:

              AWS + * API Reference

              + */ + class ListInstanceTypesResult + { + public: + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult() = default; + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Collection of supported instance types for WorkSpaces Instances.

              + */ + inline const Aws::Vector& GetInstanceTypes() const { return m_instanceTypes; } + template> + void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes = std::forward(value); } + template> + ListInstanceTypesResult& WithInstanceTypes(InstanceTypesT&& value) { SetInstanceTypes(std::forward(value)); return *this;} + template + ListInstanceTypesResult& AddInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Token for retrieving additional instance types if the result set is + * paginated.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInstanceTypesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListInstanceTypesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_instanceTypes; + bool m_instanceTypesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h new file mode 100644 index 00000000000..6d6298b65e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines input parameters for retrieving supported WorkSpaces Instances + * regions.

              See Also:

              AWS + * API Reference

              + */ + class ListRegionsRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListRegionsRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListRegions"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Maximum number of regions to return in a single API call. Enables pagination + * of region results.

              + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListRegionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

              Pagination token for retrieving subsequent pages of region results.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRegionsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h new file mode 100644 index 00000000000..15a80ebfc58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Contains the list of supported AWS regions for WorkSpaces + * Instances.

              See Also:

              AWS + * API Reference

              + */ + class ListRegionsResult + { + public: + AWS_WORKSPACESINSTANCES_API ListRegionsResult() = default; + AWS_WORKSPACESINSTANCES_API ListRegionsResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListRegionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Collection of AWS regions supported by WorkSpaces Instances.

              + */ + inline const Aws::Vector& GetRegions() const { return m_regions; } + template> + void SetRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions = std::forward(value); } + template> + ListRegionsResult& WithRegions(RegionsT&& value) { SetRegions(std::forward(value)); return *this;} + template + ListRegionsResult& AddRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Token for retrieving additional regions if the result set is paginated.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRegionsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListRegionsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_regions; + bool m_regionsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..3f70d0ae3c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies the WorkSpace Instance to retrieve tags for.

              See + * Also:

              AWS + * API Reference

              + */ + class ListTagsForResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListTagsForResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique identifier of the WorkSpace Instance.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + ListTagsForResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..4dac53563b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Returns the list of tags for the specified WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class ListTagsForResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult() = default; + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Collection of tags associated with the WorkSpace Instance.

              + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + ListTagsForResourceResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + ListTagsForResourceResult& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListTagsForResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h new file mode 100644 index 00000000000..d624aeba99f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines filters and pagination parameters for retrieving WorkSpaces + * Instances.

              See Also:

              AWS + * API Reference

              + */ + class ListWorkspaceInstancesRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListWorkspaceInstances"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Filter WorkSpaces Instances by their current provisioning states.

              + */ + inline const Aws::Vector& GetProvisionStates() const { return m_provisionStates; } + inline bool ProvisionStatesHasBeenSet() const { return m_provisionStatesHasBeenSet; } + template> + void SetProvisionStates(ProvisionStatesT&& value) { m_provisionStatesHasBeenSet = true; m_provisionStates = std::forward(value); } + template> + ListWorkspaceInstancesRequest& WithProvisionStates(ProvisionStatesT&& value) { SetProvisionStates(std::forward(value)); return *this;} + inline ListWorkspaceInstancesRequest& AddProvisionStates(ProvisionStateEnum value) { m_provisionStatesHasBeenSet = true; m_provisionStates.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

              Maximum number of WorkSpaces Instances to return in a single response.

              + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListWorkspaceInstancesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

              Pagination token for retrieving subsequent pages of WorkSpaces Instances.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListWorkspaceInstancesRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_provisionStates; + bool m_provisionStatesHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h new file mode 100644 index 00000000000..b1470761e2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Contains the list of WorkSpaces Instances matching the specified + * criteria.

              See Also:

              AWS + * API Reference

              + */ + class ListWorkspaceInstancesResult + { + public: + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult() = default; + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

              Collection of WorkSpaces Instances returned by the query.

              + */ + inline const Aws::Vector& GetWorkspaceInstances() const { return m_workspaceInstances; } + template> + void SetWorkspaceInstances(WorkspaceInstancesT&& value) { m_workspaceInstancesHasBeenSet = true; m_workspaceInstances = std::forward(value); } + template> + ListWorkspaceInstancesResult& WithWorkspaceInstances(WorkspaceInstancesT&& value) { SetWorkspaceInstances(std::forward(value)); return *this;} + template + ListWorkspaceInstancesResult& AddWorkspaceInstances(WorkspaceInstancesT&& value) { m_workspaceInstancesHasBeenSet = true; m_workspaceInstances.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Token for retrieving additional WorkSpaces Instances if the result set is + * paginated.

              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListWorkspaceInstancesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListWorkspaceInstancesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_workspaceInstances; + bool m_workspaceInstancesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h new file mode 100644 index 00000000000..10ad0c91969 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h @@ -0,0 +1,550 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines comprehensive configuration for a managed WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class ManagedInstanceRequest + { + public: + AWS_WORKSPACESINSTANCES_API ManagedInstanceRequest() = default; + AWS_WORKSPACESINSTANCES_API ManagedInstanceRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ManagedInstanceRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Configures block device mappings for storage.

              + */ + inline const Aws::Vector& GetBlockDeviceMappings() const { return m_blockDeviceMappings; } + inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; } + template> + void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward(value); } + template> + ManagedInstanceRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Specifies capacity reservation preferences.

              + */ + inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; } + inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; } + template + void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward(value); } + template + ManagedInstanceRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures CPU-specific settings.

              + */ + inline const CpuOptionsRequest& GetCpuOptions() const { return m_cpuOptions; } + inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; } + template + void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward(value); } + template + ManagedInstanceRequest& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Defines CPU credit configuration for burstable instances.

              + */ + inline const CreditSpecificationRequest& GetCreditSpecification() const { return m_creditSpecification; } + inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; } + template + void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::forward(value); } + template + ManagedInstanceRequest& WithCreditSpecification(CreditSpecificationT&& value) { SetCreditSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Prevents API-initiated instance stop.

              + */ + inline bool GetDisableApiStop() const { return m_disableApiStop; } + inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; } + inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; } + inline ManagedInstanceRequest& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables optimized EBS performance.

              + */ + inline bool GetEbsOptimized() const { return m_ebsOptimized; } + inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } + inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } + inline ManagedInstanceRequest& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables primary IPv6 address configuration.

              + */ + inline bool GetEnablePrimaryIpv6() const { return m_enablePrimaryIpv6; } + inline bool EnablePrimaryIpv6HasBeenSet() const { return m_enablePrimaryIpv6HasBeenSet; } + inline void SetEnablePrimaryIpv6(bool value) { m_enablePrimaryIpv6HasBeenSet = true; m_enablePrimaryIpv6 = value; } + inline ManagedInstanceRequest& WithEnablePrimaryIpv6(bool value) { SetEnablePrimaryIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

              Configures AWS Nitro Enclave settings.

              + */ + inline const EnclaveOptionsRequest& GetEnclaveOptions() const { return m_enclaveOptions; } + inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; } + template + void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward(value); } + template + ManagedInstanceRequest& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures instance hibernation capabilities.

              + */ + inline const HibernationOptionsRequest& GetHibernationOptions() const { return m_hibernationOptions; } + inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; } + template + void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward(value); } + template + ManagedInstanceRequest& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies IAM instance profile configuration.

              + */ + inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; } + inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } + template + void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward(value); } + template + ManagedInstanceRequest& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifies the Amazon Machine Image (AMI) for the instance.

              + */ + inline const Aws::String& GetImageId() const { return m_imageId; } + inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } + template + void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward(value); } + template + ManagedInstanceRequest& WithImageId(ImageIdT&& value) { SetImageId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures marketplace-specific deployment options.

              + */ + inline const InstanceMarketOptionsRequest& GetInstanceMarketOptions() const { return m_instanceMarketOptions; } + inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; } + template + void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::forward(value); } + template + ManagedInstanceRequest& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) { SetInstanceMarketOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies the WorkSpace Instance type.

              + */ + inline const Aws::String& GetInstanceType() const { return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + template + void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward(value); } + template + ManagedInstanceRequest& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures specific IPv6 addresses.

              + */ + inline const Aws::Vector& GetIpv6Addresses() const { return m_ipv6Addresses; } + inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } + template> + void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward(value); } + template> + ManagedInstanceRequest& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Specifies number of IPv6 addresses to assign.

              + */ + inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; } + inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; } + inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; } + inline ManagedInstanceRequest& WithIpv6AddressCount(int value) { SetIpv6AddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

              Identifies the kernel for the instance.

              + */ + inline const Aws::String& GetKernelId() const { return m_kernelId; } + inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } + template + void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward(value); } + template + ManagedInstanceRequest& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies the key pair for instance access.

              + */ + inline const Aws::String& GetKeyName() const { return m_keyName; } + inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } + template + void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward(value); } + template + ManagedInstanceRequest& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures license-related settings.

              + */ + inline const Aws::Vector& GetLicenseSpecifications() const { return m_licenseSpecifications; } + inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; } + template> + void SetLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::forward(value); } + template> + ManagedInstanceRequest& WithLicenseSpecifications(LicenseSpecificationsT&& value) { SetLicenseSpecifications(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Defines automatic maintenance settings.

              + */ + inline const InstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const { return m_maintenanceOptions; } + inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; } + template + void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward(value); } + template + ManagedInstanceRequest& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures instance metadata service settings.

              + */ + inline const InstanceMetadataOptionsRequest& GetMetadataOptions() const { return m_metadataOptions; } + inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } + template + void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward(value); } + template + ManagedInstanceRequest& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Enables or disables detailed instance monitoring.

              + */ + inline const RunInstancesMonitoringEnabled& GetMonitoring() const { return m_monitoring; } + inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; } + template + void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward(value); } + template + ManagedInstanceRequest& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures network interface settings.

              + */ + inline const Aws::Vector& GetNetworkInterfaces() const { return m_networkInterfaces; } + inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } + template> + void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward(value); } + template> + ManagedInstanceRequest& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Defines network performance configuration.

              + */ + inline const InstanceNetworkPerformanceOptionsRequest& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; } + inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; } + template + void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet = true; m_networkPerformanceOptions = std::forward(value); } + template + ManagedInstanceRequest& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { SetNetworkPerformanceOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies instance placement preferences.

              + */ + inline const Placement& GetPlacement() const { return m_placement; } + inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; } + template + void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward(value); } + template + ManagedInstanceRequest& WithPlacement(PlacementT&& value) { SetPlacement(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures private DNS name settings.

              + */ + inline const PrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; } + inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; } + template + void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward(value); } + template + ManagedInstanceRequest& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies the primary private IP address.

              + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + ManagedInstanceRequest& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifies the ramdisk for the instance.

              + */ + inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; } + inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; } + template + void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward(value); } + template + ManagedInstanceRequest& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies security group identifiers.

              + */ + inline const Aws::Vector& GetSecurityGroupIds() const { return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + template> + void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward(value); } + template> + ManagedInstanceRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Configures security group settings.

              + */ + inline const Aws::Vector& GetSecurityGroups() const { return m_securityGroups; } + inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } + template> + void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward(value); } + template> + ManagedInstanceRequest& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Identifies the subnet for the instance.

              + */ + inline const Aws::String& GetSubnetId() const { return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + template + void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward(value); } + template + ManagedInstanceRequest& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Configures resource tagging specifications.

              + */ + inline const Aws::Vector& GetTagSpecifications() const { return m_tagSpecifications; } + inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } + template> + void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward(value); } + template> + ManagedInstanceRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

              Provides custom initialization data for the instance.

              + */ + inline const Aws::String& GetUserData() const { return m_userData; } + inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; } + template + void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward(value); } + template + ManagedInstanceRequest& WithUserData(UserDataT&& value) { SetUserData(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_blockDeviceMappings; + bool m_blockDeviceMappingsHasBeenSet = false; + + CapacityReservationSpecification m_capacityReservationSpecification; + bool m_capacityReservationSpecificationHasBeenSet = false; + + CpuOptionsRequest m_cpuOptions; + bool m_cpuOptionsHasBeenSet = false; + + CreditSpecificationRequest m_creditSpecification; + bool m_creditSpecificationHasBeenSet = false; + + bool m_disableApiStop{false}; + bool m_disableApiStopHasBeenSet = false; + + bool m_ebsOptimized{false}; + bool m_ebsOptimizedHasBeenSet = false; + + bool m_enablePrimaryIpv6{false}; + bool m_enablePrimaryIpv6HasBeenSet = false; + + EnclaveOptionsRequest m_enclaveOptions; + bool m_enclaveOptionsHasBeenSet = false; + + HibernationOptionsRequest m_hibernationOptions; + bool m_hibernationOptionsHasBeenSet = false; + + IamInstanceProfileSpecification m_iamInstanceProfile; + bool m_iamInstanceProfileHasBeenSet = false; + + Aws::String m_imageId; + bool m_imageIdHasBeenSet = false; + + InstanceMarketOptionsRequest m_instanceMarketOptions; + bool m_instanceMarketOptionsHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::Vector m_ipv6Addresses; + bool m_ipv6AddressesHasBeenSet = false; + + int m_ipv6AddressCount{0}; + bool m_ipv6AddressCountHasBeenSet = false; + + Aws::String m_kernelId; + bool m_kernelIdHasBeenSet = false; + + Aws::String m_keyName; + bool m_keyNameHasBeenSet = false; + + Aws::Vector m_licenseSpecifications; + bool m_licenseSpecificationsHasBeenSet = false; + + InstanceMaintenanceOptionsRequest m_maintenanceOptions; + bool m_maintenanceOptionsHasBeenSet = false; + + InstanceMetadataOptionsRequest m_metadataOptions; + bool m_metadataOptionsHasBeenSet = false; + + RunInstancesMonitoringEnabled m_monitoring; + bool m_monitoringHasBeenSet = false; + + Aws::Vector m_networkInterfaces; + bool m_networkInterfacesHasBeenSet = false; + + InstanceNetworkPerformanceOptionsRequest m_networkPerformanceOptions; + bool m_networkPerformanceOptionsHasBeenSet = false; + + Placement m_placement; + bool m_placementHasBeenSet = false; + + PrivateDnsNameOptionsRequest m_privateDnsNameOptions; + bool m_privateDnsNameOptionsHasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + + Aws::String m_ramdiskId; + bool m_ramdiskIdHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + + Aws::Vector m_securityGroups; + bool m_securityGroupsHasBeenSet = false; + + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + + Aws::Vector m_tagSpecifications; + bool m_tagSpecificationsHasBeenSet = false; + + Aws::String m_userData; + bool m_userDataHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h new file mode 100644 index 00000000000..d69f19ddbee --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class MarketTypeEnum + { + NOT_SET, + spot, + capacity_block + }; + +namespace MarketTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API MarketTypeEnum GetMarketTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForMarketTypeEnum(MarketTypeEnum value); +} // namespace MarketTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h new file mode 100644 index 00000000000..9e91f6245b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h @@ -0,0 +1,162 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines instance placement configuration for WorkSpace + * Instance.

              See Also:

              AWS + * API Reference

              + */ + class Placement + { + public: + AWS_WORKSPACESINSTANCES_API Placement() = default; + AWS_WORKSPACESINSTANCES_API Placement(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Placement& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specifies host affinity for dedicated instances.

              + */ + inline const Aws::String& GetAffinity() const { return m_affinity; } + inline bool AffinityHasBeenSet() const { return m_affinityHasBeenSet; } + template + void SetAffinity(AffinityT&& value) { m_affinityHasBeenSet = true; m_affinity = std::forward(value); } + template + Placement& WithAffinity(AffinityT&& value) { SetAffinity(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifies the specific AWS availability zone.

              + */ + inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + template + void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward(value); } + template + Placement& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Unique identifier for placement group.

              + */ + inline const Aws::String& GetGroupId() const { return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + template + void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet = true; m_groupId = std::forward(value); } + template + Placement& WithGroupId(GroupIdT&& value) { SetGroupId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Name of the placement group.

              + */ + inline const Aws::String& GetGroupName() const { return m_groupName; } + inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } + template + void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward(value); } + template + Placement& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifies the specific dedicated host.

              + */ + inline const Aws::String& GetHostId() const { return m_hostId; } + inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; } + template + void SetHostId(HostIdT&& value) { m_hostIdHasBeenSet = true; m_hostId = std::forward(value); } + template + Placement& WithHostId(HostIdT&& value) { SetHostId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              ARN of the host resource group.

              + */ + inline const Aws::String& GetHostResourceGroupArn() const { return m_hostResourceGroupArn; } + inline bool HostResourceGroupArnHasBeenSet() const { return m_hostResourceGroupArnHasBeenSet; } + template + void SetHostResourceGroupArn(HostResourceGroupArnT&& value) { m_hostResourceGroupArnHasBeenSet = true; m_hostResourceGroupArn = std::forward(value); } + template + Placement& WithHostResourceGroupArn(HostResourceGroupArnT&& value) { SetHostResourceGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specifies partition number for partition placement groups.

              + */ + inline int GetPartitionNumber() const { return m_partitionNumber; } + inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; } + inline void SetPartitionNumber(int value) { m_partitionNumberHasBeenSet = true; m_partitionNumber = value; } + inline Placement& WithPartitionNumber(int value) { SetPartitionNumber(value); return *this;} + ///@} + + ///@{ + /** + *

              Defines instance tenancy configuration.

              + */ + inline TenancyEnum GetTenancy() const { return m_tenancy; } + inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; } + inline void SetTenancy(TenancyEnum value) { m_tenancyHasBeenSet = true; m_tenancy = value; } + inline Placement& WithTenancy(TenancyEnum value) { SetTenancy(value); return *this;} + ///@} + private: + + Aws::String m_affinity; + bool m_affinityHasBeenSet = false; + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + Aws::String m_groupName; + bool m_groupNameHasBeenSet = false; + + Aws::String m_hostId; + bool m_hostIdHasBeenSet = false; + + Aws::String m_hostResourceGroupArn; + bool m_hostResourceGroupArnHasBeenSet = false; + + int m_partitionNumber{0}; + bool m_partitionNumberHasBeenSet = false; + + TenancyEnum m_tenancy{TenancyEnum::NOT_SET}; + bool m_tenancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h new file mode 100644 index 00000000000..1bee0adde2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures private DNS name settings for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class PrivateDnsNameOptionsRequest + { + public: + AWS_WORKSPACESINSTANCES_API PrivateDnsNameOptionsRequest() = default; + AWS_WORKSPACESINSTANCES_API PrivateDnsNameOptionsRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API PrivateDnsNameOptionsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Specifies the type of hostname configuration.

              + */ + inline HostnameTypeEnum GetHostnameType() const { return m_hostnameType; } + inline bool HostnameTypeHasBeenSet() const { return m_hostnameTypeHasBeenSet; } + inline void SetHostnameType(HostnameTypeEnum value) { m_hostnameTypeHasBeenSet = true; m_hostnameType = value; } + inline PrivateDnsNameOptionsRequest& WithHostnameType(HostnameTypeEnum value) { SetHostnameType(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables DNS A record for resource name resolution.

              + */ + inline bool GetEnableResourceNameDnsARecord() const { return m_enableResourceNameDnsARecord; } + inline bool EnableResourceNameDnsARecordHasBeenSet() const { return m_enableResourceNameDnsARecordHasBeenSet; } + inline void SetEnableResourceNameDnsARecord(bool value) { m_enableResourceNameDnsARecordHasBeenSet = true; m_enableResourceNameDnsARecord = value; } + inline PrivateDnsNameOptionsRequest& WithEnableResourceNameDnsARecord(bool value) { SetEnableResourceNameDnsARecord(value); return *this;} + ///@} + + ///@{ + /** + *

              Enables DNS AAAA record for resource name resolution.

              + */ + inline bool GetEnableResourceNameDnsAAAARecord() const { return m_enableResourceNameDnsAAAARecord; } + inline bool EnableResourceNameDnsAAAARecordHasBeenSet() const { return m_enableResourceNameDnsAAAARecordHasBeenSet; } + inline void SetEnableResourceNameDnsAAAARecord(bool value) { m_enableResourceNameDnsAAAARecordHasBeenSet = true; m_enableResourceNameDnsAAAARecord = value; } + inline PrivateDnsNameOptionsRequest& WithEnableResourceNameDnsAAAARecord(bool value) { SetEnableResourceNameDnsAAAARecord(value); return *this;} + ///@} + private: + + HostnameTypeEnum m_hostnameType{HostnameTypeEnum::NOT_SET}; + bool m_hostnameTypeHasBeenSet = false; + + bool m_enableResourceNameDnsARecord{false}; + bool m_enableResourceNameDnsARecordHasBeenSet = false; + + bool m_enableResourceNameDnsAAAARecord{false}; + bool m_enableResourceNameDnsAAAARecordHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h new file mode 100644 index 00000000000..bd2632bb667 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines private IP address configuration for network interface.

              See + * Also:

              AWS + * API Reference

              + */ + class PrivateIpAddressSpecification + { + public: + AWS_WORKSPACESINSTANCES_API PrivateIpAddressSpecification() = default; + AWS_WORKSPACESINSTANCES_API PrivateIpAddressSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API PrivateIpAddressSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Indicates if this is the primary private IP address.

              + */ + inline bool GetPrimary() const { return m_primary; } + inline bool PrimaryHasBeenSet() const { return m_primaryHasBeenSet; } + inline void SetPrimary(bool value) { m_primaryHasBeenSet = true; m_primary = value; } + inline PrivateIpAddressSpecification& WithPrimary(bool value) { SetPrimary(value); return *this;} + ///@} + + ///@{ + /** + *

              Specific private IP address for the network interface.

              + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + PrivateIpAddressSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + private: + + bool m_primary{false}; + bool m_primaryHasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h new file mode 100644 index 00000000000..f855165990a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ProvisionStateEnum + { + NOT_SET, + ALLOCATING, + ALLOCATED, + DEALLOCATING, + DEALLOCATED, + ERROR_ALLOCATING, + ERROR_DEALLOCATING + }; + +namespace ProvisionStateEnumMapper +{ +AWS_WORKSPACESINSTANCES_API ProvisionStateEnum GetProvisionStateEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForProvisionStateEnum(ProvisionStateEnum value); +} // namespace ProvisionStateEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h new file mode 100644 index 00000000000..36232603b89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents an AWS region supported by WorkSpaces Instances.

              See + * Also:

              AWS + * API Reference

              + */ + class Region + { + public: + AWS_WORKSPACESINSTANCES_API Region() = default; + AWS_WORKSPACESINSTANCES_API Region(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Region& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Name of the AWS region.

              + */ + inline const Aws::String& GetRegionName() const { return m_regionName; } + inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } + template + void SetRegionName(RegionNameT&& value) { m_regionNameHasBeenSet = true; m_regionName = std::forward(value); } + template + Region& WithRegionName(RegionNameT&& value) { SetRegionName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_regionName; + bool m_regionNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..638ec2b2b16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Indicates the requested resource could not be found.

              See Also:

              + * AWS + * API Reference

              + */ + class ResourceNotFoundException + { + public: + AWS_WORKSPACESINSTANCES_API ResourceNotFoundException() = default; + AWS_WORKSPACESINSTANCES_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Details about the missing resource.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ResourceNotFoundException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifier of the resource that was not found.

              + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ResourceNotFoundException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Type of the resource that was not found.

              + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ResourceNotFoundException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h new file mode 100644 index 00000000000..f5678f32af9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ResourceTypeEnum + { + NOT_SET, + instance, + volume, + spot_instances_request, + network_interface + }; + +namespace ResourceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API ResourceTypeEnum GetResourceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForResourceTypeEnum(ResourceTypeEnum value); +} // namespace ResourceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h new file mode 100644 index 00000000000..990ff9bb1d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Configures detailed monitoring for WorkSpace Instance.

              See + * Also:

              AWS + * API Reference

              + */ + class RunInstancesMonitoringEnabled + { + public: + AWS_WORKSPACESINSTANCES_API RunInstancesMonitoringEnabled() = default; + AWS_WORKSPACESINSTANCES_API RunInstancesMonitoringEnabled(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API RunInstancesMonitoringEnabled& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Enables or disables detailed instance monitoring.

              + */ + inline bool GetEnabled() const { return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline RunInstancesMonitoringEnabled& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled{false}; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..b7d9b57e47d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Indicates that a service quota has been exceeded.

              See Also:

              + * AWS + * API Reference

              + */ + class ServiceQuotaExceededException + { + public: + AWS_WORKSPACESINSTANCES_API ServiceQuotaExceededException() = default; + AWS_WORKSPACESINSTANCES_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Description of the quota limitation.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ServiceQuotaExceededException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Identifier of the resource related to the quota.

              + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Type of resource related to the quota.

              + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Code identifying the service with the quota limitation.

              + */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ServiceQuotaExceededException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specific code for the exceeded quota.

              + */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ServiceQuotaExceededException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h new file mode 100644 index 00000000000..940ccc993a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class SpotInstanceTypeEnum + { + NOT_SET, + one_time, + persistent + }; + +namespace SpotInstanceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API SpotInstanceTypeEnum GetSpotInstanceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForSpotInstanceTypeEnum(SpotInstanceTypeEnum value); +} // namespace SpotInstanceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h new file mode 100644 index 00000000000..8e9251216aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines configuration for spot instance deployment.

              See Also:

              + * AWS + * API Reference

              + */ + class SpotMarketOptions + { + public: + AWS_WORKSPACESINSTANCES_API SpotMarketOptions() = default; + AWS_WORKSPACESINSTANCES_API SpotMarketOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API SpotMarketOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Duration of spot instance block reservation.

              + */ + inline int GetBlockDurationMinutes() const { return m_blockDurationMinutes; } + inline bool BlockDurationMinutesHasBeenSet() const { return m_blockDurationMinutesHasBeenSet; } + inline void SetBlockDurationMinutes(int value) { m_blockDurationMinutesHasBeenSet = true; m_blockDurationMinutes = value; } + inline SpotMarketOptions& WithBlockDurationMinutes(int value) { SetBlockDurationMinutes(value); return *this;} + ///@} + + ///@{ + /** + *

              Specifies behavior when spot instance is interrupted.

              + */ + inline InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehavior() const { return m_instanceInterruptionBehavior; } + inline bool InstanceInterruptionBehaviorHasBeenSet() const { return m_instanceInterruptionBehaviorHasBeenSet; } + inline void SetInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value) { m_instanceInterruptionBehaviorHasBeenSet = true; m_instanceInterruptionBehavior = value; } + inline SpotMarketOptions& WithInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value) { SetInstanceInterruptionBehavior(value); return *this;} + ///@} + + ///@{ + /** + *

              Maximum hourly price for spot instance.

              + */ + inline const Aws::String& GetMaxPrice() const { return m_maxPrice; } + inline bool MaxPriceHasBeenSet() const { return m_maxPriceHasBeenSet; } + template + void SetMaxPrice(MaxPriceT&& value) { m_maxPriceHasBeenSet = true; m_maxPrice = std::forward(value); } + template + SpotMarketOptions& WithMaxPrice(MaxPriceT&& value) { SetMaxPrice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Defines the type of spot instance request.

              + */ + inline SpotInstanceTypeEnum GetSpotInstanceType() const { return m_spotInstanceType; } + inline bool SpotInstanceTypeHasBeenSet() const { return m_spotInstanceTypeHasBeenSet; } + inline void SetSpotInstanceType(SpotInstanceTypeEnum value) { m_spotInstanceTypeHasBeenSet = true; m_spotInstanceType = value; } + inline SpotMarketOptions& WithSpotInstanceType(SpotInstanceTypeEnum value) { SetSpotInstanceType(value); return *this;} + ///@} + + ///@{ + /** + *

              Timestamp until which spot instance request is valid.

              + */ + inline const Aws::Utils::DateTime& GetValidUntilUtc() const { return m_validUntilUtc; } + inline bool ValidUntilUtcHasBeenSet() const { return m_validUntilUtcHasBeenSet; } + template + void SetValidUntilUtc(ValidUntilUtcT&& value) { m_validUntilUtcHasBeenSet = true; m_validUntilUtc = std::forward(value); } + template + SpotMarketOptions& WithValidUntilUtc(ValidUntilUtcT&& value) { SetValidUntilUtc(std::forward(value)); return *this;} + ///@} + private: + + int m_blockDurationMinutes{0}; + bool m_blockDurationMinutesHasBeenSet = false; + + InstanceInterruptionBehaviorEnum m_instanceInterruptionBehavior{InstanceInterruptionBehaviorEnum::NOT_SET}; + bool m_instanceInterruptionBehaviorHasBeenSet = false; + + Aws::String m_maxPrice; + bool m_maxPriceHasBeenSet = false; + + SpotInstanceTypeEnum m_spotInstanceType{SpotInstanceTypeEnum::NOT_SET}; + bool m_spotInstanceTypeHasBeenSet = false; + + Aws::Utils::DateTime m_validUntilUtc{}; + bool m_validUntilUtcHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h new file mode 100644 index 00000000000..9980fe9d97c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents a key-value metadata tag.

              See Also:

              AWS + * API Reference

              + */ + class Tag + { + public: + AWS_WORKSPACESINSTANCES_API Tag() = default; + AWS_WORKSPACESINSTANCES_API Tag(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Tag& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique identifier for the tag.

              + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + Tag& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Value associated with the tag key.

              + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + Tag& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h new file mode 100644 index 00000000000..4911c30dd04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies tags to add to a WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + class TagResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API TagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique identifier of the WorkSpace Instance to tag.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + TagResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Tags to be added to the WorkSpace Instance.

              + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagResourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagResourceRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h new file mode 100644 index 00000000000..1c40845a7df --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms successful tag addition.

              See Also:

              AWS + * API Reference

              + */ + class TagResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API TagResourceResult() = default; + AWS_WORKSPACESINSTANCES_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + TagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h new file mode 100644 index 00000000000..f57a11bda12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Defines tagging configuration for a resource.

              See Also:

              AWS + * API Reference

              + */ + class TagSpecification + { + public: + AWS_WORKSPACESINSTANCES_API TagSpecification() = default; + AWS_WORKSPACESINSTANCES_API TagSpecification(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API TagSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Type of resource being tagged.

              + */ + inline ResourceTypeEnum GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(ResourceTypeEnum value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline TagSpecification& WithResourceType(ResourceTypeEnum value) { SetResourceType(value); return *this;} + ///@} + + ///@{ + /** + *

              Collection of tags for the specified resource.

              + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagSpecification& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagSpecification& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + ResourceTypeEnum m_resourceType{ResourceTypeEnum::NOT_SET}; + bool m_resourceTypeHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h new file mode 100644 index 00000000000..f6fb8a322e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class TenancyEnum + { + NOT_SET, + default_, + dedicated, + host + }; + +namespace TenancyEnumMapper +{ +AWS_WORKSPACESINSTANCES_API TenancyEnum GetTenancyEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForTenancyEnum(TenancyEnum value); +} // namespace TenancyEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h new file mode 100644 index 00000000000..6d4473bac6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Indicates the request rate has exceeded limits.

              See Also:

              AWS + * API Reference

              + */ + class ThrottlingException + { + public: + AWS_WORKSPACESINSTANCES_API ThrottlingException() = default; + AWS_WORKSPACESINSTANCES_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Description of the throttling event.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ThrottlingException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Code identifying the service experiencing throttling.

              + */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ThrottlingException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specific code for the throttling quota.

              + */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ThrottlingException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Recommended wait time before retrying the request.

              + */ + inline int GetRetryAfterSeconds() const { return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + int m_retryAfterSeconds{0}; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h new file mode 100644 index 00000000000..6388d73eab5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Specifies tags to remove from a WorkSpace Instance.

              See Also:

              + * AWS + * API Reference

              + */ + class UntagResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API UntagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

              Unique identifier of the WorkSpace Instance to untag.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + UntagResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Keys of tags to be removed.

              + */ + inline const Aws::Vector& GetTagKeys() const { return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + template> + void SetTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::forward(value); } + template> + UntagResourceRequest& WithTagKeys(TagKeysT&& value) { SetTagKeys(std::forward(value)); return *this;} + template + UntagResourceRequest& AddTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h new file mode 100644 index 00000000000..3c9bf226682 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

              Confirms successful tag removal.

              See Also:

              AWS + * API Reference

              + */ + class UntagResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API UntagResourceResult() = default; + AWS_WORKSPACESINSTANCES_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UntagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h new file mode 100644 index 00000000000..103cf5fd81f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Indicates invalid input parameters in the request.

              See Also:

              + * AWS + * API Reference

              + */ + class ValidationException + { + public: + AWS_WORKSPACESINSTANCES_API ValidationException() = default; + AWS_WORKSPACESINSTANCES_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Overall description of validation failures.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Specific reason for the validation failure.

              + */ + inline ValidationExceptionReason GetReason() const { return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(ValidationExceptionReason value) { m_reasonHasBeenSet = true; m_reason = value; } + inline ValidationException& WithReason(ValidationExceptionReason value) { SetReason(value); return *this;} + ///@} + + ///@{ + /** + *

              List of fields that failed validation.

              + */ + inline const Aws::Vector& GetFieldList() const { return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + template> + void SetFieldList(FieldListT&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::forward(value); } + template> + ValidationException& WithFieldList(FieldListT&& value) { SetFieldList(std::forward(value)); return *this;} + template + ValidationException& AddFieldList(FieldListT&& value) { m_fieldListHasBeenSet = true; m_fieldList.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason{ValidationExceptionReason::NOT_SET}; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h new file mode 100644 index 00000000000..00e4f8ef5c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents a validation error field in an API request.

              See + * Also:

              AWS + * API Reference

              + */ + class ValidationExceptionField + { + public: + AWS_WORKSPACESINSTANCES_API ValidationExceptionField() = default; + AWS_WORKSPACESINSTANCES_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Name of the field that failed validation.

              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ValidationExceptionField& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Reason for the validation failure.

              + */ + inline const Aws::String& GetReason() const { return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + template + void SetReason(ReasonT&& value) { m_reasonHasBeenSet = true; m_reason = std::forward(value); } + template + ValidationExceptionField& WithReason(ReasonT&& value) { SetReason(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Detailed error message describing the validation issue.

              + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationExceptionField& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_reason; + bool m_reasonHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..3c6ad76cda5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UNKNOWN_OPERATION, + UNSUPPORTED_OPERATION, + CANNOT_PARSE, + FIELD_VALIDATION_FAILED, + DEPENDENCY_FAILURE, + OTHER + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_WORKSPACESINSTANCES_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h new file mode 100644 index 00000000000..c745b1115ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class VolumeTypeEnum + { + NOT_SET, + standard, + io1, + io2, + gp2, + sc1, + st1, + gp3 + }; + +namespace VolumeTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API VolumeTypeEnum GetVolumeTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForVolumeTypeEnum(VolumeTypeEnum value); +} // namespace VolumeTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h new file mode 100644 index 00000000000..39d91ad9c32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Represents a single WorkSpace Instance.

              See Also:

              AWS + * API Reference

              + */ + class WorkspaceInstance + { + public: + AWS_WORKSPACESINSTANCES_API WorkspaceInstance() = default; + AWS_WORKSPACESINSTANCES_API WorkspaceInstance(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API WorkspaceInstance& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Current provisioning state of the WorkSpace Instance.

              + */ + inline ProvisionStateEnum GetProvisionState() const { return m_provisionState; } + inline bool ProvisionStateHasBeenSet() const { return m_provisionStateHasBeenSet; } + inline void SetProvisionState(ProvisionStateEnum value) { m_provisionStateHasBeenSet = true; m_provisionState = value; } + inline WorkspaceInstance& WithProvisionState(ProvisionStateEnum value) { SetProvisionState(value); return *this;} + ///@} + + ///@{ + /** + *

              Unique identifier for the WorkSpace Instance.

              + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + WorkspaceInstance& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Details of the associated EC2 managed instance.

              + */ + inline const EC2ManagedInstance& GetEC2ManagedInstance() const { return m_eC2ManagedInstance; } + inline bool EC2ManagedInstanceHasBeenSet() const { return m_eC2ManagedInstanceHasBeenSet; } + template + void SetEC2ManagedInstance(EC2ManagedInstanceT&& value) { m_eC2ManagedInstanceHasBeenSet = true; m_eC2ManagedInstance = std::forward(value); } + template + WorkspaceInstance& WithEC2ManagedInstance(EC2ManagedInstanceT&& value) { SetEC2ManagedInstance(std::forward(value)); return *this;} + ///@} + private: + + ProvisionStateEnum m_provisionState{ProvisionStateEnum::NOT_SET}; + bool m_provisionStateHasBeenSet = false; + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + EC2ManagedInstance m_eC2ManagedInstance; + bool m_eC2ManagedInstanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h new file mode 100644 index 00000000000..c010e092777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

              Captures errors specific to WorkSpace Instance operations.

              See + * Also:

              AWS + * API Reference

              + */ + class WorkspaceInstanceError + { + public: + AWS_WORKSPACESINSTANCES_API WorkspaceInstanceError() = default; + AWS_WORKSPACESINSTANCES_API WorkspaceInstanceError(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API WorkspaceInstanceError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              Unique error code for the WorkSpace Instance error.

              + */ + inline const Aws::String& GetErrorCode() const { return m_errorCode; } + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + template + void SetErrorCode(ErrorCodeT&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::forward(value); } + template + WorkspaceInstanceError& WithErrorCode(ErrorCodeT&& value) { SetErrorCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              Detailed description of the WorkSpace Instance error.

              + */ + inline const Aws::String& GetErrorMessage() const { return m_errorMessage; } + inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } + template + void SetErrorMessage(ErrorMessageT&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::forward(value); } + template + WorkspaceInstanceError& WithErrorMessage(ErrorMessageT&& value) { SetErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_errorCode; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_errorMessage; + bool m_errorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp new file mode 100644 index 00000000000..377cbfa6f40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp @@ -0,0 +1,517 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace WorkspacesInstances + { + const char SERVICE_NAME[] = "workspaces-instances"; + const char ALLOCATION_TAG[] = "WorkspacesInstancesClient"; + } +} +const char* WorkspacesInstancesClient::GetServiceName() {return SERVICE_NAME;} +const char* WorkspacesInstancesClient::GetAllocationTag() {return ALLOCATION_TAG;} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + WorkspacesInstancesClient::WorkspacesInstancesClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +WorkspacesInstancesClient::~WorkspacesInstancesClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& WorkspacesInstancesClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void WorkspacesInstancesClient::init(const WorkspacesInstances::WorkspacesInstancesClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Workspaces Instances"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void WorkspacesInstancesClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +AssociateVolumeOutcome WorkspacesInstancesClient::AssociateVolume(const AssociateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AssociateVolume", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AssociateVolumeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, AssociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AssociateVolumeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateVolumeOutcome WorkspacesInstancesClient::CreateVolume(const CreateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(CreateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateVolume", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateVolumeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateVolumeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateWorkspaceInstanceOutcome WorkspacesInstancesClient::CreateWorkspaceInstance(const CreateWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateWorkspaceInstance", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateWorkspaceInstanceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateWorkspaceInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteVolumeOutcome WorkspacesInstancesClient::DeleteVolume(const DeleteVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteVolume", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteVolumeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteVolumeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteWorkspaceInstanceOutcome WorkspacesInstancesClient::DeleteWorkspaceInstance(const DeleteWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteWorkspaceInstance", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteWorkspaceInstanceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteWorkspaceInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DisassociateVolumeOutcome WorkspacesInstancesClient::DisassociateVolume(const DisassociateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(DisassociateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisassociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisassociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisassociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisassociateVolume", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisassociateVolumeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisassociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisassociateVolumeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetWorkspaceInstanceOutcome WorkspacesInstancesClient::GetWorkspaceInstance(const GetWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(GetWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetWorkspaceInstance", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetWorkspaceInstanceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetWorkspaceInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListInstanceTypesOutcome WorkspacesInstancesClient::ListInstanceTypes(const ListInstanceTypesRequest& request) const +{ + AWS_OPERATION_GUARD(ListInstanceTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInstanceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInstanceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInstanceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInstanceTypes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListInstanceTypesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListInstanceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListInstanceTypesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListRegionsOutcome WorkspacesInstancesClient::ListRegions(const ListRegionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListRegions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRegions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRegions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRegions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRegions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListRegionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListRegions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRegionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome WorkspacesInstancesClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListWorkspaceInstancesOutcome WorkspacesInstancesClient::ListWorkspaceInstances(const ListWorkspaceInstancesRequest& request) const +{ + AWS_OPERATION_GUARD(ListWorkspaceInstances); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListWorkspaceInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListWorkspaceInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListWorkspaceInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListWorkspaceInstances", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListWorkspaceInstancesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListWorkspaceInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListWorkspaceInstancesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome WorkspacesInstancesClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome WorkspacesInstancesClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp new file mode 100644 index 00000000000..048a7f7d186 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp new file mode 100644 index 00000000000..5ec5622a20e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +const size_t WorkspacesInstancesEndpointRules::RulesBlobStrLen = 1652; +const size_t WorkspacesInstancesEndpointRules::RulesBlobSize = 1653; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k','s','p','a','c','e','s','-', +'i','n','s','t','a','n','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','w','o','r','k','s','p','a','c','e','s','-','i','n','s','t','a','n','c','e','s', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o', +'n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']','}','\0' +}}; + +const char* WorkspacesInstancesEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp new file mode 100644 index 00000000000..fd66787090a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::WorkspacesInstances; + +AWSError WorkspacesInstancesErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = WorkspacesInstancesErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp new file mode 100644 index 00000000000..aa4a61af878 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; + +namespace Aws +{ +namespace WorkspacesInstances +{ +template<> AWS_WORKSPACESINSTANCES_API ConflictException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ThrottlingException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ServiceQuotaExceededException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ResourceNotFoundException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API InternalServerException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ValidationException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace WorkspacesInstancesErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace WorkspacesInstancesErrorMapper +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp new file mode 100644 index 00000000000..ec5da46d3de --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp new file mode 100644 index 00000000000..20814c0cfcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace AmdSevSnpEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + AmdSevSnpEnum GetAmdSevSnpEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return AmdSevSnpEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return AmdSevSnpEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AmdSevSnpEnum::NOT_SET; + } + + Aws::String GetNameForAmdSevSnpEnum(AmdSevSnpEnum enumValue) + { + switch(enumValue) + { + case AmdSevSnpEnum::NOT_SET: + return {}; + case AmdSevSnpEnum::enabled: + return "enabled"; + case AmdSevSnpEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AmdSevSnpEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp new file mode 100644 index 00000000000..2ee3cb03ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String AssociateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + if(m_deviceHasBeenSet) + { + payload.WithString("Device", m_device); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection AssociateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.AssociateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp new file mode 100644 index 00000000000..6cb567491a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AssociateVolumeResult::AssociateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AssociateVolumeResult& AssociateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp new file mode 100644 index 00000000000..9ab6504976b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace AutoRecoveryEnumMapper + { + + static const int disabled_HASH = HashingUtils::HashString("disabled"); + static const int default__HASH = HashingUtils::HashString("default"); + + + AutoRecoveryEnum GetAutoRecoveryEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == disabled_HASH) + { + return AutoRecoveryEnum::disabled; + } + else if (hashCode == default__HASH) + { + return AutoRecoveryEnum::default_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutoRecoveryEnum::NOT_SET; + } + + Aws::String GetNameForAutoRecoveryEnum(AutoRecoveryEnum enumValue) + { + switch(enumValue) + { + case AutoRecoveryEnum::NOT_SET: + return {}; + case AutoRecoveryEnum::disabled: + return "disabled"; + case AutoRecoveryEnum::default_: + return "default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutoRecoveryEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp new file mode 100644 index 00000000000..33b98f69c47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace BandwidthWeightingEnumMapper + { + + static const int default__HASH = HashingUtils::HashString("default"); + static const int vpc_1_HASH = HashingUtils::HashString("vpc-1"); + static const int ebs_1_HASH = HashingUtils::HashString("ebs-1"); + + + BandwidthWeightingEnum GetBandwidthWeightingEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == default__HASH) + { + return BandwidthWeightingEnum::default_; + } + else if (hashCode == vpc_1_HASH) + { + return BandwidthWeightingEnum::vpc_1; + } + else if (hashCode == ebs_1_HASH) + { + return BandwidthWeightingEnum::ebs_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BandwidthWeightingEnum::NOT_SET; + } + + Aws::String GetNameForBandwidthWeightingEnum(BandwidthWeightingEnum enumValue) + { + switch(enumValue) + { + case BandwidthWeightingEnum::NOT_SET: + return {}; + case BandwidthWeightingEnum::default_: + return "default"; + case BandwidthWeightingEnum::vpc_1: + return "vpc-1"; + case BandwidthWeightingEnum::ebs_1: + return "ebs-1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BandwidthWeightingEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp new file mode 100644 index 00000000000..3523994fe6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +BlockDeviceMappingRequest::BlockDeviceMappingRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +BlockDeviceMappingRequest& BlockDeviceMappingRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DeviceName")) + { + m_deviceName = jsonValue.GetString("DeviceName"); + m_deviceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Ebs")) + { + m_ebs = jsonValue.GetObject("Ebs"); + m_ebsHasBeenSet = true; + } + if(jsonValue.ValueExists("NoDevice")) + { + m_noDevice = jsonValue.GetString("NoDevice"); + m_noDeviceHasBeenSet = true; + } + if(jsonValue.ValueExists("VirtualName")) + { + m_virtualName = jsonValue.GetString("VirtualName"); + m_virtualNameHasBeenSet = true; + } + return *this; +} + +JsonValue BlockDeviceMappingRequest::Jsonize() const +{ + JsonValue payload; + + if(m_deviceNameHasBeenSet) + { + payload.WithString("DeviceName", m_deviceName); + + } + + if(m_ebsHasBeenSet) + { + payload.WithObject("Ebs", m_ebs.Jsonize()); + + } + + if(m_noDeviceHasBeenSet) + { + payload.WithString("NoDevice", m_noDevice); + + } + + if(m_virtualNameHasBeenSet) + { + payload.WithString("VirtualName", m_virtualName); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp new file mode 100644 index 00000000000..c401b34088c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace CapacityReservationPreferenceEnumMapper + { + + static const int capacity_reservations_only_HASH = HashingUtils::HashString("capacity-reservations-only"); + static const int open_HASH = HashingUtils::HashString("open"); + static const int none_HASH = HashingUtils::HashString("none"); + + + CapacityReservationPreferenceEnum GetCapacityReservationPreferenceEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == capacity_reservations_only_HASH) + { + return CapacityReservationPreferenceEnum::capacity_reservations_only; + } + else if (hashCode == open_HASH) + { + return CapacityReservationPreferenceEnum::open; + } + else if (hashCode == none_HASH) + { + return CapacityReservationPreferenceEnum::none; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CapacityReservationPreferenceEnum::NOT_SET; + } + + Aws::String GetNameForCapacityReservationPreferenceEnum(CapacityReservationPreferenceEnum enumValue) + { + switch(enumValue) + { + case CapacityReservationPreferenceEnum::NOT_SET: + return {}; + case CapacityReservationPreferenceEnum::capacity_reservations_only: + return "capacity-reservations-only"; + case CapacityReservationPreferenceEnum::open: + return "open"; + case CapacityReservationPreferenceEnum::none: + return "none"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CapacityReservationPreferenceEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp new file mode 100644 index 00000000000..c6ec938ce59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CapacityReservationSpecification::CapacityReservationSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +CapacityReservationSpecification& CapacityReservationSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CapacityReservationPreference")) + { + m_capacityReservationPreference = CapacityReservationPreferenceEnumMapper::GetCapacityReservationPreferenceEnumForName(jsonValue.GetString("CapacityReservationPreference")); + m_capacityReservationPreferenceHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationTarget")) + { + m_capacityReservationTarget = jsonValue.GetObject("CapacityReservationTarget"); + m_capacityReservationTargetHasBeenSet = true; + } + return *this; +} + +JsonValue CapacityReservationSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_capacityReservationPreferenceHasBeenSet) + { + payload.WithString("CapacityReservationPreference", CapacityReservationPreferenceEnumMapper::GetNameForCapacityReservationPreferenceEnum(m_capacityReservationPreference)); + } + + if(m_capacityReservationTargetHasBeenSet) + { + payload.WithObject("CapacityReservationTarget", m_capacityReservationTarget.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp new file mode 100644 index 00000000000..dd2441b2a05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CapacityReservationTarget::CapacityReservationTarget(JsonView jsonValue) +{ + *this = jsonValue; +} + +CapacityReservationTarget& CapacityReservationTarget::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CapacityReservationId")) + { + m_capacityReservationId = jsonValue.GetString("CapacityReservationId"); + m_capacityReservationIdHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationResourceGroupArn")) + { + m_capacityReservationResourceGroupArn = jsonValue.GetString("CapacityReservationResourceGroupArn"); + m_capacityReservationResourceGroupArnHasBeenSet = true; + } + return *this; +} + +JsonValue CapacityReservationTarget::Jsonize() const +{ + JsonValue payload; + + if(m_capacityReservationIdHasBeenSet) + { + payload.WithString("CapacityReservationId", m_capacityReservationId); + + } + + if(m_capacityReservationResourceGroupArnHasBeenSet) + { + payload.WithString("CapacityReservationResourceGroupArn", m_capacityReservationResourceGroupArn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp new file mode 100644 index 00000000000..1b10abb2d3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ConflictException::ConflictException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp new file mode 100644 index 00000000000..5f3142879ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ConnectionTrackingSpecificationRequest::ConnectionTrackingSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConnectionTrackingSpecificationRequest& ConnectionTrackingSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TcpEstablishedTimeout")) + { + m_tcpEstablishedTimeout = jsonValue.GetInteger("TcpEstablishedTimeout"); + m_tcpEstablishedTimeoutHasBeenSet = true; + } + if(jsonValue.ValueExists("UdpStreamTimeout")) + { + m_udpStreamTimeout = jsonValue.GetInteger("UdpStreamTimeout"); + m_udpStreamTimeoutHasBeenSet = true; + } + if(jsonValue.ValueExists("UdpTimeout")) + { + m_udpTimeout = jsonValue.GetInteger("UdpTimeout"); + m_udpTimeoutHasBeenSet = true; + } + return *this; +} + +JsonValue ConnectionTrackingSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_tcpEstablishedTimeoutHasBeenSet) + { + payload.WithInteger("TcpEstablishedTimeout", m_tcpEstablishedTimeout); + + } + + if(m_udpStreamTimeoutHasBeenSet) + { + payload.WithInteger("UdpStreamTimeout", m_udpStreamTimeout); + + } + + if(m_udpTimeoutHasBeenSet) + { + payload.WithInteger("UdpTimeout", m_udpTimeout); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp new file mode 100644 index 00000000000..4fa5eeeadc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace CpuCreditsEnumMapper + { + + static const int standard_HASH = HashingUtils::HashString("standard"); + static const int unlimited_HASH = HashingUtils::HashString("unlimited"); + + + CpuCreditsEnum GetCpuCreditsEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == standard_HASH) + { + return CpuCreditsEnum::standard; + } + else if (hashCode == unlimited_HASH) + { + return CpuCreditsEnum::unlimited; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CpuCreditsEnum::NOT_SET; + } + + Aws::String GetNameForCpuCreditsEnum(CpuCreditsEnum enumValue) + { + switch(enumValue) + { + case CpuCreditsEnum::NOT_SET: + return {}; + case CpuCreditsEnum::standard: + return "standard"; + case CpuCreditsEnum::unlimited: + return "unlimited"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CpuCreditsEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp new file mode 100644 index 00000000000..ceac9f46b0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CpuOptionsRequest::CpuOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +CpuOptionsRequest& CpuOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AmdSevSnp")) + { + m_amdSevSnp = AmdSevSnpEnumMapper::GetAmdSevSnpEnumForName(jsonValue.GetString("AmdSevSnp")); + m_amdSevSnpHasBeenSet = true; + } + if(jsonValue.ValueExists("CoreCount")) + { + m_coreCount = jsonValue.GetInteger("CoreCount"); + m_coreCountHasBeenSet = true; + } + if(jsonValue.ValueExists("ThreadsPerCore")) + { + m_threadsPerCore = jsonValue.GetInteger("ThreadsPerCore"); + m_threadsPerCoreHasBeenSet = true; + } + return *this; +} + +JsonValue CpuOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_amdSevSnpHasBeenSet) + { + payload.WithString("AmdSevSnp", AmdSevSnpEnumMapper::GetNameForAmdSevSnpEnum(m_amdSevSnp)); + } + + if(m_coreCountHasBeenSet) + { + payload.WithInteger("CoreCount", m_coreCount); + + } + + if(m_threadsPerCoreHasBeenSet) + { + payload.WithInteger("ThreadsPerCore", m_threadsPerCore); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp new file mode 100644 index 00000000000..950c8ceb261 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("AvailabilityZone", m_availabilityZone); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_encryptedHasBeenSet) + { + payload.WithBool("Encrypted", m_encrypted); + + } + + if(m_iopsHasBeenSet) + { + payload.WithInteger("Iops", m_iops); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("KmsKeyId", m_kmsKeyId); + + } + + if(m_sizeInGBHasBeenSet) + { + payload.WithInteger("SizeInGB", m_sizeInGB); + + } + + if(m_snapshotIdHasBeenSet) + { + payload.WithString("SnapshotId", m_snapshotId); + + } + + if(m_tagSpecificationsHasBeenSet) + { + Aws::Utils::Array tagSpecificationsJsonList(m_tagSpecifications.size()); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + tagSpecificationsJsonList[tagSpecificationsIndex].AsObject(m_tagSpecifications[tagSpecificationsIndex].Jsonize()); + } + payload.WithArray("TagSpecifications", std::move(tagSpecificationsJsonList)); + + } + + if(m_throughputHasBeenSet) + { + payload.WithInteger("Throughput", m_throughput); + + } + + if(m_volumeTypeHasBeenSet) + { + payload.WithString("VolumeType", VolumeTypeEnumMapper::GetNameForVolumeTypeEnum(m_volumeType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.CreateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp new file mode 100644 index 00000000000..731b9a8c847 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateVolumeResult::CreateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateVolumeResult& CreateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("VolumeId")) + { + m_volumeId = jsonValue.GetString("VolumeId"); + m_volumeIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..91a8cfd1928 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + if(m_managedInstanceHasBeenSet) + { + payload.WithObject("ManagedInstance", m_managedInstance.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.CreateWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..09444a16192 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateWorkspaceInstanceResult::CreateWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateWorkspaceInstanceResult& CreateWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp new file mode 100644 index 00000000000..266df2a919f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CreditSpecificationRequest::CreditSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreditSpecificationRequest& CreditSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CpuCredits")) + { + m_cpuCredits = CpuCreditsEnumMapper::GetCpuCreditsEnumForName(jsonValue.GetString("CpuCredits")); + m_cpuCreditsHasBeenSet = true; + } + return *this; +} + +JsonValue CreditSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_cpuCreditsHasBeenSet) + { + payload.WithString("CpuCredits", CpuCreditsEnumMapper::GetNameForCpuCreditsEnum(m_cpuCredits)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp new file mode 100644 index 00000000000..7bb75800b06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DeleteVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp new file mode 100644 index 00000000000..3b9a359384c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteVolumeResult::DeleteVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteVolumeResult& DeleteVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..e62395f9ce1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DeleteWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..41301932eb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteWorkspaceInstanceResult::DeleteWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteWorkspaceInstanceResult& DeleteWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp new file mode 100644 index 00000000000..4addf833fde --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace DisassociateModeEnumMapper + { + + static const int FORCE_HASH = HashingUtils::HashString("FORCE"); + static const int NO_FORCE_HASH = HashingUtils::HashString("NO_FORCE"); + + + DisassociateModeEnum GetDisassociateModeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FORCE_HASH) + { + return DisassociateModeEnum::FORCE; + } + else if (hashCode == NO_FORCE_HASH) + { + return DisassociateModeEnum::NO_FORCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DisassociateModeEnum::NOT_SET; + } + + Aws::String GetNameForDisassociateModeEnum(DisassociateModeEnum enumValue) + { + switch(enumValue) + { + case DisassociateModeEnum::NOT_SET: + return {}; + case DisassociateModeEnum::FORCE: + return "FORCE"; + case DisassociateModeEnum::NO_FORCE: + return "NO_FORCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DisassociateModeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp new file mode 100644 index 00000000000..5170283a709 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisassociateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + if(m_deviceHasBeenSet) + { + payload.WithString("Device", m_device); + + } + + if(m_disassociateModeHasBeenSet) + { + payload.WithString("DisassociateMode", DisassociateModeEnumMapper::GetNameForDisassociateModeEnum(m_disassociateMode)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DisassociateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DisassociateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp new file mode 100644 index 00000000000..48587be411a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DisassociateVolumeResult::DisassociateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DisassociateVolumeResult& DisassociateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp new file mode 100644 index 00000000000..16770f8f3b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EC2InstanceError::EC2InstanceError(JsonView jsonValue) +{ + *this = jsonValue; +} + +EC2InstanceError& EC2InstanceError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EC2ErrorCode")) + { + m_eC2ErrorCode = jsonValue.GetString("EC2ErrorCode"); + m_eC2ErrorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ExceptionType")) + { + m_eC2ExceptionType = jsonValue.GetString("EC2ExceptionType"); + m_eC2ExceptionTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ErrorMessage")) + { + m_eC2ErrorMessage = jsonValue.GetString("EC2ErrorMessage"); + m_eC2ErrorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue EC2InstanceError::Jsonize() const +{ + JsonValue payload; + + if(m_eC2ErrorCodeHasBeenSet) + { + payload.WithString("EC2ErrorCode", m_eC2ErrorCode); + + } + + if(m_eC2ExceptionTypeHasBeenSet) + { + payload.WithString("EC2ExceptionType", m_eC2ExceptionType); + + } + + if(m_eC2ErrorMessageHasBeenSet) + { + payload.WithString("EC2ErrorMessage", m_eC2ErrorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp new file mode 100644 index 00000000000..703fd84b629 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EC2ManagedInstance::EC2ManagedInstance(JsonView jsonValue) +{ + *this = jsonValue; +} + +EC2ManagedInstance& EC2ManagedInstance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceId")) + { + m_instanceId = jsonValue.GetString("InstanceId"); + m_instanceIdHasBeenSet = true; + } + return *this; +} + +JsonValue EC2ManagedInstance::Jsonize() const +{ + JsonValue payload; + + if(m_instanceIdHasBeenSet) + { + payload.WithString("InstanceId", m_instanceId); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp new file mode 100644 index 00000000000..6aa24c58b5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EbsBlockDevice::EbsBlockDevice(JsonView jsonValue) +{ + *this = jsonValue; +} + +EbsBlockDevice& EbsBlockDevice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("VolumeType")) + { + m_volumeType = VolumeTypeEnumMapper::GetVolumeTypeEnumForName(jsonValue.GetString("VolumeType")); + m_volumeTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Encrypted")) + { + m_encrypted = jsonValue.GetBool("Encrypted"); + m_encryptedHasBeenSet = true; + } + if(jsonValue.ValueExists("KmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("KmsKeyId"); + m_kmsKeyIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Iops")) + { + m_iops = jsonValue.GetInteger("Iops"); + m_iopsHasBeenSet = true; + } + if(jsonValue.ValueExists("Throughput")) + { + m_throughput = jsonValue.GetInteger("Throughput"); + m_throughputHasBeenSet = true; + } + if(jsonValue.ValueExists("VolumeSize")) + { + m_volumeSize = jsonValue.GetInteger("VolumeSize"); + m_volumeSizeHasBeenSet = true; + } + return *this; +} + +JsonValue EbsBlockDevice::Jsonize() const +{ + JsonValue payload; + + if(m_volumeTypeHasBeenSet) + { + payload.WithString("VolumeType", VolumeTypeEnumMapper::GetNameForVolumeTypeEnum(m_volumeType)); + } + + if(m_encryptedHasBeenSet) + { + payload.WithBool("Encrypted", m_encrypted); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("KmsKeyId", m_kmsKeyId); + + } + + if(m_iopsHasBeenSet) + { + payload.WithInteger("Iops", m_iops); + + } + + if(m_throughputHasBeenSet) + { + payload.WithInteger("Throughput", m_throughput); + + } + + if(m_volumeSizeHasBeenSet) + { + payload.WithInteger("VolumeSize", m_volumeSize); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp new file mode 100644 index 00000000000..07f50086bb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnaSrdSpecificationRequest::EnaSrdSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnaSrdSpecificationRequest& EnaSrdSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnaSrdEnabled")) + { + m_enaSrdEnabled = jsonValue.GetBool("EnaSrdEnabled"); + m_enaSrdEnabledHasBeenSet = true; + } + if(jsonValue.ValueExists("EnaSrdUdpSpecification")) + { + m_enaSrdUdpSpecification = jsonValue.GetObject("EnaSrdUdpSpecification"); + m_enaSrdUdpSpecificationHasBeenSet = true; + } + return *this; +} + +JsonValue EnaSrdSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enaSrdEnabledHasBeenSet) + { + payload.WithBool("EnaSrdEnabled", m_enaSrdEnabled); + + } + + if(m_enaSrdUdpSpecificationHasBeenSet) + { + payload.WithObject("EnaSrdUdpSpecification", m_enaSrdUdpSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp new file mode 100644 index 00000000000..9552151052d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnaSrdUdpSpecificationRequest::EnaSrdUdpSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnaSrdUdpSpecificationRequest& EnaSrdUdpSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnaSrdUdpEnabled")) + { + m_enaSrdUdpEnabled = jsonValue.GetBool("EnaSrdUdpEnabled"); + m_enaSrdUdpEnabledHasBeenSet = true; + } + return *this; +} + +JsonValue EnaSrdUdpSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enaSrdUdpEnabledHasBeenSet) + { + payload.WithBool("EnaSrdUdpEnabled", m_enaSrdUdpEnabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp new file mode 100644 index 00000000000..07f466bc102 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnclaveOptionsRequest::EnclaveOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnclaveOptionsRequest& EnclaveOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Enabled")) + { + m_enabled = jsonValue.GetBool("Enabled"); + m_enabledHasBeenSet = true; + } + return *this; +} + +JsonValue EnclaveOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("Enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..5bd7db6dbf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.GetWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..ef7e7dba386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetWorkspaceInstanceResult::GetWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetWorkspaceInstanceResult& GetWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstanceErrors")) + { + Aws::Utils::Array workspaceInstanceErrorsJsonList = jsonValue.GetArray("WorkspaceInstanceErrors"); + for(unsigned workspaceInstanceErrorsIndex = 0; workspaceInstanceErrorsIndex < workspaceInstanceErrorsJsonList.GetLength(); ++workspaceInstanceErrorsIndex) + { + m_workspaceInstanceErrors.push_back(workspaceInstanceErrorsJsonList[workspaceInstanceErrorsIndex].AsObject()); + } + m_workspaceInstanceErrorsHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2InstanceErrors")) + { + Aws::Utils::Array eC2InstanceErrorsJsonList = jsonValue.GetArray("EC2InstanceErrors"); + for(unsigned eC2InstanceErrorsIndex = 0; eC2InstanceErrorsIndex < eC2InstanceErrorsJsonList.GetLength(); ++eC2InstanceErrorsIndex) + { + m_eC2InstanceErrors.push_back(eC2InstanceErrorsJsonList[eC2InstanceErrorsIndex].AsObject()); + } + m_eC2InstanceErrorsHasBeenSet = true; + } + if(jsonValue.ValueExists("ProvisionState")) + { + m_provisionState = ProvisionStateEnumMapper::GetProvisionStateEnumForName(jsonValue.GetString("ProvisionState")); + m_provisionStateHasBeenSet = true; + } + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ManagedInstance")) + { + m_eC2ManagedInstance = jsonValue.GetObject("EC2ManagedInstance"); + m_eC2ManagedInstanceHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp new file mode 100644 index 00000000000..aa64d7f33c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +HibernationOptionsRequest::HibernationOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +HibernationOptionsRequest& HibernationOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Configured")) + { + m_configured = jsonValue.GetBool("Configured"); + m_configuredHasBeenSet = true; + } + return *this; +} + +JsonValue HibernationOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_configuredHasBeenSet) + { + payload.WithBool("Configured", m_configured); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp new file mode 100644 index 00000000000..c133b49e04c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace HostnameTypeEnumMapper + { + + static const int ip_name_HASH = HashingUtils::HashString("ip-name"); + static const int resource_name_HASH = HashingUtils::HashString("resource-name"); + + + HostnameTypeEnum GetHostnameTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ip_name_HASH) + { + return HostnameTypeEnum::ip_name; + } + else if (hashCode == resource_name_HASH) + { + return HostnameTypeEnum::resource_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HostnameTypeEnum::NOT_SET; + } + + Aws::String GetNameForHostnameTypeEnum(HostnameTypeEnum enumValue) + { + switch(enumValue) + { + case HostnameTypeEnum::NOT_SET: + return {}; + case HostnameTypeEnum::ip_name: + return "ip-name"; + case HostnameTypeEnum::resource_name: + return "resource-name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HostnameTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp new file mode 100644 index 00000000000..ed9404559e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace HttpEndpointEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + HttpEndpointEnum GetHttpEndpointEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return HttpEndpointEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return HttpEndpointEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpEndpointEnum::NOT_SET; + } + + Aws::String GetNameForHttpEndpointEnum(HttpEndpointEnum enumValue) + { + switch(enumValue) + { + case HttpEndpointEnum::NOT_SET: + return {}; + case HttpEndpointEnum::enabled: + return "enabled"; + case HttpEndpointEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpEndpointEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp new file mode 100644 index 00000000000..c96b7a1b74b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace HttpProtocolIpv6EnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + HttpProtocolIpv6Enum GetHttpProtocolIpv6EnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return HttpProtocolIpv6Enum::enabled; + } + else if (hashCode == disabled_HASH) + { + return HttpProtocolIpv6Enum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpProtocolIpv6Enum::NOT_SET; + } + + Aws::String GetNameForHttpProtocolIpv6Enum(HttpProtocolIpv6Enum enumValue) + { + switch(enumValue) + { + case HttpProtocolIpv6Enum::NOT_SET: + return {}; + case HttpProtocolIpv6Enum::enabled: + return "enabled"; + case HttpProtocolIpv6Enum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpProtocolIpv6EnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp new file mode 100644 index 00000000000..a6cb443a90c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace HttpTokensEnumMapper + { + + static const int optional_HASH = HashingUtils::HashString("optional"); + static const int required_HASH = HashingUtils::HashString("required"); + + + HttpTokensEnum GetHttpTokensEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == optional_HASH) + { + return HttpTokensEnum::optional; + } + else if (hashCode == required_HASH) + { + return HttpTokensEnum::required; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpTokensEnum::NOT_SET; + } + + Aws::String GetNameForHttpTokensEnum(HttpTokensEnum enumValue) + { + switch(enumValue) + { + case HttpTokensEnum::NOT_SET: + return {}; + case HttpTokensEnum::optional: + return "optional"; + case HttpTokensEnum::required: + return "required"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpTokensEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp new file mode 100644 index 00000000000..ead9529c918 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +IamInstanceProfileSpecification::IamInstanceProfileSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +IamInstanceProfileSpecification& IamInstanceProfileSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + return *this; +} + +JsonValue IamInstanceProfileSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp new file mode 100644 index 00000000000..a2a1d101740 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace InstanceInterruptionBehaviorEnumMapper + { + + static const int hibernate_HASH = HashingUtils::HashString("hibernate"); + static const int stop_HASH = HashingUtils::HashString("stop"); + + + InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehaviorEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == hibernate_HASH) + { + return InstanceInterruptionBehaviorEnum::hibernate; + } + else if (hashCode == stop_HASH) + { + return InstanceInterruptionBehaviorEnum::stop; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceInterruptionBehaviorEnum::NOT_SET; + } + + Aws::String GetNameForInstanceInterruptionBehaviorEnum(InstanceInterruptionBehaviorEnum enumValue) + { + switch(enumValue) + { + case InstanceInterruptionBehaviorEnum::NOT_SET: + return {}; + case InstanceInterruptionBehaviorEnum::hibernate: + return "hibernate"; + case InstanceInterruptionBehaviorEnum::stop: + return "stop"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceInterruptionBehaviorEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp new file mode 100644 index 00000000000..a5731283a66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceIpv6Address::InstanceIpv6Address(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceIpv6Address& InstanceIpv6Address::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv6Address")) + { + m_ipv6Address = jsonValue.GetString("Ipv6Address"); + m_ipv6AddressHasBeenSet = true; + } + if(jsonValue.ValueExists("IsPrimaryIpv6")) + { + m_isPrimaryIpv6 = jsonValue.GetBool("IsPrimaryIpv6"); + m_isPrimaryIpv6HasBeenSet = true; + } + return *this; +} + +JsonValue InstanceIpv6Address::Jsonize() const +{ + JsonValue payload; + + if(m_ipv6AddressHasBeenSet) + { + payload.WithString("Ipv6Address", m_ipv6Address); + + } + + if(m_isPrimaryIpv6HasBeenSet) + { + payload.WithBool("IsPrimaryIpv6", m_isPrimaryIpv6); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp new file mode 100644 index 00000000000..f084322a9da --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceMaintenanceOptionsRequest::InstanceMaintenanceOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMaintenanceOptionsRequest& InstanceMaintenanceOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AutoRecovery")) + { + m_autoRecovery = AutoRecoveryEnumMapper::GetAutoRecoveryEnumForName(jsonValue.GetString("AutoRecovery")); + m_autoRecoveryHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMaintenanceOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_autoRecoveryHasBeenSet) + { + payload.WithString("AutoRecovery", AutoRecoveryEnumMapper::GetNameForAutoRecoveryEnum(m_autoRecovery)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp new file mode 100644 index 00000000000..37092672604 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceMarketOptionsRequest::InstanceMarketOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMarketOptionsRequest& InstanceMarketOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MarketType")) + { + m_marketType = MarketTypeEnumMapper::GetMarketTypeEnumForName(jsonValue.GetString("MarketType")); + m_marketTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("SpotOptions")) + { + m_spotOptions = jsonValue.GetObject("SpotOptions"); + m_spotOptionsHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMarketOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_marketTypeHasBeenSet) + { + payload.WithString("MarketType", MarketTypeEnumMapper::GetNameForMarketTypeEnum(m_marketType)); + } + + if(m_spotOptionsHasBeenSet) + { + payload.WithObject("SpotOptions", m_spotOptions.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp new file mode 100644 index 00000000000..557bab42ab2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceMetadataOptionsRequest::InstanceMetadataOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMetadataOptionsRequest& InstanceMetadataOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("HttpEndpoint")) + { + m_httpEndpoint = HttpEndpointEnumMapper::GetHttpEndpointEnumForName(jsonValue.GetString("HttpEndpoint")); + m_httpEndpointHasBeenSet = true; + } + if(jsonValue.ValueExists("HttpProtocolIpv6")) + { + m_httpProtocolIpv6 = HttpProtocolIpv6EnumMapper::GetHttpProtocolIpv6EnumForName(jsonValue.GetString("HttpProtocolIpv6")); + m_httpProtocolIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("HttpPutResponseHopLimit")) + { + m_httpPutResponseHopLimit = jsonValue.GetInteger("HttpPutResponseHopLimit"); + m_httpPutResponseHopLimitHasBeenSet = true; + } + if(jsonValue.ValueExists("HttpTokens")) + { + m_httpTokens = HttpTokensEnumMapper::GetHttpTokensEnumForName(jsonValue.GetString("HttpTokens")); + m_httpTokensHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceMetadataTags")) + { + m_instanceMetadataTags = InstanceMetadataTagsEnumMapper::GetInstanceMetadataTagsEnumForName(jsonValue.GetString("InstanceMetadataTags")); + m_instanceMetadataTagsHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMetadataOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_httpEndpointHasBeenSet) + { + payload.WithString("HttpEndpoint", HttpEndpointEnumMapper::GetNameForHttpEndpointEnum(m_httpEndpoint)); + } + + if(m_httpProtocolIpv6HasBeenSet) + { + payload.WithString("HttpProtocolIpv6", HttpProtocolIpv6EnumMapper::GetNameForHttpProtocolIpv6Enum(m_httpProtocolIpv6)); + } + + if(m_httpPutResponseHopLimitHasBeenSet) + { + payload.WithInteger("HttpPutResponseHopLimit", m_httpPutResponseHopLimit); + + } + + if(m_httpTokensHasBeenSet) + { + payload.WithString("HttpTokens", HttpTokensEnumMapper::GetNameForHttpTokensEnum(m_httpTokens)); + } + + if(m_instanceMetadataTagsHasBeenSet) + { + payload.WithString("InstanceMetadataTags", InstanceMetadataTagsEnumMapper::GetNameForInstanceMetadataTagsEnum(m_instanceMetadataTags)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp new file mode 100644 index 00000000000..c258ed1109a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace InstanceMetadataTagsEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + InstanceMetadataTagsEnum GetInstanceMetadataTagsEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return InstanceMetadataTagsEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return InstanceMetadataTagsEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceMetadataTagsEnum::NOT_SET; + } + + Aws::String GetNameForInstanceMetadataTagsEnum(InstanceMetadataTagsEnum enumValue) + { + switch(enumValue) + { + case InstanceMetadataTagsEnum::NOT_SET: + return {}; + case InstanceMetadataTagsEnum::enabled: + return "enabled"; + case InstanceMetadataTagsEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceMetadataTagsEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp new file mode 100644 index 00000000000..8e187d2639e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp @@ -0,0 +1,315 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceNetworkInterfaceSpecification::InstanceNetworkInterfaceSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceNetworkInterfaceSpecification& InstanceNetworkInterfaceSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AssociateCarrierIpAddress")) + { + m_associateCarrierIpAddress = jsonValue.GetBool("AssociateCarrierIpAddress"); + m_associateCarrierIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("AssociatePublicIpAddress")) + { + m_associatePublicIpAddress = jsonValue.GetBool("AssociatePublicIpAddress"); + m_associatePublicIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectionTrackingSpecification")) + { + m_connectionTrackingSpecification = jsonValue.GetObject("ConnectionTrackingSpecification"); + m_connectionTrackingSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DeviceIndex")) + { + m_deviceIndex = jsonValue.GetInteger("DeviceIndex"); + m_deviceIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EnaSrdSpecification")) + { + m_enaSrdSpecification = jsonValue.GetObject("EnaSrdSpecification"); + m_enaSrdSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("InterfaceType")) + { + m_interfaceType = InterfaceTypeEnumMapper::GetInterfaceTypeEnumForName(jsonValue.GetString("InterfaceType")); + m_interfaceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv4Prefixes")) + { + Aws::Utils::Array ipv4PrefixesJsonList = jsonValue.GetArray("Ipv4Prefixes"); + for(unsigned ipv4PrefixesIndex = 0; ipv4PrefixesIndex < ipv4PrefixesJsonList.GetLength(); ++ipv4PrefixesIndex) + { + m_ipv4Prefixes.push_back(ipv4PrefixesJsonList[ipv4PrefixesIndex].AsObject()); + } + m_ipv4PrefixesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv4PrefixCount")) + { + m_ipv4PrefixCount = jsonValue.GetInteger("Ipv4PrefixCount"); + m_ipv4PrefixCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6AddressCount")) + { + m_ipv6AddressCount = jsonValue.GetInteger("Ipv6AddressCount"); + m_ipv6AddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Addresses")) + { + Aws::Utils::Array ipv6AddressesJsonList = jsonValue.GetArray("Ipv6Addresses"); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + m_ipv6Addresses.push_back(ipv6AddressesJsonList[ipv6AddressesIndex].AsObject()); + } + m_ipv6AddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Prefixes")) + { + Aws::Utils::Array ipv6PrefixesJsonList = jsonValue.GetArray("Ipv6Prefixes"); + for(unsigned ipv6PrefixesIndex = 0; ipv6PrefixesIndex < ipv6PrefixesJsonList.GetLength(); ++ipv6PrefixesIndex) + { + m_ipv6Prefixes.push_back(ipv6PrefixesJsonList[ipv6PrefixesIndex].AsObject()); + } + m_ipv6PrefixesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6PrefixCount")) + { + m_ipv6PrefixCount = jsonValue.GetInteger("Ipv6PrefixCount"); + m_ipv6PrefixCountHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkCardIndex")) + { + m_networkCardIndex = jsonValue.GetInteger("NetworkCardIndex"); + m_networkCardIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkInterfaceId")) + { + m_networkInterfaceId = jsonValue.GetString("NetworkInterfaceId"); + m_networkInterfaceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIpv6")) + { + m_primaryIpv6 = jsonValue.GetBool("PrimaryIpv6"); + m_primaryIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddresses")) + { + Aws::Utils::Array privateIpAddressesJsonList = jsonValue.GetArray("PrivateIpAddresses"); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + m_privateIpAddresses.push_back(privateIpAddressesJsonList[privateIpAddressesIndex].AsObject()); + } + m_privateIpAddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryPrivateIpAddressCount")) + { + m_secondaryPrivateIpAddressCount = jsonValue.GetInteger("SecondaryPrivateIpAddressCount"); + m_secondaryPrivateIpAddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Groups")) + { + Aws::Utils::Array groupsJsonList = jsonValue.GetArray("Groups"); + for(unsigned groupsIndex = 0; groupsIndex < groupsJsonList.GetLength(); ++groupsIndex) + { + m_groups.push_back(groupsJsonList[groupsIndex].AsString()); + } + m_groupsHasBeenSet = true; + } + if(jsonValue.ValueExists("SubnetId")) + { + m_subnetId = jsonValue.GetString("SubnetId"); + m_subnetIdHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceNetworkInterfaceSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_associateCarrierIpAddressHasBeenSet) + { + payload.WithBool("AssociateCarrierIpAddress", m_associateCarrierIpAddress); + + } + + if(m_associatePublicIpAddressHasBeenSet) + { + payload.WithBool("AssociatePublicIpAddress", m_associatePublicIpAddress); + + } + + if(m_connectionTrackingSpecificationHasBeenSet) + { + payload.WithObject("ConnectionTrackingSpecification", m_connectionTrackingSpecification.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_deviceIndexHasBeenSet) + { + payload.WithInteger("DeviceIndex", m_deviceIndex); + + } + + if(m_enaSrdSpecificationHasBeenSet) + { + payload.WithObject("EnaSrdSpecification", m_enaSrdSpecification.Jsonize()); + + } + + if(m_interfaceTypeHasBeenSet) + { + payload.WithString("InterfaceType", InterfaceTypeEnumMapper::GetNameForInterfaceTypeEnum(m_interfaceType)); + } + + if(m_ipv4PrefixesHasBeenSet) + { + Aws::Utils::Array ipv4PrefixesJsonList(m_ipv4Prefixes.size()); + for(unsigned ipv4PrefixesIndex = 0; ipv4PrefixesIndex < ipv4PrefixesJsonList.GetLength(); ++ipv4PrefixesIndex) + { + ipv4PrefixesJsonList[ipv4PrefixesIndex].AsObject(m_ipv4Prefixes[ipv4PrefixesIndex].Jsonize()); + } + payload.WithArray("Ipv4Prefixes", std::move(ipv4PrefixesJsonList)); + + } + + if(m_ipv4PrefixCountHasBeenSet) + { + payload.WithInteger("Ipv4PrefixCount", m_ipv4PrefixCount); + + } + + if(m_ipv6AddressCountHasBeenSet) + { + payload.WithInteger("Ipv6AddressCount", m_ipv6AddressCount); + + } + + if(m_ipv6AddressesHasBeenSet) + { + Aws::Utils::Array ipv6AddressesJsonList(m_ipv6Addresses.size()); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + ipv6AddressesJsonList[ipv6AddressesIndex].AsObject(m_ipv6Addresses[ipv6AddressesIndex].Jsonize()); + } + payload.WithArray("Ipv6Addresses", std::move(ipv6AddressesJsonList)); + + } + + if(m_ipv6PrefixesHasBeenSet) + { + Aws::Utils::Array ipv6PrefixesJsonList(m_ipv6Prefixes.size()); + for(unsigned ipv6PrefixesIndex = 0; ipv6PrefixesIndex < ipv6PrefixesJsonList.GetLength(); ++ipv6PrefixesIndex) + { + ipv6PrefixesJsonList[ipv6PrefixesIndex].AsObject(m_ipv6Prefixes[ipv6PrefixesIndex].Jsonize()); + } + payload.WithArray("Ipv6Prefixes", std::move(ipv6PrefixesJsonList)); + + } + + if(m_ipv6PrefixCountHasBeenSet) + { + payload.WithInteger("Ipv6PrefixCount", m_ipv6PrefixCount); + + } + + if(m_networkCardIndexHasBeenSet) + { + payload.WithInteger("NetworkCardIndex", m_networkCardIndex); + + } + + if(m_networkInterfaceIdHasBeenSet) + { + payload.WithString("NetworkInterfaceId", m_networkInterfaceId); + + } + + if(m_primaryIpv6HasBeenSet) + { + payload.WithBool("PrimaryIpv6", m_primaryIpv6); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + if(m_privateIpAddressesHasBeenSet) + { + Aws::Utils::Array privateIpAddressesJsonList(m_privateIpAddresses.size()); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + privateIpAddressesJsonList[privateIpAddressesIndex].AsObject(m_privateIpAddresses[privateIpAddressesIndex].Jsonize()); + } + payload.WithArray("PrivateIpAddresses", std::move(privateIpAddressesJsonList)); + + } + + if(m_secondaryPrivateIpAddressCountHasBeenSet) + { + payload.WithInteger("SecondaryPrivateIpAddressCount", m_secondaryPrivateIpAddressCount); + + } + + if(m_groupsHasBeenSet) + { + Aws::Utils::Array groupsJsonList(m_groups.size()); + for(unsigned groupsIndex = 0; groupsIndex < groupsJsonList.GetLength(); ++groupsIndex) + { + groupsJsonList[groupsIndex].AsString(m_groups[groupsIndex]); + } + payload.WithArray("Groups", std::move(groupsJsonList)); + + } + + if(m_subnetIdHasBeenSet) + { + payload.WithString("SubnetId", m_subnetId); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp new file mode 100644 index 00000000000..fdeeb5e80f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceNetworkPerformanceOptionsRequest::InstanceNetworkPerformanceOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceNetworkPerformanceOptionsRequest& InstanceNetworkPerformanceOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BandwidthWeighting")) + { + m_bandwidthWeighting = BandwidthWeightingEnumMapper::GetBandwidthWeightingEnumForName(jsonValue.GetString("BandwidthWeighting")); + m_bandwidthWeightingHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceNetworkPerformanceOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_bandwidthWeightingHasBeenSet) + { + payload.WithString("BandwidthWeighting", BandwidthWeightingEnumMapper::GetNameForBandwidthWeightingEnum(m_bandwidthWeighting)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp new file mode 100644 index 00000000000..8a44904e2ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceTypeInfo::InstanceTypeInfo(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceTypeInfo& InstanceTypeInfo::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceType")) + { + m_instanceType = jsonValue.GetString("InstanceType"); + m_instanceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceTypeInfo::Jsonize() const +{ + JsonValue payload; + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("InstanceType", m_instanceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp new file mode 100644 index 00000000000..d607d65e636 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace InterfaceTypeEnumMapper + { + + static const int interface_HASH = HashingUtils::HashString("interface"); + static const int efa_HASH = HashingUtils::HashString("efa"); + static const int efa_only_HASH = HashingUtils::HashString("efa-only"); + + + InterfaceTypeEnum GetInterfaceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == interface_HASH) + { + return InterfaceTypeEnum::interface; + } + else if (hashCode == efa_HASH) + { + return InterfaceTypeEnum::efa; + } + else if (hashCode == efa_only_HASH) + { + return InterfaceTypeEnum::efa_only; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InterfaceTypeEnum::NOT_SET; + } + + Aws::String GetNameForInterfaceTypeEnum(InterfaceTypeEnum enumValue) + { + switch(enumValue) + { + case InterfaceTypeEnum::NOT_SET: + return {}; + case InterfaceTypeEnum::interface: + return "interface"; + case InterfaceTypeEnum::efa: + return "efa"; + case InterfaceTypeEnum::efa_only: + return "efa-only"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InterfaceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..b392450c3bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InternalServerException::InternalServerException(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("RetryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("RetryAfterSeconds"); + m_retryAfterSecondsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("RetryAfterSeconds", m_retryAfterSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp new file mode 100644 index 00000000000..ce1a586f641 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Ipv4PrefixSpecificationRequest::Ipv4PrefixSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +Ipv4PrefixSpecificationRequest& Ipv4PrefixSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv4Prefix")) + { + m_ipv4Prefix = jsonValue.GetString("Ipv4Prefix"); + m_ipv4PrefixHasBeenSet = true; + } + return *this; +} + +JsonValue Ipv4PrefixSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_ipv4PrefixHasBeenSet) + { + payload.WithString("Ipv4Prefix", m_ipv4Prefix); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp new file mode 100644 index 00000000000..ea7c73bc270 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Ipv6PrefixSpecificationRequest::Ipv6PrefixSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +Ipv6PrefixSpecificationRequest& Ipv6PrefixSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv6Prefix")) + { + m_ipv6Prefix = jsonValue.GetString("Ipv6Prefix"); + m_ipv6PrefixHasBeenSet = true; + } + return *this; +} + +JsonValue Ipv6PrefixSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_ipv6PrefixHasBeenSet) + { + payload.WithString("Ipv6Prefix", m_ipv6Prefix); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp new file mode 100644 index 00000000000..77eeab0f915 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +LicenseConfigurationRequest::LicenseConfigurationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +LicenseConfigurationRequest& LicenseConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LicenseConfigurationArn")) + { + m_licenseConfigurationArn = jsonValue.GetString("LicenseConfigurationArn"); + m_licenseConfigurationArnHasBeenSet = true; + } + return *this; +} + +JsonValue LicenseConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_licenseConfigurationArnHasBeenSet) + { + payload.WithString("LicenseConfigurationArn", m_licenseConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp new file mode 100644 index 00000000000..c5313225ba6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListInstanceTypesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListInstanceTypesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListInstanceTypes")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp new file mode 100644 index 00000000000..f9f769228e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInstanceTypesResult::ListInstanceTypesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInstanceTypesResult& ListInstanceTypesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InstanceTypes")) + { + Aws::Utils::Array instanceTypesJsonList = jsonValue.GetArray("InstanceTypes"); + for(unsigned instanceTypesIndex = 0; instanceTypesIndex < instanceTypesJsonList.GetLength(); ++instanceTypesIndex) + { + m_instanceTypes.push_back(instanceTypesJsonList[instanceTypesIndex].AsObject()); + } + m_instanceTypesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp new file mode 100644 index 00000000000..a35f1fcfcf0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListRegionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRegionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListRegions")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp new file mode 100644 index 00000000000..d2a267e1aaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRegionsResult::ListRegionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRegionsResult& ListRegionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Regions")) + { + Aws::Utils::Array regionsJsonList = jsonValue.GetArray("Regions"); + for(unsigned regionsIndex = 0; regionsIndex < regionsJsonList.GetLength(); ++regionsIndex) + { + m_regions.push_back(regionsJsonList[regionsIndex].AsObject()); + } + m_regionsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..97951660a62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTagsForResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListTagsForResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..6187805f575 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp new file mode 100644 index 00000000000..45eb7d9f72b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListWorkspaceInstancesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_provisionStatesHasBeenSet) + { + Aws::Utils::Array provisionStatesJsonList(m_provisionStates.size()); + for(unsigned provisionStatesIndex = 0; provisionStatesIndex < provisionStatesJsonList.GetLength(); ++provisionStatesIndex) + { + provisionStatesJsonList[provisionStatesIndex].AsString(ProvisionStateEnumMapper::GetNameForProvisionStateEnum(m_provisionStates[provisionStatesIndex])); + } + payload.WithArray("ProvisionStates", std::move(provisionStatesJsonList)); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListWorkspaceInstancesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListWorkspaceInstances")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp new file mode 100644 index 00000000000..dbc491c0f85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListWorkspaceInstancesResult::ListWorkspaceInstancesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListWorkspaceInstancesResult& ListWorkspaceInstancesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstances")) + { + Aws::Utils::Array workspaceInstancesJsonList = jsonValue.GetArray("WorkspaceInstances"); + for(unsigned workspaceInstancesIndex = 0; workspaceInstancesIndex < workspaceInstancesJsonList.GetLength(); ++workspaceInstancesIndex) + { + m_workspaceInstances.push_back(workspaceInstancesJsonList[workspaceInstancesIndex].AsObject()); + } + m_workspaceInstancesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp new file mode 100644 index 00000000000..aa534b61a91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp @@ -0,0 +1,455 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ManagedInstanceRequest::ManagedInstanceRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +ManagedInstanceRequest& ManagedInstanceRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BlockDeviceMappings")) + { + Aws::Utils::Array blockDeviceMappingsJsonList = jsonValue.GetArray("BlockDeviceMappings"); + for(unsigned blockDeviceMappingsIndex = 0; blockDeviceMappingsIndex < blockDeviceMappingsJsonList.GetLength(); ++blockDeviceMappingsIndex) + { + m_blockDeviceMappings.push_back(blockDeviceMappingsJsonList[blockDeviceMappingsIndex].AsObject()); + } + m_blockDeviceMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationSpecification")) + { + m_capacityReservationSpecification = jsonValue.GetObject("CapacityReservationSpecification"); + m_capacityReservationSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("CpuOptions")) + { + m_cpuOptions = jsonValue.GetObject("CpuOptions"); + m_cpuOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreditSpecification")) + { + m_creditSpecification = jsonValue.GetObject("CreditSpecification"); + m_creditSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("DisableApiStop")) + { + m_disableApiStop = jsonValue.GetBool("DisableApiStop"); + m_disableApiStopHasBeenSet = true; + } + if(jsonValue.ValueExists("EbsOptimized")) + { + m_ebsOptimized = jsonValue.GetBool("EbsOptimized"); + m_ebsOptimizedHasBeenSet = true; + } + if(jsonValue.ValueExists("EnablePrimaryIpv6")) + { + m_enablePrimaryIpv6 = jsonValue.GetBool("EnablePrimaryIpv6"); + m_enablePrimaryIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("EnclaveOptions")) + { + m_enclaveOptions = jsonValue.GetObject("EnclaveOptions"); + m_enclaveOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("HibernationOptions")) + { + m_hibernationOptions = jsonValue.GetObject("HibernationOptions"); + m_hibernationOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("IamInstanceProfile")) + { + m_iamInstanceProfile = jsonValue.GetObject("IamInstanceProfile"); + m_iamInstanceProfileHasBeenSet = true; + } + if(jsonValue.ValueExists("ImageId")) + { + m_imageId = jsonValue.GetString("ImageId"); + m_imageIdHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceMarketOptions")) + { + m_instanceMarketOptions = jsonValue.GetObject("InstanceMarketOptions"); + m_instanceMarketOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceType")) + { + m_instanceType = jsonValue.GetString("InstanceType"); + m_instanceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Addresses")) + { + Aws::Utils::Array ipv6AddressesJsonList = jsonValue.GetArray("Ipv6Addresses"); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + m_ipv6Addresses.push_back(ipv6AddressesJsonList[ipv6AddressesIndex].AsObject()); + } + m_ipv6AddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6AddressCount")) + { + m_ipv6AddressCount = jsonValue.GetInteger("Ipv6AddressCount"); + m_ipv6AddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("KernelId")) + { + m_kernelId = jsonValue.GetString("KernelId"); + m_kernelIdHasBeenSet = true; + } + if(jsonValue.ValueExists("KeyName")) + { + m_keyName = jsonValue.GetString("KeyName"); + m_keyNameHasBeenSet = true; + } + if(jsonValue.ValueExists("LicenseSpecifications")) + { + Aws::Utils::Array licenseSpecificationsJsonList = jsonValue.GetArray("LicenseSpecifications"); + for(unsigned licenseSpecificationsIndex = 0; licenseSpecificationsIndex < licenseSpecificationsJsonList.GetLength(); ++licenseSpecificationsIndex) + { + m_licenseSpecifications.push_back(licenseSpecificationsJsonList[licenseSpecificationsIndex].AsObject()); + } + m_licenseSpecificationsHasBeenSet = true; + } + if(jsonValue.ValueExists("MaintenanceOptions")) + { + m_maintenanceOptions = jsonValue.GetObject("MaintenanceOptions"); + m_maintenanceOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataOptions")) + { + m_metadataOptions = jsonValue.GetObject("MetadataOptions"); + m_metadataOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("Monitoring")) + { + m_monitoring = jsonValue.GetObject("Monitoring"); + m_monitoringHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkInterfaces")) + { + Aws::Utils::Array networkInterfacesJsonList = jsonValue.GetArray("NetworkInterfaces"); + for(unsigned networkInterfacesIndex = 0; networkInterfacesIndex < networkInterfacesJsonList.GetLength(); ++networkInterfacesIndex) + { + m_networkInterfaces.push_back(networkInterfacesJsonList[networkInterfacesIndex].AsObject()); + } + m_networkInterfacesHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkPerformanceOptions")) + { + m_networkPerformanceOptions = jsonValue.GetObject("NetworkPerformanceOptions"); + m_networkPerformanceOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("Placement")) + { + m_placement = jsonValue.GetObject("Placement"); + m_placementHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateDnsNameOptions")) + { + m_privateDnsNameOptions = jsonValue.GetObject("PrivateDnsNameOptions"); + m_privateDnsNameOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("RamdiskId")) + { + m_ramdiskId = jsonValue.GetString("RamdiskId"); + m_ramdiskIdHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("SecurityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroups")) + { + Aws::Utils::Array securityGroupsJsonList = jsonValue.GetArray("SecurityGroups"); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + m_securityGroups.push_back(securityGroupsJsonList[securityGroupsIndex].AsString()); + } + m_securityGroupsHasBeenSet = true; + } + if(jsonValue.ValueExists("SubnetId")) + { + m_subnetId = jsonValue.GetString("SubnetId"); + m_subnetIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TagSpecifications")) + { + Aws::Utils::Array tagSpecificationsJsonList = jsonValue.GetArray("TagSpecifications"); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + m_tagSpecifications.push_back(tagSpecificationsJsonList[tagSpecificationsIndex].AsObject()); + } + m_tagSpecificationsHasBeenSet = true; + } + if(jsonValue.ValueExists("UserData")) + { + m_userData = jsonValue.GetString("UserData"); + m_userDataHasBeenSet = true; + } + return *this; +} + +JsonValue ManagedInstanceRequest::Jsonize() const +{ + JsonValue payload; + + if(m_blockDeviceMappingsHasBeenSet) + { + Aws::Utils::Array blockDeviceMappingsJsonList(m_blockDeviceMappings.size()); + for(unsigned blockDeviceMappingsIndex = 0; blockDeviceMappingsIndex < blockDeviceMappingsJsonList.GetLength(); ++blockDeviceMappingsIndex) + { + blockDeviceMappingsJsonList[blockDeviceMappingsIndex].AsObject(m_blockDeviceMappings[blockDeviceMappingsIndex].Jsonize()); + } + payload.WithArray("BlockDeviceMappings", std::move(blockDeviceMappingsJsonList)); + + } + + if(m_capacityReservationSpecificationHasBeenSet) + { + payload.WithObject("CapacityReservationSpecification", m_capacityReservationSpecification.Jsonize()); + + } + + if(m_cpuOptionsHasBeenSet) + { + payload.WithObject("CpuOptions", m_cpuOptions.Jsonize()); + + } + + if(m_creditSpecificationHasBeenSet) + { + payload.WithObject("CreditSpecification", m_creditSpecification.Jsonize()); + + } + + if(m_disableApiStopHasBeenSet) + { + payload.WithBool("DisableApiStop", m_disableApiStop); + + } + + if(m_ebsOptimizedHasBeenSet) + { + payload.WithBool("EbsOptimized", m_ebsOptimized); + + } + + if(m_enablePrimaryIpv6HasBeenSet) + { + payload.WithBool("EnablePrimaryIpv6", m_enablePrimaryIpv6); + + } + + if(m_enclaveOptionsHasBeenSet) + { + payload.WithObject("EnclaveOptions", m_enclaveOptions.Jsonize()); + + } + + if(m_hibernationOptionsHasBeenSet) + { + payload.WithObject("HibernationOptions", m_hibernationOptions.Jsonize()); + + } + + if(m_iamInstanceProfileHasBeenSet) + { + payload.WithObject("IamInstanceProfile", m_iamInstanceProfile.Jsonize()); + + } + + if(m_imageIdHasBeenSet) + { + payload.WithString("ImageId", m_imageId); + + } + + if(m_instanceMarketOptionsHasBeenSet) + { + payload.WithObject("InstanceMarketOptions", m_instanceMarketOptions.Jsonize()); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("InstanceType", m_instanceType); + + } + + if(m_ipv6AddressesHasBeenSet) + { + Aws::Utils::Array ipv6AddressesJsonList(m_ipv6Addresses.size()); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + ipv6AddressesJsonList[ipv6AddressesIndex].AsObject(m_ipv6Addresses[ipv6AddressesIndex].Jsonize()); + } + payload.WithArray("Ipv6Addresses", std::move(ipv6AddressesJsonList)); + + } + + if(m_ipv6AddressCountHasBeenSet) + { + payload.WithInteger("Ipv6AddressCount", m_ipv6AddressCount); + + } + + if(m_kernelIdHasBeenSet) + { + payload.WithString("KernelId", m_kernelId); + + } + + if(m_keyNameHasBeenSet) + { + payload.WithString("KeyName", m_keyName); + + } + + if(m_licenseSpecificationsHasBeenSet) + { + Aws::Utils::Array licenseSpecificationsJsonList(m_licenseSpecifications.size()); + for(unsigned licenseSpecificationsIndex = 0; licenseSpecificationsIndex < licenseSpecificationsJsonList.GetLength(); ++licenseSpecificationsIndex) + { + licenseSpecificationsJsonList[licenseSpecificationsIndex].AsObject(m_licenseSpecifications[licenseSpecificationsIndex].Jsonize()); + } + payload.WithArray("LicenseSpecifications", std::move(licenseSpecificationsJsonList)); + + } + + if(m_maintenanceOptionsHasBeenSet) + { + payload.WithObject("MaintenanceOptions", m_maintenanceOptions.Jsonize()); + + } + + if(m_metadataOptionsHasBeenSet) + { + payload.WithObject("MetadataOptions", m_metadataOptions.Jsonize()); + + } + + if(m_monitoringHasBeenSet) + { + payload.WithObject("Monitoring", m_monitoring.Jsonize()); + + } + + if(m_networkInterfacesHasBeenSet) + { + Aws::Utils::Array networkInterfacesJsonList(m_networkInterfaces.size()); + for(unsigned networkInterfacesIndex = 0; networkInterfacesIndex < networkInterfacesJsonList.GetLength(); ++networkInterfacesIndex) + { + networkInterfacesJsonList[networkInterfacesIndex].AsObject(m_networkInterfaces[networkInterfacesIndex].Jsonize()); + } + payload.WithArray("NetworkInterfaces", std::move(networkInterfacesJsonList)); + + } + + if(m_networkPerformanceOptionsHasBeenSet) + { + payload.WithObject("NetworkPerformanceOptions", m_networkPerformanceOptions.Jsonize()); + + } + + if(m_placementHasBeenSet) + { + payload.WithObject("Placement", m_placement.Jsonize()); + + } + + if(m_privateDnsNameOptionsHasBeenSet) + { + payload.WithObject("PrivateDnsNameOptions", m_privateDnsNameOptions.Jsonize()); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + if(m_ramdiskIdHasBeenSet) + { + payload.WithString("RamdiskId", m_ramdiskId); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("SecurityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + if(m_securityGroupsHasBeenSet) + { + Aws::Utils::Array securityGroupsJsonList(m_securityGroups.size()); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + securityGroupsJsonList[securityGroupsIndex].AsString(m_securityGroups[securityGroupsIndex]); + } + payload.WithArray("SecurityGroups", std::move(securityGroupsJsonList)); + + } + + if(m_subnetIdHasBeenSet) + { + payload.WithString("SubnetId", m_subnetId); + + } + + if(m_tagSpecificationsHasBeenSet) + { + Aws::Utils::Array tagSpecificationsJsonList(m_tagSpecifications.size()); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + tagSpecificationsJsonList[tagSpecificationsIndex].AsObject(m_tagSpecifications[tagSpecificationsIndex].Jsonize()); + } + payload.WithArray("TagSpecifications", std::move(tagSpecificationsJsonList)); + + } + + if(m_userDataHasBeenSet) + { + payload.WithString("UserData", m_userData); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp new file mode 100644 index 00000000000..635507a697d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace MarketTypeEnumMapper + { + + static const int spot_HASH = HashingUtils::HashString("spot"); + static const int capacity_block_HASH = HashingUtils::HashString("capacity-block"); + + + MarketTypeEnum GetMarketTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == spot_HASH) + { + return MarketTypeEnum::spot; + } + else if (hashCode == capacity_block_HASH) + { + return MarketTypeEnum::capacity_block; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MarketTypeEnum::NOT_SET; + } + + Aws::String GetNameForMarketTypeEnum(MarketTypeEnum enumValue) + { + switch(enumValue) + { + case MarketTypeEnum::NOT_SET: + return {}; + case MarketTypeEnum::spot: + return "spot"; + case MarketTypeEnum::capacity_block: + return "capacity-block"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MarketTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp new file mode 100644 index 00000000000..4de0070a804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Placement::Placement(JsonView jsonValue) +{ + *this = jsonValue; +} + +Placement& Placement::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Affinity")) + { + m_affinity = jsonValue.GetString("Affinity"); + m_affinityHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZone")) + { + m_availabilityZone = jsonValue.GetString("AvailabilityZone"); + m_availabilityZoneHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupId")) + { + m_groupId = jsonValue.GetString("GroupId"); + m_groupIdHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupName")) + { + m_groupName = jsonValue.GetString("GroupName"); + m_groupNameHasBeenSet = true; + } + if(jsonValue.ValueExists("HostId")) + { + m_hostId = jsonValue.GetString("HostId"); + m_hostIdHasBeenSet = true; + } + if(jsonValue.ValueExists("HostResourceGroupArn")) + { + m_hostResourceGroupArn = jsonValue.GetString("HostResourceGroupArn"); + m_hostResourceGroupArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PartitionNumber")) + { + m_partitionNumber = jsonValue.GetInteger("PartitionNumber"); + m_partitionNumberHasBeenSet = true; + } + if(jsonValue.ValueExists("Tenancy")) + { + m_tenancy = TenancyEnumMapper::GetTenancyEnumForName(jsonValue.GetString("Tenancy")); + m_tenancyHasBeenSet = true; + } + return *this; +} + +JsonValue Placement::Jsonize() const +{ + JsonValue payload; + + if(m_affinityHasBeenSet) + { + payload.WithString("Affinity", m_affinity); + + } + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("AvailabilityZone", m_availabilityZone); + + } + + if(m_groupIdHasBeenSet) + { + payload.WithString("GroupId", m_groupId); + + } + + if(m_groupNameHasBeenSet) + { + payload.WithString("GroupName", m_groupName); + + } + + if(m_hostIdHasBeenSet) + { + payload.WithString("HostId", m_hostId); + + } + + if(m_hostResourceGroupArnHasBeenSet) + { + payload.WithString("HostResourceGroupArn", m_hostResourceGroupArn); + + } + + if(m_partitionNumberHasBeenSet) + { + payload.WithInteger("PartitionNumber", m_partitionNumber); + + } + + if(m_tenancyHasBeenSet) + { + payload.WithString("Tenancy", TenancyEnumMapper::GetNameForTenancyEnum(m_tenancy)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp new file mode 100644 index 00000000000..b1f1004269f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +PrivateDnsNameOptionsRequest::PrivateDnsNameOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +PrivateDnsNameOptionsRequest& PrivateDnsNameOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("HostnameType")) + { + m_hostnameType = HostnameTypeEnumMapper::GetHostnameTypeEnumForName(jsonValue.GetString("HostnameType")); + m_hostnameTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("EnableResourceNameDnsARecord")) + { + m_enableResourceNameDnsARecord = jsonValue.GetBool("EnableResourceNameDnsARecord"); + m_enableResourceNameDnsARecordHasBeenSet = true; + } + if(jsonValue.ValueExists("EnableResourceNameDnsAAAARecord")) + { + m_enableResourceNameDnsAAAARecord = jsonValue.GetBool("EnableResourceNameDnsAAAARecord"); + m_enableResourceNameDnsAAAARecordHasBeenSet = true; + } + return *this; +} + +JsonValue PrivateDnsNameOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_hostnameTypeHasBeenSet) + { + payload.WithString("HostnameType", HostnameTypeEnumMapper::GetNameForHostnameTypeEnum(m_hostnameType)); + } + + if(m_enableResourceNameDnsARecordHasBeenSet) + { + payload.WithBool("EnableResourceNameDnsARecord", m_enableResourceNameDnsARecord); + + } + + if(m_enableResourceNameDnsAAAARecordHasBeenSet) + { + payload.WithBool("EnableResourceNameDnsAAAARecord", m_enableResourceNameDnsAAAARecord); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp new file mode 100644 index 00000000000..0a38736dc81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +PrivateIpAddressSpecification::PrivateIpAddressSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +PrivateIpAddressSpecification& PrivateIpAddressSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Primary")) + { + m_primary = jsonValue.GetBool("Primary"); + m_primaryHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + return *this; +} + +JsonValue PrivateIpAddressSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_primaryHasBeenSet) + { + payload.WithBool("Primary", m_primary); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp new file mode 100644 index 00000000000..df39ac62aa5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ProvisionStateEnumMapper + { + + static const int ALLOCATING_HASH = HashingUtils::HashString("ALLOCATING"); + static const int ALLOCATED_HASH = HashingUtils::HashString("ALLOCATED"); + static const int DEALLOCATING_HASH = HashingUtils::HashString("DEALLOCATING"); + static const int DEALLOCATED_HASH = HashingUtils::HashString("DEALLOCATED"); + static const int ERROR_ALLOCATING_HASH = HashingUtils::HashString("ERROR_ALLOCATING"); + static const int ERROR_DEALLOCATING_HASH = HashingUtils::HashString("ERROR_DEALLOCATING"); + + + ProvisionStateEnum GetProvisionStateEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALLOCATING_HASH) + { + return ProvisionStateEnum::ALLOCATING; + } + else if (hashCode == ALLOCATED_HASH) + { + return ProvisionStateEnum::ALLOCATED; + } + else if (hashCode == DEALLOCATING_HASH) + { + return ProvisionStateEnum::DEALLOCATING; + } + else if (hashCode == DEALLOCATED_HASH) + { + return ProvisionStateEnum::DEALLOCATED; + } + else if (hashCode == ERROR_ALLOCATING_HASH) + { + return ProvisionStateEnum::ERROR_ALLOCATING; + } + else if (hashCode == ERROR_DEALLOCATING_HASH) + { + return ProvisionStateEnum::ERROR_DEALLOCATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProvisionStateEnum::NOT_SET; + } + + Aws::String GetNameForProvisionStateEnum(ProvisionStateEnum enumValue) + { + switch(enumValue) + { + case ProvisionStateEnum::NOT_SET: + return {}; + case ProvisionStateEnum::ALLOCATING: + return "ALLOCATING"; + case ProvisionStateEnum::ALLOCATED: + return "ALLOCATED"; + case ProvisionStateEnum::DEALLOCATING: + return "DEALLOCATING"; + case ProvisionStateEnum::DEALLOCATED: + return "DEALLOCATED"; + case ProvisionStateEnum::ERROR_ALLOCATING: + return "ERROR_ALLOCATING"; + case ProvisionStateEnum::ERROR_DEALLOCATING: + return "ERROR_DEALLOCATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProvisionStateEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp new file mode 100644 index 00000000000..1c228087bf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Region::Region(JsonView jsonValue) +{ + *this = jsonValue; +} + +Region& Region::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RegionName")) + { + m_regionName = jsonValue.GetString("RegionName"); + m_regionNameHasBeenSet = true; + } + return *this; +} + +JsonValue Region::Jsonize() const +{ + JsonValue payload; + + if(m_regionNameHasBeenSet) + { + payload.WithString("RegionName", m_regionName); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..77d9270b219 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp new file mode 100644 index 00000000000..d925be1006d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ResourceTypeEnumMapper + { + + static const int instance_HASH = HashingUtils::HashString("instance"); + static const int volume_HASH = HashingUtils::HashString("volume"); + static const int spot_instances_request_HASH = HashingUtils::HashString("spot-instances-request"); + static const int network_interface_HASH = HashingUtils::HashString("network-interface"); + + + ResourceTypeEnum GetResourceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == instance_HASH) + { + return ResourceTypeEnum::instance; + } + else if (hashCode == volume_HASH) + { + return ResourceTypeEnum::volume; + } + else if (hashCode == spot_instances_request_HASH) + { + return ResourceTypeEnum::spot_instances_request; + } + else if (hashCode == network_interface_HASH) + { + return ResourceTypeEnum::network_interface; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceTypeEnum::NOT_SET; + } + + Aws::String GetNameForResourceTypeEnum(ResourceTypeEnum enumValue) + { + switch(enumValue) + { + case ResourceTypeEnum::NOT_SET: + return {}; + case ResourceTypeEnum::instance: + return "instance"; + case ResourceTypeEnum::volume: + return "volume"; + case ResourceTypeEnum::spot_instances_request: + return "spot-instances-request"; + case ResourceTypeEnum::network_interface: + return "network-interface"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp new file mode 100644 index 00000000000..efbf9d7a3ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +RunInstancesMonitoringEnabled::RunInstancesMonitoringEnabled(JsonView jsonValue) +{ + *this = jsonValue; +} + +RunInstancesMonitoringEnabled& RunInstancesMonitoringEnabled::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Enabled")) + { + m_enabled = jsonValue.GetBool("Enabled"); + m_enabledHasBeenSet = true; + } + return *this; +} + +JsonValue RunInstancesMonitoringEnabled::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("Enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..d2042865534 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + m_quotaCodeHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp new file mode 100644 index 00000000000..d7cf623a9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace SpotInstanceTypeEnumMapper + { + + static const int one_time_HASH = HashingUtils::HashString("one-time"); + static const int persistent_HASH = HashingUtils::HashString("persistent"); + + + SpotInstanceTypeEnum GetSpotInstanceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == one_time_HASH) + { + return SpotInstanceTypeEnum::one_time; + } + else if (hashCode == persistent_HASH) + { + return SpotInstanceTypeEnum::persistent; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SpotInstanceTypeEnum::NOT_SET; + } + + Aws::String GetNameForSpotInstanceTypeEnum(SpotInstanceTypeEnum enumValue) + { + switch(enumValue) + { + case SpotInstanceTypeEnum::NOT_SET: + return {}; + case SpotInstanceTypeEnum::one_time: + return "one-time"; + case SpotInstanceTypeEnum::persistent: + return "persistent"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SpotInstanceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp new file mode 100644 index 00000000000..7e884bc4e35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +SpotMarketOptions::SpotMarketOptions(JsonView jsonValue) +{ + *this = jsonValue; +} + +SpotMarketOptions& SpotMarketOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BlockDurationMinutes")) + { + m_blockDurationMinutes = jsonValue.GetInteger("BlockDurationMinutes"); + m_blockDurationMinutesHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceInterruptionBehavior")) + { + m_instanceInterruptionBehavior = InstanceInterruptionBehaviorEnumMapper::GetInstanceInterruptionBehaviorEnumForName(jsonValue.GetString("InstanceInterruptionBehavior")); + m_instanceInterruptionBehaviorHasBeenSet = true; + } + if(jsonValue.ValueExists("MaxPrice")) + { + m_maxPrice = jsonValue.GetString("MaxPrice"); + m_maxPriceHasBeenSet = true; + } + if(jsonValue.ValueExists("SpotInstanceType")) + { + m_spotInstanceType = SpotInstanceTypeEnumMapper::GetSpotInstanceTypeEnumForName(jsonValue.GetString("SpotInstanceType")); + m_spotInstanceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ValidUntilUtc")) + { + m_validUntilUtc = jsonValue.GetDouble("ValidUntilUtc"); + m_validUntilUtcHasBeenSet = true; + } + return *this; +} + +JsonValue SpotMarketOptions::Jsonize() const +{ + JsonValue payload; + + if(m_blockDurationMinutesHasBeenSet) + { + payload.WithInteger("BlockDurationMinutes", m_blockDurationMinutes); + + } + + if(m_instanceInterruptionBehaviorHasBeenSet) + { + payload.WithString("InstanceInterruptionBehavior", InstanceInterruptionBehaviorEnumMapper::GetNameForInstanceInterruptionBehaviorEnum(m_instanceInterruptionBehavior)); + } + + if(m_maxPriceHasBeenSet) + { + payload.WithString("MaxPrice", m_maxPrice); + + } + + if(m_spotInstanceTypeHasBeenSet) + { + payload.WithString("SpotInstanceType", SpotInstanceTypeEnumMapper::GetNameForSpotInstanceTypeEnum(m_spotInstanceType)); + } + + if(m_validUntilUtcHasBeenSet) + { + payload.WithDouble("ValidUntilUtc", m_validUntilUtc.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp new file mode 100644 index 00000000000..e1e4b7f48a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Tag::Tag(JsonView jsonValue) +{ + *this = jsonValue; +} + +Tag& Tag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue Tag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..7b3b5a5cb79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.TagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..44434ff1273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp new file mode 100644 index 00000000000..a30dd992979 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +TagSpecification::TagSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +TagSpecification& TagSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = ResourceTypeEnumMapper::GetResourceTypeEnumForName(jsonValue.GetString("ResourceType")); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + return *this; +} + +JsonValue TagSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", ResourceTypeEnumMapper::GetNameForResourceTypeEnum(m_resourceType)); + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp new file mode 100644 index 00000000000..1da8b190f4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace TenancyEnumMapper + { + + static const int default__HASH = HashingUtils::HashString("default"); + static const int dedicated_HASH = HashingUtils::HashString("dedicated"); + static const int host_HASH = HashingUtils::HashString("host"); + + + TenancyEnum GetTenancyEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == default__HASH) + { + return TenancyEnum::default_; + } + else if (hashCode == dedicated_HASH) + { + return TenancyEnum::dedicated; + } + else if (hashCode == host_HASH) + { + return TenancyEnum::host; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TenancyEnum::NOT_SET; + } + + Aws::String GetNameForTenancyEnum(TenancyEnum enumValue) + { + switch(enumValue) + { + case TenancyEnum::NOT_SET: + return {}; + case TenancyEnum::default_: + return "default"; + case TenancyEnum::dedicated: + return "dedicated"; + case TenancyEnum::host: + return "host"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TenancyEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..b472ce4b739 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ThrottlingException::ThrottlingException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + m_quotaCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("RetryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("RetryAfterSeconds"); + m_retryAfterSecondsHasBeenSet = true; + } + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("RetryAfterSeconds", m_retryAfterSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..bbb6f21e90b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_tagKeysHasBeenSet) + { + Aws::Utils::Array tagKeysJsonList(m_tagKeys.size()); + for(unsigned tagKeysIndex = 0; tagKeysIndex < tagKeysJsonList.GetLength(); ++tagKeysIndex) + { + tagKeysJsonList[tagKeysIndex].AsString(m_tagKeys[tagKeysIndex]); + } + payload.WithArray("TagKeys", std::move(tagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UntagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.UntagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..b1ceae5003f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp new file mode 100644 index 00000000000..939d7286bd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ValidationException::ValidationException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("Reason")); + m_reasonHasBeenSet = true; + } + if(jsonValue.ValueExists("FieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("FieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("FieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..c5dbd241f3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Reason")) + { + m_reason = jsonValue.GetString("Reason"); + m_reasonHasBeenSet = true; + } + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", m_reason); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..598012f5a73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UNKNOWN_OPERATION_HASH = HashingUtils::HashString("UNKNOWN_OPERATION"); + static const int UNSUPPORTED_OPERATION_HASH = HashingUtils::HashString("UNSUPPORTED_OPERATION"); + static const int CANNOT_PARSE_HASH = HashingUtils::HashString("CANNOT_PARSE"); + static const int FIELD_VALIDATION_FAILED_HASH = HashingUtils::HashString("FIELD_VALIDATION_FAILED"); + static const int DEPENDENCY_FAILURE_HASH = HashingUtils::HashString("DEPENDENCY_FAILURE"); + static const int OTHER_HASH = HashingUtils::HashString("OTHER"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UNKNOWN_OPERATION_HASH) + { + return ValidationExceptionReason::UNKNOWN_OPERATION; + } + else if (hashCode == UNSUPPORTED_OPERATION_HASH) + { + return ValidationExceptionReason::UNSUPPORTED_OPERATION; + } + else if (hashCode == CANNOT_PARSE_HASH) + { + return ValidationExceptionReason::CANNOT_PARSE; + } + else if (hashCode == FIELD_VALIDATION_FAILED_HASH) + { + return ValidationExceptionReason::FIELD_VALIDATION_FAILED; + } + else if (hashCode == DEPENDENCY_FAILURE_HASH) + { + return ValidationExceptionReason::DEPENDENCY_FAILURE; + } + else if (hashCode == OTHER_HASH) + { + return ValidationExceptionReason::OTHER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UNKNOWN_OPERATION: + return "UNKNOWN_OPERATION"; + case ValidationExceptionReason::UNSUPPORTED_OPERATION: + return "UNSUPPORTED_OPERATION"; + case ValidationExceptionReason::CANNOT_PARSE: + return "CANNOT_PARSE"; + case ValidationExceptionReason::FIELD_VALIDATION_FAILED: + return "FIELD_VALIDATION_FAILED"; + case ValidationExceptionReason::DEPENDENCY_FAILURE: + return "DEPENDENCY_FAILURE"; + case ValidationExceptionReason::OTHER: + return "OTHER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp new file mode 100644 index 00000000000..6770dbcaada --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace VolumeTypeEnumMapper + { + + static const int standard_HASH = HashingUtils::HashString("standard"); + static const int io1_HASH = HashingUtils::HashString("io1"); + static const int io2_HASH = HashingUtils::HashString("io2"); + static const int gp2_HASH = HashingUtils::HashString("gp2"); + static const int sc1_HASH = HashingUtils::HashString("sc1"); + static const int st1_HASH = HashingUtils::HashString("st1"); + static const int gp3_HASH = HashingUtils::HashString("gp3"); + + + VolumeTypeEnum GetVolumeTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == standard_HASH) + { + return VolumeTypeEnum::standard; + } + else if (hashCode == io1_HASH) + { + return VolumeTypeEnum::io1; + } + else if (hashCode == io2_HASH) + { + return VolumeTypeEnum::io2; + } + else if (hashCode == gp2_HASH) + { + return VolumeTypeEnum::gp2; + } + else if (hashCode == sc1_HASH) + { + return VolumeTypeEnum::sc1; + } + else if (hashCode == st1_HASH) + { + return VolumeTypeEnum::st1; + } + else if (hashCode == gp3_HASH) + { + return VolumeTypeEnum::gp3; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VolumeTypeEnum::NOT_SET; + } + + Aws::String GetNameForVolumeTypeEnum(VolumeTypeEnum enumValue) + { + switch(enumValue) + { + case VolumeTypeEnum::NOT_SET: + return {}; + case VolumeTypeEnum::standard: + return "standard"; + case VolumeTypeEnum::io1: + return "io1"; + case VolumeTypeEnum::io2: + return "io2"; + case VolumeTypeEnum::gp2: + return "gp2"; + case VolumeTypeEnum::sc1: + return "sc1"; + case VolumeTypeEnum::st1: + return "st1"; + case VolumeTypeEnum::gp3: + return "gp3"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VolumeTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp new file mode 100644 index 00000000000..ee992ff8724 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +WorkspaceInstance::WorkspaceInstance(JsonView jsonValue) +{ + *this = jsonValue; +} + +WorkspaceInstance& WorkspaceInstance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProvisionState")) + { + m_provisionState = ProvisionStateEnumMapper::GetProvisionStateEnumForName(jsonValue.GetString("ProvisionState")); + m_provisionStateHasBeenSet = true; + } + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ManagedInstance")) + { + m_eC2ManagedInstance = jsonValue.GetObject("EC2ManagedInstance"); + m_eC2ManagedInstanceHasBeenSet = true; + } + return *this; +} + +JsonValue WorkspaceInstance::Jsonize() const +{ + JsonValue payload; + + if(m_provisionStateHasBeenSet) + { + payload.WithString("ProvisionState", ProvisionStateEnumMapper::GetNameForProvisionStateEnum(m_provisionState)); + } + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_eC2ManagedInstanceHasBeenSet) + { + payload.WithObject("EC2ManagedInstance", m_eC2ManagedInstance.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp new file mode 100644 index 00000000000..2f0603d48e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +WorkspaceInstanceError::WorkspaceInstanceError(JsonView jsonValue) +{ + *this = jsonValue; +} + +WorkspaceInstanceError& WorkspaceInstanceError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = jsonValue.GetString("ErrorCode"); + m_errorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorMessage")) + { + m_errorMessage = jsonValue.GetString("ErrorMessage"); + m_errorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue WorkspaceInstanceError::Jsonize() const +{ + JsonValue payload; + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", m_errorCode); + + } + + if(m_errorMessageHasBeenSet) + { + payload.WithString("ErrorMessage", m_errorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp index 33e843cb0a5..ca6cd6979e0 100644 --- a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp +++ b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp @@ -131,7 +131,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -561,6 +563,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp b/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp index bfda66ff5aa..0fe907bc2b0 100644 --- a/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp +++ b/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt b/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..fc06c9a6199 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(workspaces-instances-gen-tests + "Tests for the AWS WORKSPACES-INSTANCES C++ SDK" + testing-resources + aws-cpp-sdk-workspaces-instances + aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/workspaces-instances-gen-tests/RunTests.cpp b/generated/tests/workspaces-instances-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp new file mode 100644 index 00000000000..bad4491e0e3 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSWorkspacesInstancesEndpointProviderTests"; +using WorkspacesInstancesEndpointProvider = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct WorkspacesInstancesEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class WorkspacesInstancesEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> WorkspacesInstancesEndpointProviderTests::TEST_CASES; +const size_t WorkspacesInstancesEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector WorkspacesInstancesEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const WorkspacesInstancesEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(WorkspacesInstancesEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const WorkspacesInstancesEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/WorkspacesInstancesEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize WorkspacesInstancesEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + WorkspacesInstancesEndpointProviderTests, + ::testing::Range((size_t) 0u, WorkspacesInstancesEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp new file mode 100644 index 00000000000..6d35228729b --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using WorkspacesInstancesIncludeTest = ::testing::Test; + +TEST_F(WorkspacesInstancesIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("WorkspacesInstancesIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index a7ada58b18f..fb8284adaed 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.593" +#define AWS_SDK_VERSION_STRING "1.11.594" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 593 +#define AWS_SDK_VERSION_PATCH 594 diff --git a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json index 578d924265c..7d557c45e81 100644 --- a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json +++ b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json @@ -7349,6 +7349,16 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" }, + "CompactionConfiguration":{ + "type":"structure", + "members":{ + "icebergConfiguration":{ + "shape":"IcebergCompactionConfiguration", + "documentation":"

              The configuration for an Iceberg compaction optimizer.

              " + } + }, + "documentation":"

              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve query performance and reduce storage costs.

              " + }, "CompactionMetrics":{ "type":"structure", "members":{ @@ -7359,6 +7369,14 @@ }, "documentation":"

              A structure that contains compaction metrics for the optimizer run.

              " }, + "CompactionStrategy":{ + "type":"string", + "enum":[ + "binpack", + "sort", + "z-order" + ] + }, "Comparator":{ "type":"string", "enum":[ @@ -16545,6 +16563,16 @@ "type":"string", "pattern":"^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+" }, + "IcebergCompactionConfiguration":{ + "type":"structure", + "members":{ + "strategy":{ + "shape":"CompactionStrategy", + "documentation":"

              The strategy to use for compaction. Valid values are:

              • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

              • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

              • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

              If an input is not provided, the default value 'binpack' will be used.

              " + } + }, + "documentation":"

              The configuration for an Iceberg compaction optimizer. This configuration defines parameters for optimizing the layout of data files in Iceberg tables.

              " + }, "IcebergCompactionMetrics":{ "type":"structure", "members":{ @@ -24936,6 +24964,10 @@ "shape":"TableOptimizerVpcConfiguration", "documentation":"

              A TableOptimizerVpcConfiguration object representing the VPC configuration for a table optimizer.

              This configuration is necessary to perform optimization on tables that are in a customer VPC.

              " }, + "compactionConfiguration":{ + "shape":"CompactionConfiguration", + "documentation":"

              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve query performance and reduce storage costs.

              " + }, "retentionConfiguration":{ "shape":"RetentionConfiguration", "documentation":"

              The configuration for a snapshot retention optimizer.

              " @@ -24985,6 +25017,10 @@ "shape":"CompactionMetrics", "documentation":"

              A CompactionMetrics object containing metrics for the optimizer run.

              " }, + "compactionStrategy":{ + "shape":"CompactionStrategy", + "documentation":"

              The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

              • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

              • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

              • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

              " + }, "retentionMetrics":{ "shape":"RetentionMetrics", "documentation":"

              A RetentionMetrics object containing metrics for the optimizer run.

              " diff --git a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json index 281f0dcbdac..9683f46bab6 100644 --- a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json @@ -337,7 +337,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

              Permissions

              You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

              " + "documentation":"

              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

              Permissions
              • You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

              • You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder.

              " }, "GetTableMaintenanceJobStatus":{ "name":"GetTableMaintenanceJobStatus", @@ -1413,10 +1413,23 @@ "targetFileSizeMB":{ "shape":"PositiveInteger", "documentation":"

              The target file size for the table in MB.

              " + }, + "strategy":{ + "shape":"IcebergCompactionStrategy", + "documentation":"

              The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

              " } }, "documentation":"

              Contains details about the compaction settings for an Iceberg table.

              " }, + "IcebergCompactionStrategy":{ + "type":"string", + "enum":[ + "auto", + "binpack", + "sort", + "z-order" + ] + }, "IcebergMetadata":{ "type":"structure", "required":["schema"], diff --git a/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json b/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json new file mode 100644 index 00000000000..0b6c36125e5 --- /dev/null +++ b/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json @@ -0,0 +1,1945 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"workspaces-instances", + "jsonVersion":"1.0", + "protocol":"json", + "protocols":["json"], + "serviceFullName":"Amazon Workspaces Instances", + "serviceId":"Workspaces Instances", + "signatureVersion":"v4", + "signingName":"workspaces-instances", + "targetPrefix":"EUCMIFrontendAPIService", + "uid":"workspaces-instances-2022-07-26" + }, + "operations":{ + "AssociateVolume":{ + "name":"AssociateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateVolumeRequest"}, + "output":{"shape":"AssociateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Attaches a volume to a WorkSpace Instance.

              " + }, + "CreateVolume":{ + "name":"CreateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVolumeRequest"}, + "output":{"shape":"CreateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Creates a new volume for WorkSpace Instances.

              ", + "idempotent":true + }, + "CreateWorkspaceInstance":{ + "name":"CreateWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkspaceInstanceRequest"}, + "output":{"shape":"CreateWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Launches a new WorkSpace Instance with specified configuration parameters, enabling programmatic workspace deployment.

              ", + "idempotent":true + }, + "DeleteVolume":{ + "name":"DeleteVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVolumeRequest"}, + "output":{"shape":"DeleteVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Deletes a specified volume.

              " + }, + "DeleteWorkspaceInstance":{ + "name":"DeleteWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkspaceInstanceRequest"}, + "output":{"shape":"DeleteWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Deletes the specified WorkSpace

              " + }, + "DisassociateVolume":{ + "name":"DisassociateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateVolumeRequest"}, + "output":{"shape":"DisassociateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

              Detaches a volume from a WorkSpace Instance.

              " + }, + "GetWorkspaceInstance":{ + "name":"GetWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkspaceInstanceRequest"}, + "output":{"shape":"GetWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Retrieves detailed information about a specific WorkSpace Instance.

              " + }, + "ListInstanceTypes":{ + "name":"ListInstanceTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceTypesRequest"}, + "output":{"shape":"ListInstanceTypesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Retrieves a list of instance types supported by Amazon WorkSpaces Instances, enabling precise workspace infrastructure configuration.

              " + }, + "ListRegions":{ + "name":"ListRegions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegionsRequest"}, + "output":{"shape":"ListRegionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, enabling region discovery for workspace deployments.

              " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Retrieves tags for a WorkSpace Instance.

              " + }, + "ListWorkspaceInstances":{ + "name":"ListWorkspaceInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkspaceInstancesRequest"}, + "output":{"shape":"ListWorkspaceInstancesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Retrieves a collection of WorkSpaces Instances based on specified filters.

              " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Adds tags to a WorkSpace Instance.

              " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

              Removes tags from a WorkSpace Instance.

              " + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*" + }, + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Detailed explanation of the access denial.

              " + } + }, + "documentation":"

              Indicates insufficient permissions to perform the requested action.

              ", + "exception":true + }, + "AmdSevSnpEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "AssociateVolumeRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "VolumeId", + "Device" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              WorkSpace Instance to attach volume to.

              " + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

              Volume to be attached.

              " + }, + "Device":{ + "shape":"DeviceName", + "documentation":"

              Device path for volume attachment.

              " + } + }, + "documentation":"

              Specifies volume attachment parameters.

              " + }, + "AssociateVolumeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms volume attachment.

              " + }, + "AutoRecoveryEnum":{ + "type":"string", + "enum":[ + "disabled", + "default" + ] + }, + "AvailabilityZone":{ + "type":"string", + "pattern":"[a-z]{2}-[a-z]+-\\d[a-z](-[a-z0-9]+)?" + }, + "BandwidthWeightingEnum":{ + "type":"string", + "enum":[ + "default", + "vpc-1", + "ebs-1" + ] + }, + "BlockDeviceMappingRequest":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"DeviceName", + "documentation":"

              Name of the device for storage mapping.

              " + }, + "Ebs":{ + "shape":"EbsBlockDevice", + "documentation":"

              EBS volume configuration for the device.

              " + }, + "NoDevice":{ + "shape":"DeviceName", + "documentation":"

              Indicates device should not be mapped.

              " + }, + "VirtualName":{ + "shape":"VirtualName", + "documentation":"

              Virtual device name for ephemeral storage.

              " + } + }, + "documentation":"

              Defines device mapping for WorkSpace Instance storage.

              " + }, + "BlockDeviceMappings":{ + "type":"list", + "member":{"shape":"BlockDeviceMappingRequest"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CapacityReservationPreferenceEnum":{ + "type":"string", + "enum":[ + "capacity-reservations-only", + "open", + "none" + ] + }, + "CapacityReservationSpecification":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreferenceEnum", + "documentation":"

              Preference for using capacity reservation.

              " + }, + "CapacityReservationTarget":{ + "shape":"CapacityReservationTarget", + "documentation":"

              Specific capacity reservation target.

              " + } + }, + "documentation":"

              Specifies capacity reservation preferences.

              " + }, + "CapacityReservationTarget":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"String128", + "documentation":"

              Unique identifier for the capacity reservation.

              " + }, + "CapacityReservationResourceGroupArn":{ + "shape":"ARN", + "documentation":"

              ARN of the capacity reservation resource group.

              " + } + }, + "documentation":"

              Identifies a specific capacity reservation.

              " + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, + "ConflictException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Description of the conflict encountered.

              " + }, + "ResourceId":{ + "shape":"String", + "documentation":"

              Identifier of the conflicting resource.

              " + }, + "ResourceType":{ + "shape":"String", + "documentation":"

              Type of the conflicting resource.

              " + } + }, + "documentation":"

              Signals a conflict with the current state of the resource.

              ", + "exception":true + }, + "ConnectionTrackingSpecificationRequest":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

              Timeout for established TCP connections.

              " + }, + "UdpStreamTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

              Timeout for UDP stream connections.

              " + }, + "UdpTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

              General timeout for UDP connections.

              " + } + }, + "documentation":"

              Defines connection tracking parameters for network interfaces.

              " + }, + "CpuCreditsEnum":{ + "type":"string", + "enum":[ + "standard", + "unlimited" + ] + }, + "CpuOptionsRequest":{ + "type":"structure", + "members":{ + "AmdSevSnp":{ + "shape":"AmdSevSnpEnum", + "documentation":"

              AMD Secure Encrypted Virtualization configuration.

              " + }, + "CoreCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of CPU cores to allocate.

              " + }, + "ThreadsPerCore":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of threads per CPU core.

              " + } + }, + "documentation":"

              Configures CPU-specific settings for WorkSpace Instance.

              " + }, + "CreateVolumeRequest":{ + "type":"structure", + "required":["AvailabilityZone"], + "members":{ + "AvailabilityZone":{ + "shape":"String64", + "documentation":"

              Availability zone for the volume.

              " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

              Unique token to prevent duplicate volume creation.

              ", + "idempotencyToken":true + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

              Indicates if the volume should be encrypted.

              " + }, + "Iops":{ + "shape":"NonNegativeInteger", + "documentation":"

              Input/output operations per second for the volume.

              " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

              KMS key for volume encryption.

              " + }, + "SizeInGB":{ + "shape":"NonNegativeInteger", + "documentation":"

              Volume size in gigabytes.

              " + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

              Source snapshot for volume creation.

              " + }, + "TagSpecifications":{ + "shape":"TagSpecifications", + "documentation":"

              Metadata tags for the volume.

              " + }, + "Throughput":{ + "shape":"NonNegativeInteger", + "documentation":"

              Volume throughput performance.

              " + }, + "VolumeType":{ + "shape":"VolumeTypeEnum", + "documentation":"

              Type of EBS volume.

              " + } + }, + "documentation":"

              Specifies volume creation parameters.

              " + }, + "CreateVolumeResponse":{ + "type":"structure", + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

              Unique identifier for the new volume.

              " + } + }, + "documentation":"

              Returns the created volume identifier.

              " + }, + "CreateWorkspaceInstanceRequest":{ + "type":"structure", + "required":["ManagedInstance"], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

              Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.

              ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

              Optional metadata tags for categorizing and managing WorkSpaces Instances.

              " + }, + "ManagedInstance":{ + "shape":"ManagedInstanceRequest", + "documentation":"

              Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.

              " + } + }, + "documentation":"

              Defines the configuration parameters for creating a new WorkSpaces Instance.

              " + }, + "CreateWorkspaceInstanceResponse":{ + "type":"structure", + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier assigned to the newly created WorkSpaces Instance.

              " + } + }, + "documentation":"

              Returns the unique identifier for the newly created WorkSpaces Instance.

              " + }, + "CreditSpecificationRequest":{ + "type":"structure", + "members":{ + "CpuCredits":{ + "shape":"CpuCreditsEnum", + "documentation":"

              CPU credit specification mode.

              " + } + }, + "documentation":"

              Defines CPU credit configuration for burstable instances.

              " + }, + "DeleteVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

              Identifier of the volume to delete.

              " + } + }, + "documentation":"

              Specifies the volume to delete.

              " + }, + "DeleteVolumeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms volume deletion.

              " + }, + "DeleteWorkspaceInstanceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the WorkSpaces Instance targeted for deletion.

              " + } + }, + "documentation":"

              The WorkSpace to delete

              " + }, + "DeleteWorkspaceInstanceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms the successful deletion of the specified WorkSpace Instance.

              " + }, + "Description":{ + "type":"string", + "max":1000, + "min":0, + "pattern":"[\\S\\s]*" + }, + "DeviceName":{ + "type":"string", + "max":32, + "min":0 + }, + "DisassociateModeEnum":{ + "type":"string", + "enum":[ + "FORCE", + "NO_FORCE" + ] + }, + "DisassociateVolumeRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "VolumeId" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              WorkSpace Instance to detach volume from.

              " + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

              Volume to be detached.

              " + }, + "Device":{ + "shape":"DeviceName", + "documentation":"

              Device path of volume to detach.

              " + }, + "DisassociateMode":{ + "shape":"DisassociateModeEnum", + "documentation":"

              Mode for volume detachment.

              " + } + }, + "documentation":"

              Specifies volume detachment parameters.

              " + }, + "DisassociateVolumeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms volume detachment.

              " + }, + "EC2InstanceError":{ + "type":"structure", + "members":{ + "EC2ErrorCode":{ + "shape":"String", + "documentation":"

              Unique error code identifying the specific EC2 instance error.

              " + }, + "EC2ExceptionType":{ + "shape":"String", + "documentation":"

              Type of exception encountered during EC2 instance operation.

              " + }, + "EC2ErrorMessage":{ + "shape":"String", + "documentation":"

              Detailed description of the EC2 instance error.

              " + } + }, + "documentation":"

              Captures detailed error information for EC2 instance operations.

              " + }, + "EC2InstanceErrors":{ + "type":"list", + "member":{"shape":"EC2InstanceError"} + }, + "EC2ManagedInstance":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

              Unique identifier of the managed EC2 instance.

              " + } + }, + "documentation":"

              Represents an EC2 instance managed by WorkSpaces.

              " + }, + "EbsBlockDevice":{ + "type":"structure", + "members":{ + "VolumeType":{ + "shape":"VolumeTypeEnum", + "documentation":"

              Type of EBS volume (e.g., gp2, io1).

              " + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

              Indicates if the volume is encrypted.

              " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

              KMS key used for volume encryption.

              " + }, + "Iops":{ + "shape":"NonNegativeInteger", + "documentation":"

              Input/output operations per second for the volume.

              " + }, + "Throughput":{ + "shape":"NonNegativeInteger", + "documentation":"

              Volume data transfer rate.

              " + }, + "VolumeSize":{ + "shape":"NonNegativeInteger", + "documentation":"

              Size of the EBS volume in gigabytes.

              " + } + }, + "documentation":"

              Defines configuration for an Elastic Block Store volume.

              " + }, + "EnaSrdSpecificationRequest":{ + "type":"structure", + "members":{ + "EnaSrdEnabled":{ + "shape":"Boolean", + "documentation":"

              Enables or disables ENA SRD for network performance.

              " + }, + "EnaSrdUdpSpecification":{ + "shape":"EnaSrdUdpSpecificationRequest", + "documentation":"

              Configures UDP-specific ENA SRD settings.

              " + } + }, + "documentation":"

              Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) configuration.

              " + }, + "EnaSrdUdpSpecificationRequest":{ + "type":"structure", + "members":{ + "EnaSrdUdpEnabled":{ + "shape":"Boolean", + "documentation":"

              Enables or disables ENA SRD for UDP traffic.

              " + } + }, + "documentation":"

              Specifies UDP configuration for ENA SRD.

              " + }, + "EnclaveOptionsRequest":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

              Enables or disables AWS Nitro Enclaves for enhanced security.

              " + } + }, + "documentation":"

              Configures AWS Nitro Enclave options for the WorkSpace Instance.

              " + }, + "GetWorkspaceInstanceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the WorkSpace Instance to retrieve.

              " + } + }, + "documentation":"

              Identifies the WorkSpaces Instance to retrieve detailed information for.

              " + }, + "GetWorkspaceInstanceResponse":{ + "type":"structure", + "members":{ + "WorkspaceInstanceErrors":{ + "shape":"WorkspaceInstanceErrors", + "documentation":"

              Captures any errors specific to the WorkSpace Instance lifecycle.

              " + }, + "EC2InstanceErrors":{ + "shape":"EC2InstanceErrors", + "documentation":"

              Includes any underlying EC2 instance errors encountered.

              " + }, + "ProvisionState":{ + "shape":"ProvisionStateEnum", + "documentation":"

              Current provisioning state of the WorkSpaces Instance.

              " + }, + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the retrieved WorkSpaces Instance.

              " + }, + "EC2ManagedInstance":{ + "shape":"EC2ManagedInstance", + "documentation":"

              Details of the associated EC2 managed instance.

              " + } + }, + "documentation":"

              Provides comprehensive details about the requested WorkSpaces Instance.

              " + }, + "HibernationOptionsRequest":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

              Enables or disables instance hibernation capability.

              " + } + }, + "documentation":"

              Defines hibernation configuration for the WorkSpace Instance.

              " + }, + "HostId":{ + "type":"string", + "pattern":"h-[0-9a-zA-Z]{1,63}" + }, + "HostnameTypeEnum":{ + "type":"string", + "enum":[ + "ip-name", + "resource-name" + ] + }, + "HttpEndpointEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "HttpProtocolIpv6Enum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "HttpPutResponseHopLimit":{ + "type":"integer", + "box":true, + "max":64, + "min":1 + }, + "HttpTokensEnum":{ + "type":"string", + "enum":[ + "optional", + "required" + ] + }, + "IamInstanceProfileSpecification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"ARN", + "documentation":"

              Amazon Resource Name (ARN) of the IAM instance profile.

              " + }, + "Name":{ + "shape":"String64", + "documentation":"

              Name of the IAM instance profile.

              " + } + }, + "documentation":"

              Defines IAM instance profile configuration for WorkSpace Instance.

              " + }, + "ImageId":{ + "type":"string", + "pattern":"ami-[0-9a-zA-Z]{1,63}" + }, + "InstanceInterruptionBehaviorEnum":{ + "type":"string", + "enum":[ + "hibernate", + "stop" + ] + }, + "InstanceIpv6Address":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"Ipv6Address", + "documentation":"

              Specific IPv6 address assigned to the instance.

              " + }, + "IsPrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

              Indicates if this is the primary IPv6 address for the instance.

              " + } + }, + "documentation":"

              Represents an IPv6 address configuration for a WorkSpace Instance.

              " + }, + "InstanceMaintenanceOptionsRequest":{ + "type":"structure", + "members":{ + "AutoRecovery":{ + "shape":"AutoRecoveryEnum", + "documentation":"

              Enables or disables automatic instance recovery.

              " + } + }, + "documentation":"

              Configures automatic maintenance settings for WorkSpace Instance.

              " + }, + "InstanceMarketOptionsRequest":{ + "type":"structure", + "members":{ + "MarketType":{ + "shape":"MarketTypeEnum", + "documentation":"

              Specifies the type of marketplace for instance deployment.

              " + }, + "SpotOptions":{ + "shape":"SpotMarketOptions", + "documentation":"

              Configuration options for spot instance deployment.

              " + } + }, + "documentation":"

              Configures marketplace-specific instance deployment options.

              " + }, + "InstanceMetadataOptionsRequest":{ + "type":"structure", + "members":{ + "HttpEndpoint":{ + "shape":"HttpEndpointEnum", + "documentation":"

              Enables or disables HTTP endpoint for instance metadata.

              " + }, + "HttpProtocolIpv6":{ + "shape":"HttpProtocolIpv6Enum", + "documentation":"

              Configures IPv6 support for instance metadata HTTP protocol.

              " + }, + "HttpPutResponseHopLimit":{ + "shape":"HttpPutResponseHopLimit", + "documentation":"

              Sets maximum number of network hops for metadata PUT responses.

              " + }, + "HttpTokens":{ + "shape":"HttpTokensEnum", + "documentation":"

              Configures token requirement for instance metadata retrieval.

              " + }, + "InstanceMetadataTags":{ + "shape":"InstanceMetadataTagsEnum", + "documentation":"

              Enables or disables instance metadata tags retrieval.

              " + } + }, + "documentation":"

              Defines instance metadata service configuration.

              " + }, + "InstanceMetadataTagsEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "InstanceNetworkInterfaceSpecification":{ + "type":"structure", + "members":{ + "AssociateCarrierIpAddress":{ + "shape":"Boolean", + "documentation":"

              Enables carrier IP address association.

              " + }, + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

              Enables public IP address assignment.

              " + }, + "ConnectionTrackingSpecification":{ + "shape":"ConnectionTrackingSpecificationRequest", + "documentation":"

              Configures network connection tracking parameters.

              " + }, + "Description":{ + "shape":"Description", + "documentation":"

              Descriptive text for the network interface.

              " + }, + "DeviceIndex":{ + "shape":"NonNegativeInteger", + "documentation":"

              Unique index for the network interface.

              " + }, + "EnaSrdSpecification":{ + "shape":"EnaSrdSpecificationRequest", + "documentation":"

              Configures Elastic Network Adapter Scalable Reliable Datagram settings.

              " + }, + "InterfaceType":{ + "shape":"InterfaceTypeEnum", + "documentation":"

              Specifies the type of network interface.

              " + }, + "Ipv4Prefixes":{ + "shape":"Ipv4Prefixes", + "documentation":"

              IPv4 prefix configurations for the interface.

              " + }, + "Ipv4PrefixCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of IPv4 prefixes to assign.

              " + }, + "Ipv6AddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of IPv6 addresses to assign.

              " + }, + "Ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

              Specific IPv6 addresses for the interface.

              " + }, + "Ipv6Prefixes":{ + "shape":"Ipv6Prefixes", + "documentation":"

              IPv6 prefix configurations for the interface.

              " + }, + "Ipv6PrefixCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of IPv6 prefixes to assign.

              " + }, + "NetworkCardIndex":{ + "shape":"NonNegativeInteger", + "documentation":"

              Index of the network card for multiple network interfaces.

              " + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

              Unique identifier for the network interface.

              " + }, + "PrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

              Indicates the primary IPv6 configuration.

              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

              Primary private IP address for the interface.

              " + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddresses", + "documentation":"

              List of private IP addresses for the interface.

              " + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Number of additional private IP addresses to assign.

              " + }, + "Groups":{ + "shape":"SecurityGroupIds", + "documentation":"

              Security groups associated with the network interface.

              " + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

              Subnet identifier for the network interface.

              " + } + }, + "documentation":"

              Defines network interface configuration for WorkSpace Instance.

              " + }, + "InstanceNetworkPerformanceOptionsRequest":{ + "type":"structure", + "members":{ + "BandwidthWeighting":{ + "shape":"BandwidthWeightingEnum", + "documentation":"

              Defines bandwidth allocation strategy for network interfaces.

              " + } + }, + "documentation":"

              Configures network performance settings for WorkSpace Instance.

              " + }, + "InstanceType":{ + "type":"string", + "pattern":"([a-z0-9-]+)\\.([a-z0-9]+)" + }, + "InstanceTypeInfo":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

              Unique identifier for the WorkSpace Instance type.

              " + } + }, + "documentation":"

              Provides details about a specific WorkSpace Instance type.

              " + }, + "InstanceTypes":{ + "type":"list", + "member":{"shape":"InstanceTypeInfo"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InterfaceTypeEnum":{ + "type":"string", + "enum":[ + "interface", + "efa", + "efa-only" + ] + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Description of the internal server error.

              " + }, + "RetryAfterSeconds":{ + "shape":"Integer", + "documentation":"

              Recommended wait time before retrying the request.

              " + } + }, + "documentation":"

              Indicates an unexpected server-side error occurred.

              ", + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "Ipv4Address":{ + "type":"string", + "pattern":"(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}", + "sensitive":true + }, + "Ipv4Prefix":{ + "type":"string", + "pattern":".*(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:/\\d{1,2})?.*" + }, + "Ipv4PrefixSpecificationRequest":{ + "type":"structure", + "members":{ + "Ipv4Prefix":{ + "shape":"Ipv4Prefix", + "documentation":"

              Specific IPv4 prefix for network interface configuration.

              " + } + }, + "documentation":"

              Specifies IPv4 prefix configuration for network interfaces.

              " + }, + "Ipv4Prefixes":{ + "type":"list", + "member":{"shape":"Ipv4PrefixSpecificationRequest"} + }, + "Ipv6Address":{ + "type":"string", + "max":128, + "min":0, + "sensitive":true + }, + "Ipv6Addresses":{ + "type":"list", + "member":{"shape":"InstanceIpv6Address"} + }, + "Ipv6Prefix":{ + "type":"string", + "pattern":"(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/([0-9]{1,2}|1[01][0-9]|12[0-8])" + }, + "Ipv6PrefixSpecificationRequest":{ + "type":"structure", + "members":{ + "Ipv6Prefix":{ + "shape":"Ipv6Prefix", + "documentation":"

              Specific IPv6 prefix for network interface configuration.

              " + } + }, + "documentation":"

              Specifies IPv6 prefix configuration for network interfaces.

              " + }, + "Ipv6Prefixes":{ + "type":"list", + "member":{"shape":"Ipv6PrefixSpecificationRequest"} + }, + "KmsKeyId":{ + "type":"string", + "max":128, + "min":0, + "sensitive":true + }, + "LicenseConfigurationRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"ARN", + "documentation":"

              ARN of the license configuration for the WorkSpace Instance.

              " + } + }, + "documentation":"

              Specifies license configuration for WorkSpace Instance.

              " + }, + "LicenseSpecifications":{ + "type":"list", + "member":{"shape":"LicenseConfigurationRequest"} + }, + "ListInstanceTypesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

              Maximum number of instance types to return in a single API call. Enables pagination of instance type results.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Pagination token for retrieving subsequent pages of instance type results.

              " + } + }, + "documentation":"

              Defines input parameters for retrieving supported WorkSpaces Instances instance types.

              " + }, + "ListInstanceTypesResponse":{ + "type":"structure", + "required":["InstanceTypes"], + "members":{ + "InstanceTypes":{ + "shape":"InstanceTypes", + "documentation":"

              Collection of supported instance types for WorkSpaces Instances.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Token for retrieving additional instance types if the result set is paginated.

              " + } + }, + "documentation":"

              Contains the list of instance types supported by WorkSpaces Instances.

              " + }, + "ListRegionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

              Maximum number of regions to return in a single API call. Enables pagination of region results.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Pagination token for retrieving subsequent pages of region results.

              " + } + }, + "documentation":"

              Defines input parameters for retrieving supported WorkSpaces Instances regions.

              " + }, + "ListRegionsResponse":{ + "type":"structure", + "required":["Regions"], + "members":{ + "Regions":{ + "shape":"RegionList", + "documentation":"

              Collection of AWS regions supported by WorkSpaces Instances.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Token for retrieving additional regions if the result set is paginated.

              " + } + }, + "documentation":"

              Contains the list of supported AWS regions for WorkSpaces Instances.

              " + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the WorkSpace Instance.

              " + } + }, + "documentation":"

              Specifies the WorkSpace Instance to retrieve tags for.

              " + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

              Collection of tags associated with the WorkSpace Instance.

              " + } + }, + "documentation":"

              Returns the list of tags for the specified WorkSpace Instance.

              " + }, + "ListWorkspaceInstancesRequest":{ + "type":"structure", + "members":{ + "ProvisionStates":{ + "shape":"ProvisionStates", + "documentation":"

              Filter WorkSpaces Instances by their current provisioning states.

              " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

              Maximum number of WorkSpaces Instances to return in a single response.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Pagination token for retrieving subsequent pages of WorkSpaces Instances.

              " + } + }, + "documentation":"

              Defines filters and pagination parameters for retrieving WorkSpaces Instances.

              " + }, + "ListWorkspaceInstancesResponse":{ + "type":"structure", + "required":["WorkspaceInstances"], + "members":{ + "WorkspaceInstances":{ + "shape":"WorkspaceInstances", + "documentation":"

              Collection of WorkSpaces Instances returned by the query.

              " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

              Token for retrieving additional WorkSpaces Instances if the result set is paginated.

              " + } + }, + "documentation":"

              Contains the list of WorkSpaces Instances matching the specified criteria.

              " + }, + "ManagedInstanceRequest":{ + "type":"structure", + "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappings", + "documentation":"

              Configures block device mappings for storage.

              " + }, + "CapacityReservationSpecification":{ + "shape":"CapacityReservationSpecification", + "documentation":"

              Specifies capacity reservation preferences.

              " + }, + "CpuOptions":{ + "shape":"CpuOptionsRequest", + "documentation":"

              Configures CPU-specific settings.

              " + }, + "CreditSpecification":{ + "shape":"CreditSpecificationRequest", + "documentation":"

              Defines CPU credit configuration for burstable instances.

              " + }, + "DisableApiStop":{ + "shape":"Boolean", + "documentation":"

              Prevents API-initiated instance stop.

              " + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

              Enables optimized EBS performance.

              " + }, + "EnablePrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

              Enables primary IPv6 address configuration.

              " + }, + "EnclaveOptions":{ + "shape":"EnclaveOptionsRequest", + "documentation":"

              Configures AWS Nitro Enclave settings.

              " + }, + "HibernationOptions":{ + "shape":"HibernationOptionsRequest", + "documentation":"

              Configures instance hibernation capabilities.

              " + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

              Specifies IAM instance profile configuration.

              " + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

              Identifies the Amazon Machine Image (AMI) for the instance.

              " + }, + "InstanceMarketOptions":{ + "shape":"InstanceMarketOptionsRequest", + "documentation":"

              Configures marketplace-specific deployment options.

              " + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

              Specifies the WorkSpace Instance type.

              " + }, + "Ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

              Configures specific IPv6 addresses.

              " + }, + "Ipv6AddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

              Specifies number of IPv6 addresses to assign.

              " + }, + "KernelId":{ + "shape":"String128", + "documentation":"

              Identifies the kernel for the instance.

              " + }, + "KeyName":{ + "shape":"String64", + "documentation":"

              Specifies the key pair for instance access.

              " + }, + "LicenseSpecifications":{ + "shape":"LicenseSpecifications", + "documentation":"

              Configures license-related settings.

              " + }, + "MaintenanceOptions":{ + "shape":"InstanceMaintenanceOptionsRequest", + "documentation":"

              Defines automatic maintenance settings.

              " + }, + "MetadataOptions":{ + "shape":"InstanceMetadataOptionsRequest", + "documentation":"

              Configures instance metadata service settings.

              " + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "documentation":"

              Enables or disables detailed instance monitoring.

              " + }, + "NetworkInterfaces":{ + "shape":"NetworkInterfaces", + "documentation":"

              Configures network interface settings.

              " + }, + "NetworkPerformanceOptions":{ + "shape":"InstanceNetworkPerformanceOptionsRequest", + "documentation":"

              Defines network performance configuration.

              " + }, + "Placement":{ + "shape":"Placement", + "documentation":"

              Specifies instance placement preferences.

              " + }, + "PrivateDnsNameOptions":{ + "shape":"PrivateDnsNameOptionsRequest", + "documentation":"

              Configures private DNS name settings.

              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

              Specifies the primary private IP address.

              " + }, + "RamdiskId":{ + "shape":"String128", + "documentation":"

              Identifies the ramdisk for the instance.

              " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

              Specifies security group identifiers.

              " + }, + "SecurityGroups":{ + "shape":"SecurityGroupNames", + "documentation":"

              Configures security group settings.

              " + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

              Identifies the subnet for the instance.

              " + }, + "TagSpecifications":{ + "shape":"TagSpecifications", + "documentation":"

              Configures resource tagging specifications.

              " + }, + "UserData":{ + "shape":"UserData", + "documentation":"

              Provides custom initialization data for the instance.

              " + } + }, + "documentation":"

              Defines comprehensive configuration for a managed WorkSpace Instance.

              " + }, + "MarketTypeEnum":{ + "type":"string", + "enum":[ + "spot", + "capacity-block" + ] + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "NetworkInterfaceId":{ + "type":"string", + "pattern":"eni-[0-9a-zA-Z]{1,63}" + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"InstanceNetworkInterfaceSpecification"} + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "NonNegativeInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "Placement":{ + "type":"structure", + "members":{ + "Affinity":{ + "shape":"String64", + "documentation":"

              Specifies host affinity for dedicated instances.

              " + }, + "AvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

              Identifies the specific AWS availability zone.

              " + }, + "GroupId":{ + "shape":"PlacementGroupId", + "documentation":"

              Unique identifier for placement group.

              " + }, + "GroupName":{ + "shape":"String64", + "documentation":"

              Name of the placement group.

              " + }, + "HostId":{ + "shape":"HostId", + "documentation":"

              Identifies the specific dedicated host.

              " + }, + "HostResourceGroupArn":{ + "shape":"ARN", + "documentation":"

              ARN of the host resource group.

              " + }, + "PartitionNumber":{ + "shape":"NonNegativeInteger", + "documentation":"

              Specifies partition number for partition placement groups.

              " + }, + "Tenancy":{ + "shape":"TenancyEnum", + "documentation":"

              Defines instance tenancy configuration.

              " + } + }, + "documentation":"

              Defines instance placement configuration for WorkSpace Instance.

              " + }, + "PlacementGroupId":{ + "type":"string", + "pattern":"pg-[0-9a-zA-Z]{1,63}" + }, + "PrivateDnsNameOptionsRequest":{ + "type":"structure", + "members":{ + "HostnameType":{ + "shape":"HostnameTypeEnum", + "documentation":"

              Specifies the type of hostname configuration.

              " + }, + "EnableResourceNameDnsARecord":{ + "shape":"Boolean", + "documentation":"

              Enables DNS A record for resource name resolution.

              " + }, + "EnableResourceNameDnsAAAARecord":{ + "shape":"Boolean", + "documentation":"

              Enables DNS AAAA record for resource name resolution.

              " + } + }, + "documentation":"

              Configures private DNS name settings for WorkSpace Instance.

              " + }, + "PrivateIpAddressSpecification":{ + "type":"structure", + "members":{ + "Primary":{ + "shape":"Boolean", + "documentation":"

              Indicates if this is the primary private IP address.

              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

              Specific private IP address for the network interface.

              " + } + }, + "documentation":"

              Defines private IP address configuration for network interface.

              " + }, + "PrivateIpAddresses":{ + "type":"list", + "member":{"shape":"PrivateIpAddressSpecification"} + }, + "ProvisionStateEnum":{ + "type":"string", + "enum":[ + "ALLOCATING", + "ALLOCATED", + "DEALLOCATING", + "DEALLOCATED", + "ERROR_ALLOCATING", + "ERROR_DEALLOCATING" + ] + }, + "ProvisionStates":{ + "type":"list", + "member":{"shape":"ProvisionStateEnum"} + }, + "Region":{ + "type":"structure", + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

              Name of the AWS region.

              " + } + }, + "documentation":"

              Represents an AWS region supported by WorkSpaces Instances.

              " + }, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"} + }, + "RegionName":{ + "type":"string", + "pattern":"[-0-9a-z]{1,31}" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Details about the missing resource.

              " + }, + "ResourceId":{ + "shape":"String", + "documentation":"

              Identifier of the resource that was not found.

              " + }, + "ResourceType":{ + "shape":"String", + "documentation":"

              Type of the resource that was not found.

              " + } + }, + "documentation":"

              Indicates the requested resource could not be found.

              ", + "exception":true + }, + "ResourceTypeEnum":{ + "type":"string", + "enum":[ + "instance", + "volume", + "spot-instances-request", + "network-interface" + ] + }, + "RunInstancesMonitoringEnabled":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

              Enables or disables detailed instance monitoring.

              " + } + }, + "documentation":"

              Configures detailed monitoring for WorkSpace Instance.

              " + }, + "SecurityGroupId":{ + "type":"string", + "pattern":"sg-[0-9a-zA-Z]{1,63}" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"} + }, + "SecurityGroupName":{ + "type":"string", + "pattern":"(?!sg-)[\\w .:/()#,@\\[\\]+=&;{}!$*-]{0,255}" + }, + "SecurityGroupNames":{ + "type":"list", + "member":{"shape":"SecurityGroupName"} + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType", + "ServiceCode", + "QuotaCode" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Description of the quota limitation.

              " + }, + "ResourceId":{ + "shape":"String", + "documentation":"

              Identifier of the resource related to the quota.

              " + }, + "ResourceType":{ + "shape":"String", + "documentation":"

              Type of resource related to the quota.

              " + }, + "ServiceCode":{ + "shape":"String", + "documentation":"

              Code identifying the service with the quota limitation.

              " + }, + "QuotaCode":{ + "shape":"String", + "documentation":"

              Specific code for the exceeded quota.

              " + } + }, + "documentation":"

              Indicates that a service quota has been exceeded.

              ", + "exception":true + }, + "SnapshotId":{ + "type":"string", + "pattern":"snap-[0-9a-zA-Z]{1,63}" + }, + "SpotInstanceTypeEnum":{ + "type":"string", + "enum":[ + "one-time", + "persistent" + ] + }, + "SpotMarketOptions":{ + "type":"structure", + "members":{ + "BlockDurationMinutes":{ + "shape":"NonNegativeInteger", + "documentation":"

              Duration of spot instance block reservation.

              " + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehaviorEnum", + "documentation":"

              Specifies behavior when spot instance is interrupted.

              " + }, + "MaxPrice":{ + "shape":"String64", + "documentation":"

              Maximum hourly price for spot instance.

              " + }, + "SpotInstanceType":{ + "shape":"SpotInstanceTypeEnum", + "documentation":"

              Defines the type of spot instance request.

              " + }, + "ValidUntilUtc":{ + "shape":"Timestamp", + "documentation":"

              Timestamp until which spot instance request is valid.

              " + } + }, + "documentation":"

              Defines configuration for spot instance deployment.

              " + }, + "String":{"type":"string"}, + "String128":{ + "type":"string", + "max":128, + "min":0 + }, + "String64":{ + "type":"string", + "max":64, + "min":0 + }, + "SubnetId":{ + "type":"string", + "pattern":"subnet-[0-9a-zA-Z]{1,63}" + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

              Unique identifier for the tag.

              " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

              Value associated with the tag key.

              " + } + }, + "documentation":"

              Represents a key-value metadata tag.

              " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":30, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":30, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "Tags" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the WorkSpace Instance to tag.

              " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

              Tags to be added to the WorkSpace Instance.

              " + } + }, + "documentation":"

              Specifies tags to add to a WorkSpace Instance.

              " + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms successful tag addition.

              " + }, + "TagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceTypeEnum", + "documentation":"

              Type of resource being tagged.

              " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

              Collection of tags for the specified resource.

              " + } + }, + "documentation":"

              Defines tagging configuration for a resource.

              " + }, + "TagSpecifications":{ + "type":"list", + "member":{"shape":"TagSpecification"}, + "max":30, + "min":0 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "TenancyEnum":{ + "type":"string", + "enum":[ + "default", + "dedicated", + "host" + ] + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Description of the throttling event.

              " + }, + "ServiceCode":{ + "shape":"String", + "documentation":"

              Code identifying the service experiencing throttling.

              " + }, + "QuotaCode":{ + "shape":"String", + "documentation":"

              Specific code for the throttling quota.

              " + }, + "RetryAfterSeconds":{ + "shape":"Integer", + "documentation":"

              Recommended wait time before retrying the request.

              " + } + }, + "documentation":"

              Indicates the request rate has exceeded limits.

              ", + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "TagKeys" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier of the WorkSpace Instance to untag.

              " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

              Keys of tags to be removed.

              " + } + }, + "documentation":"

              Specifies tags to remove from a WorkSpace Instance.

              " + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

              Confirms successful tag removal.

              " + }, + "UserData":{ + "type":"string", + "max":16000, + "min":0, + "sensitive":true + }, + "ValidationException":{ + "type":"structure", + "required":[ + "Message", + "Reason" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

              Overall description of validation failures.

              " + }, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

              Specific reason for the validation failure.

              " + }, + "FieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

              List of fields that failed validation.

              " + } + }, + "documentation":"

              Indicates invalid input parameters in the request.

              ", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Reason", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

              Name of the field that failed validation.

              " + }, + "Reason":{ + "shape":"String", + "documentation":"

              Reason for the validation failure.

              " + }, + "Message":{ + "shape":"String", + "documentation":"

              Detailed error message describing the validation issue.

              " + } + }, + "documentation":"

              Represents a validation error field in an API request.

              " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UNKNOWN_OPERATION", + "UNSUPPORTED_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "DEPENDENCY_FAILURE", + "OTHER" + ] + }, + "VirtualName":{ + "type":"string", + "pattern":"ephemeral(0|[1-9][0-9]{0,2})" + }, + "VolumeId":{ + "type":"string", + "pattern":"vol-[0-9a-zA-Z]{1,63}" + }, + "VolumeTypeEnum":{ + "type":"string", + "enum":[ + "standard", + "io1", + "io2", + "gp2", + "sc1", + "st1", + "gp3" + ] + }, + "WorkspaceInstance":{ + "type":"structure", + "members":{ + "ProvisionState":{ + "shape":"ProvisionStateEnum", + "documentation":"

              Current provisioning state of the WorkSpace Instance.

              " + }, + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

              Unique identifier for the WorkSpace Instance.

              " + }, + "EC2ManagedInstance":{ + "shape":"EC2ManagedInstance", + "documentation":"

              Details of the associated EC2 managed instance.

              " + } + }, + "documentation":"

              Represents a single WorkSpace Instance.

              " + }, + "WorkspaceInstanceError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"String", + "documentation":"

              Unique error code for the WorkSpace Instance error.

              " + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

              Detailed description of the WorkSpace Instance error.

              " + } + }, + "documentation":"

              Captures errors specific to WorkSpace Instance operations.

              " + }, + "WorkspaceInstanceErrors":{ + "type":"list", + "member":{"shape":"WorkspaceInstanceError"} + }, + "WorkspaceInstanceId":{ + "type":"string", + "max":70, + "min":15, + "pattern":"wsinst-[0-9a-zA-Z]{8,63}" + }, + "WorkspaceInstances":{ + "type":"list", + "member":{"shape":"WorkspaceInstance"} + } + }, + "documentation":"

              Amazon WorkSpaces Instances provides an API framework for managing virtual workspace environments across multiple AWS regions, enabling programmatic creation and configuration of desktop infrastructure.

              " +} diff --git a/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json new file mode 100644 index 00000000000..e0d3702db0f --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://workspaces-instances-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://workspaces-instances.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json new file mode 100644 index 00000000000..bb145251951 --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 0a73f9b771d..c870fb1af03 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "bedrock-agent-runtime.2023-07-26": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "mediaconvert.2017-08-29": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "savingsplans.2019-06-28": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "redshift-data.2019-12-20": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "geo-places.2020-11-19": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "braket.2019-09-01": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "license-manager.2018-08-01": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "inspector.2016-02-16": { + "workspaces-instances.2022-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-instances.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "chatbot.2017-10-11": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "route53profiles.2018-05-10": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "athena.2017-05-18": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "glacier.2012-06-01": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "workdocs.2016-05-01": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "mwaa.2020-07-01": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "iot-events-data.2018-10-23": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "sagemaker.2017-07-24": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "internetmonitor.2021-06-03": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "emr-serverless.2021-07-13": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "ses.2010-12-01": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "sfn.2016-11-23": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "cloudhsm.2014-05-30": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "clouddirectory.2017-01-11": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "cloudwatch.2010-08-01": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "ecr-public.2020-10-30": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "rds.2014-10-31": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "transcribe.2017-10-26": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "iot-wireless.2020-11-22": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "directory-service-data.2023-05-31": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "controlcatalog.2018-05-10": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "dsql.2018-05-10": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "ivschat.2020-07-14": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "app-mesh.2019-01-25": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "oam.2022-06-10": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "invoicing.2024-12-01": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "ssm-sap.2018-05-10": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "codepipeline.2015-07-09": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "wellarchitected.2020-03-31": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "directory-service.2015-04-16": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "launch-wizard.2018-05-10": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "api-gateway.2015-07-09": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "evs.2023-07-27": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "machine-learning.2014-12-12": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "ssm.2014-11-06": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "inspector2.2020-06-08": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "servicediscovery.2017-03-14": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "waf.2015-08-24": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "groundstation.2019-05-23": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "taxsettings.2018-05-10": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "greengrassv2.2020-11-30": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "customer-profiles.2020-08-15": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "kendra.2019-02-03": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "efs.2015-02-01": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "finspace.2021-03-12": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "mailmanager.2023-10-17": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "appfabric.2023-05-19": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "appconfig.2019-10-09": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "sts.2011-06-15": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "mpa.2022-07-26": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "rds-data.2018-08-01": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "cloudtrail.2013-11-01": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "appintegrations.2020-07-29": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "cognito-sync.2014-06-30": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "storage-gateway.2013-06-30": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "keyspaces.2022-02-10": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "organizations.2016-11-28": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "bedrock.2023-04-20": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "gamelift.2015-10-01": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "route53resolver.2018-04-01": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "entityresolution.2018-05-10": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "config-service.2014-11-12": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "chime.2018-05-01": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "notifications.2018-05-10": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "frauddetector.2019-11-15": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "freetier.2023-09-07": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "resiliencehub.2020-04-30": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "iotanalytics.2017-11-27": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "neptunedata.2023-08-01": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "dataexchange.2017-07-25": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "auditmanager.2017-07-25": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "neptune-graph.2023-11-29": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "opensearch.2021-01-01": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "devops-guru.2020-12-01": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "rekognition.2016-06-27": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "network-firewall.2020-11-12": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "personalize.2018-05-22": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "forecastquery.2018-06-26": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "kinesis.2013-12-02": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "wafv2.2019-07-29": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "kinesis-video.2017-09-30": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "securitylake.2018-05-10": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "lambda.2015-03-31": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "codestar-connections.2019-12-01": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "health.2016-08-04": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "auto-scaling.2011-01-01": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "backup-gateway.2021-01-01": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "finspace-data.2020-07-13": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "iotsitewise.2019-12-02": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "mturk.2017-01-17": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "mediastore.2017-09-01": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "mq.2017-11-27": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "waf-regional.2016-11-28": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "lookoutvision.2020-11-20": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "lightsail.2016-11-28": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "dlm.2018-01-12": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "s3tables.2018-05-10": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "appstream.2016-12-01": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "pi.2018-02-27": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,20 @@ } } }, - "pcs.2023-02-10": { + "dsql.2018-05-10": { + "imports": [ + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1662,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1673,9 @@ } } }, - "amplifybackend.2020-08-11": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1684,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1695,9 @@ } } }, - "codecatalyst.2022-09-28": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1706,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1717,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1728,9 @@ } } }, - "identitystore.2020-06-15": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1739,9 @@ } } }, - "emr.2009-03-31": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1750,9 @@ } } }, - "docdb.2014-10-31": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1761,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1772,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1783,9 @@ } } }, - "codeconnections.2023-12-01": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1794,9 @@ } } }, - "kms.2014-11-01": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1805,9 @@ } } }, - "direct-connect.2012-10-25": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1816,9 @@ } } }, - "sesv2.2019-09-27": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1827,9 @@ } } }, - "iot.2015-05-28": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1838,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1849,9 @@ } } }, - "account.2021-02-01": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1860,9 @@ } } }, - "snowball.2016-06-30": { + "acm-pca.": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1871,9 @@ } } }, - "xray.2016-04-12": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1882,9 @@ } } }, - "inspector-scan.2023-08-08": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1893,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1904,9 @@ } } }, - "schemas.2019-12-02": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1915,9 @@ } } }, - "pricing.2017-10-15": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1926,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1937,9 @@ } } }, - "dax.2017-04-19": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1948,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1959,9 @@ } } }, - "workspaces.2015-04-08": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1970,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1981,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1992,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +2003,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2014,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2025,9 @@ } } }, - "polly.2016-06-10": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2036,9 @@ } } }, - "memorydb.2021-01-01": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2047,9 @@ } } }, - "codebuild.2016-10-06": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2058,9 @@ } } }, - "panorama.2019-07-24": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2069,9 @@ } } }, - "billing.2023-09-07": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2080,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2091,9 @@ } } }, - "elasticache.2015-02-02": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2102,9 @@ } } }, - "qldb.2019-01-02": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2113,9 @@ } } }, - "datasync.2018-11-09": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2124,9 @@ } } }, - "ram.2018-01-04": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2135,9 @@ } } }, - "support.2013-04-15": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2146,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2157,9 @@ } } }, - "eks.2017-11-01": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2168,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2179,9 @@ } } }, - "healthlake.2017-07-01": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2190,9 @@ } } }, - "codedeploy.2014-10-06": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2201,9 @@ } } }, - "sns.2010-03-31": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2212,9 @@ } } }, - "sqs.2012-11-05": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2223,9 @@ } } }, - "workmail.2017-10-01": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2234,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2245,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2256,9 @@ } } }, - "batch.2016-08-10": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2267,9 @@ } } }, - "repostspace.2022-05-13": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2278,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2289,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2300,9 @@ } } }, - "acm-pca.": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2311,9 @@ } } }, - "macie2.2020-01-01": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2322,9 @@ } } }, - "cost-explorer.2017-10-25": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2333,9 @@ } } }, - "imagebuilder.2019-12-02": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2344,9 @@ } } }, - "guardduty.2017-11-28": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2355,9 @@ } } }, - "omics.2022-11-28": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2366,9 @@ } } }, - "sso-admin.2020-07-20": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2377,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2388,9 @@ } } }, - "eks-auth.2023-11-26": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2399,9 @@ } } }, - "socialmessaging.2024-01-01": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2410,9 @@ } } }, - "qapps.2023-11-27": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2421,9 @@ } } }, - "cleanrooms.2022-02-17": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2432,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2443,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2454,9 @@ } } }, - "supplychain.2024-01-01": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2465,9 @@ } } }, - "budgets.2016-10-20": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2476,9 @@ } } }, - "apprunner.2020-05-15": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2487,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2498,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2509,9 @@ } } }, - "eventbridge.2015-10-07": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2520,9 @@ } } }, - "robomaker.2018-06-29": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2522,7 +2533,7 @@ }, "amp.2020-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2542,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2553,9 @@ } } }, - "textract.2018-06-27": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2564,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2575,9 @@ } } }, - "cognito-identity.2014-06-30": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2586,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2597,9 @@ } } }, - "cloudsearch.2013-01-01": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2608,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2619,9 @@ } } }, - "database-migration-service.2016-01-01": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2630,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2641,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2652,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2663,9 @@ } } }, - "mediatailor.2018-04-23": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2674,9 @@ } } }, - "grafana.2020-08-18": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2685,9 @@ } } }, - "managedblockchain.2018-09-24": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2696,9 @@ } } }, - "sms.2016-10-24": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2707,9 @@ } } }, - "iam.2010-05-08": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2718,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2729,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2740,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2751,9 @@ } } }, - "connectparticipant.2018-09-07": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2762,9 @@ } } }, - "detective.2018-10-26": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2773,9 @@ } } }, - "snow-device-management.2021-08-04": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2784,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2795,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2806,9 @@ } } }, - "mediaconnect.2018-11-14": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2817,9 @@ } } }, - "datazone.2018-05-10": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2828,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2839,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2850,9 @@ } } }, - "timestream-write.2018-11-01": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2861,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2872,9 @@ } } }, - "emr-containers.2020-10-01": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2883,9 @@ } } }, - "drs.2020-02-26": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2894,9 @@ } } }, - "s3.2006-03-01": { + "aiops.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2905,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2916,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2927,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2938,9 @@ } } }, - "glue.2017-03-31": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2949,9 @@ } } }, - "kafka.2018-11-14": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2960,9 @@ } } }, - "codeartifact.2018-09-22": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2971,9 @@ } } }, - "timestream-query.2018-11-01": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2982,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2993,9 @@ } } }, - "opsworks.2013-02-18": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +3004,9 @@ } } }, - "m2.2021-04-28": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3015,9 @@ } } }, - "ec2.2016-11-15": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3026,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3037,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3048,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3059,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3070,9 @@ } } }, - "qbusiness.2023-11-27": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3081,9 @@ } } }, - "qconnect.2020-10-19": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3092,9 @@ } } }, - "voice-id.2021-09-27": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3103,9 @@ } } }, - "billingconductor.2021-07-30": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3114,9 @@ } } }, - "synthetics.2017-10-11": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3125,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3136,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3147,9 @@ } } }, - "backupsearch.2018-05-10": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3158,9 @@ } } }, - "networkmonitor.2023-08-01": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3169,9 @@ } } }, - "amplify.2017-07-25": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3180,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3191,9 @@ } } }, - "deadline.2023-10-12": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3202,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3213,9 @@ } } }, - "ebs.2019-11-02": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3224,9 @@ } } }, - "geo-maps.2020-11-19": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3235,9 @@ } } }, - "acm.2015-12-08": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3246,9 @@ } } }, - "appflow.2020-08-23": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3257,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3268,9 @@ } } }, - "pipes.2015-10-07": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3279,9 @@ } } }, - "neptune.2014-10-31": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3290,9 @@ } } }, - "medialive.2017-10-14": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3301,9 @@ } } }, - "osis.2022-01-01": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3312,9 @@ } } }, - "resource-groups.2017-11-27": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3323,9 @@ } } }, - "forecast.2018-06-26": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3334,9 @@ } } }, - "outposts.2019-12-03": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3345,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3356,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3367,9 @@ } } }, - "codeguru-security.2018-05-10": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3378,9 @@ } } }, - "qldb-session.2019-07-11": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3389,9 @@ } } }, - "workspaces-web.2020-07-08": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3400,9 @@ } } }, - "secrets-manager.2017-10-17": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3411,9 @@ } } }, - "proton.2020-07-20": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3422,9 @@ } } }, - "fis.2020-12-01": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3433,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3444,9 @@ } } }, - "personalize-events.2018-03-22": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3455,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3466,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3477,9 @@ } } }, - "wisdom.2020-10-19": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3488,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3499,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3510,9 @@ } } }, - "global-accelerator.2018-08-08": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3521,9 @@ } } }, - "swf.2012-01-25": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3532,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3543,9 @@ } } }, - "medical-imaging.2023-07-19": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3554,9 @@ } } }, - "apptest.2022-12-06": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3565,9 @@ } } }, - "iot-events.2018-07-27": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3576,9 @@ } } }, - "connect.2017-08-08": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3587,9 @@ } } }, - "mgn.2020-02-26": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3598,9 @@ } } }, - "s3-control.2018-08-20": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3609,9 @@ } } }, - "route-53.2013-04-01": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3620,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3631,9 @@ } } }, - "securityhub.2018-10-26": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3642,9 @@ } } }, - "s3outposts.2017-07-25": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3653,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3664,9 @@ } } }, - "appconfigdata.2021-11-11": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3675,9 @@ } } }, - "ecr.2015-09-21": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3686,9 @@ } } }, - "route-53-domains.2014-05-15": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3697,9 @@ } } }, - "codecommit.2015-04-13": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3708,9 @@ } } }, - "mediapackage.2017-10-12": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3719,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3730,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3741,9 @@ } } }, - "appsync.2017-07-25": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3752,9 @@ } } }, - "geo-routes.2020-11-19": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3763,9 @@ } } }, - "device-farm.2015-06-23": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3774,9 @@ } } }, - "fsx.2018-03-01": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3785,9 @@ } } }, - "scheduler.2021-06-30": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3796,9 @@ } } }, - "transfer.2018-11-05": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3807,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3818,9 @@ } } }, - "support-app.2021-08-20": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3829,9 @@ } } }, - "opsworkscm.2016-11-01": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3840,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3851,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3862,9 @@ } } }, - "connectcases.2022-10-03": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3873,9 @@ } } }, - "security-ir.2018-05-10": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3884,9 @@ } } }, - "evidently.2021-02-01": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3895,9 @@ } } }, - "greengrass.2017-06-07": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3906,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3917,9 @@ } } }, - "cloud9.2017-09-23": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3928,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3939,9 @@ } } }, - "application-signals.2024-04-15": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3950,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3961,9 @@ } } }, - "rbin.2021-06-15": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3972,9 @@ } } }, - "ecs.2014-11-13": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3983,9 @@ } } }, - "mediastore-data.2017-09-01": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3994,9 @@ } } }, - "controltower.2018-05-10": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +4005,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4016,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4027,9 @@ } } }, - "b2bi.2022-06-23": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4038,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4049,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4060,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4071,9 @@ } } }, - "cloudfront.2020-05-31": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4082,9 @@ } } }, - "service-catalog.2015-12-10": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4093,9 @@ } } }, - "artifact.2018-05-10": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4104,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4115,9 @@ } } }, - "sso-oidc.2019-06-10": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4126,9 @@ } } }, - "networkmanager.2019-07-05": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4137,9 @@ } } }, - "application-insights.2018-11-25": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4148,9 @@ } } }, - "migration-hub.2017-05-31": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4159,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4170,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4181,9 @@ } } }, - "location.2020-11-19": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4192,9 @@ } } }, - "comprehend.2017-11-27": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4203,9 @@ } } }, - "sso.2019-06-10": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4214,9 @@ } } }, - "fms.2018-01-01": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4225,9 @@ } } }, - "aiops.2018-05-10": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4236,9 @@ } } }, - "iotfleethub.2020-11-03": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4247,9 @@ } } }, - "cloudformation.2010-05-15": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4258,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4269,9 @@ } } }, - "backup.2018-11-15": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4280,9 @@ } } }, - "shield.2016-06-02": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4291,9 @@ } } }, - "pinpoint.2016-12-01": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4302,9 @@ } } }, - "dynamodb.2012-08-10": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4313,9 @@ } } }, - "quicksight.2018-04-01": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4324,9 @@ } } }, - "data-pipeline.2012-10-29": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4335,9 @@ } } }, - "redshift.2012-12-01": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4346,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4357,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4368,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4379,9 @@ } } }, - "signer.2017-08-25": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4390,9 @@ } } }, - "databrew.2017-07-25": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4401,9 @@ } } }, - "translate.2017-07-01": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4412,9 @@ } } }, - "service-quotas.2019-06-24": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4423,9 @@ } } }, - "tnb.2008-10-21": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4425,7 +4436,7 @@ }, "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4445,9 @@ } } }, - "ivs.2020-07-14": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4456,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4467,9 @@ } } }, - "lakeformation.2017-03-31": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4467,9 +4478,9 @@ } } }, - "firehose.2015-08-04": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4478,9 +4489,9 @@ } } }, - "rum.2018-05-10": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src2179559655/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": {