From 00f6e7270f1403e681fa64a61c7d0e203e456d65 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 17 Nov 2022 11:28:28 -0800 Subject: [PATCH] Release v1.44.140 (2022-11-17) (#4626) Release v1.44.140 (2022-11-17) === ### Service Client Updates * `service/amplify`: Updates service API and documentation * `service/appflow`: Updates service API and documentation * `service/appsync`: Updates service API and documentation * `service/dms`: Updates service API and documentation * Adds support for Internet Protocol Version 6 (IPv6) on DMS Replication Instances * `service/ec2`: Updates service API and documentation * This release adds a new optional parameter "privateIpAddress" for the CreateNatGateway API. PrivateIPAddress will allow customers to select a custom Private IPv4 address instead of having it be auto-assigned. * `service/elasticloadbalancingv2`: Updates service documentation * `service/emr-serverless`: Updates service API and documentation * `service/ivschat`: Updates service API, documentation, and paginators * `service/lambda`: Updates service API and documentation * Add Node 18 (nodejs18.x) support to AWS Lambda. * `service/personalize`: Updates service API, documentation, and paginators * `service/polly`: Updates service API * Add two new neural voices - Ola (pl-PL) and Hala (ar-AE). * `service/rum`: Updates service API and documentation * `service/s3control`: Updates service API and documentation * Added 34 new S3 Storage Lens metrics to support additional customer use cases. * `service/secretsmanager`: Updates service documentation * Documentation updates for Secrets Manager. * `service/securityhub`: Updates service API and documentation * `service/servicecatalog-appregistry`: Updates service API and documentation * `service/sts`: Updates service documentation * Documentation updates for AWS Security Token Service. * `service/textract`: Updates service API and documentation * `service/workspaces`: Updates service API and documentation * The release introduces CreateStandbyWorkspaces, an API that allows you to create standby WorkSpaces associated with a primary WorkSpace in another Region. DescribeWorkspaces now includes related WorkSpaces properties. DescribeWorkspaceBundles and CreateWorkspaceBundle now return more bundle details. --- CHANGELOG.md | 32 + aws/endpoints/defaults.go | 28 +- aws/version.go | 2 +- models/apis/amplify/2017-07-25/api-2.json | 7 +- models/apis/amplify/2017-07-25/docs-2.json | 6 +- .../2017-07-25/endpoint-rule-set-1.json | 315 ++ .../amplify/2017-07-25/endpoint-tests-1.json | 1031 +++++++ models/apis/appflow/2020-08-23/api-2.json | 96 +- models/apis/appflow/2020-08-23/docs-2.json | 84 +- .../2020-08-23/endpoint-rule-set-1.json | 315 ++ .../appflow/2020-08-23/endpoint-tests-1.json | 875 ++++++ models/apis/appsync/2017-07-25/api-2.json | 146 +- models/apis/appsync/2017-07-25/docs-2.json | 117 +- .../2017-07-25/endpoint-rule-set-1.json | 315 ++ .../appsync/2017-07-25/endpoint-tests-1.json | 1291 +++++++++ models/apis/dms/2016-01-01/api-2.json | 24 +- models/apis/dms/2016-01-01/docs-2.json | 40 +- .../dms/2016-01-01/endpoint-rule-set-1.json | 466 +++ .../apis/dms/2016-01-01/endpoint-tests-1.json | 1727 +++++++++++ models/apis/ec2/2016-11-15/api-2.json | 3 +- models/apis/ec2/2016-11-15/docs-2.json | 15 +- .../apis/ec2/2016-11-15/endpoint-tests-1.json | 48 + .../2015-12-01/docs-2.json | 38 +- .../2015-12-01/endpoint-rule-set-1.json | 340 +++ .../2015-12-01/endpoint-tests-1.json | 1799 ++++++++++++ .../apis/emr-serverless/2021-07-13/api-2.json | 19 +- .../emr-serverless/2021-07-13/docs-2.json | 9 + .../2021-07-13/endpoint-rule-set-1.json | 315 ++ .../2021-07-13/endpoint-tests-1.json | 927 ++++++ models/apis/ivschat/2020-07-14/api-2.json | 292 ++ models/apis/ivschat/2020-07-14/docs-2.json | 225 +- .../2020-07-14/endpoint-rule-set-1.json | 315 ++ .../ivschat/2020-07-14/endpoint-tests-1.json | 407 +++ .../apis/ivschat/2020-07-14/paginators-1.json | 5 + models/apis/lambda/2015-03-31/api-2.json | 3 +- models/apis/lambda/2015-03-31/docs-2.json | 24 +- .../2015-03-31/endpoint-rule-set-1.json | 315 ++ .../lambda/2015-03-31/endpoint-tests-1.json | 1799 ++++++++++++ models/apis/personalize/2018-05-22/api-2.json | 250 +- .../apis/personalize/2018-05-22/docs-2.json | 159 +- .../2018-05-22/endpoint-rule-set-1.json | 315 ++ .../2018-05-22/endpoint-tests-1.json | 667 +++++ .../personalize/2018-05-22/paginators-1.json | 12 + models/apis/polly/2016-06-10/api-2.json | 7 +- models/apis/rum/2018-05-10/api-2.json | 16 + models/apis/rum/2018-05-10/docs-2.json | 24 +- .../apis/rum/2018-05-10/endpoint-tests-1.json | 166 +- models/apis/s3control/2018-08-20/api-2.json | 28 +- models/apis/s3control/2018-08-20/docs-2.json | 64 +- .../secretsmanager/2017-10-17/docs-2.json | 12 +- .../2017-10-17/endpoint-rule-set-1.json | 315 ++ .../2017-10-17/endpoint-tests-1.json | 1799 ++++++++++++ models/apis/securityhub/2018-10-26/api-2.json | 8 +- .../apis/securityhub/2018-10-26/docs-2.json | 6 +- .../2018-10-26/endpoint-tests-1.json | 428 +-- .../2020-06-24/api-2.json | 84 +- .../2020-06-24/docs-2.json | 51 +- .../2020-06-24/endpoint-rule-set-1.json | 340 +++ .../2020-06-24/endpoint-tests-1.json | 1291 +++++++++ models/apis/sts/2011-06-15/docs-2.json | 28 +- .../sts/2011-06-15/endpoint-rule-set-1.json | 876 ++++++ .../apis/sts/2011-06-15/endpoint-tests-1.json | 2546 +++++++++++++++++ models/apis/textract/2018-06-27/api-2.json | 6 +- models/apis/textract/2018-06-27/docs-2.json | 6 +- .../textract/2018-06-27/endpoint-tests-1.json | 262 +- models/apis/workspaces/2015-04-08/api-2.json | 137 +- models/apis/workspaces/2015-04-08/docs-2.json | 94 +- models/endpoints/endpoints.json | 20 +- service/amplify/api.go | 19 +- service/appflow/api.go | 441 ++- service/appregistry/api.go | 432 ++- .../appregistry/appregistryiface/interface.go | 8 + service/appsync/api.go | 723 ++++- service/appsync/appsynciface/interface.go | 4 + service/cloudwatchrum/api.go | 118 +- service/cloudwatchrum/doc.go | 12 +- service/databasemigrationservice/api.go | 139 +- service/ec2/api.go | 208 +- service/elbv2/api.go | 158 +- service/emrserverless/api.go | 52 + service/ivschat/api.go | 1840 +++++++++++- service/ivschat/doc.go | 29 +- service/ivschat/ivschatiface/interface.go | 23 + service/lambda/api.go | 100 +- service/personalize/api.go | 2037 +++++++++++-- .../personalize/personalizeiface/interface.go | 30 + service/polly/api.go | 12 + service/s3control/api.go | 256 +- service/secretsmanager/api.go | 59 +- service/securityhub/api.go | 40 +- service/sts/api.go | 213 +- service/textract/api.go | 27 +- service/workspaces/api.go | 569 ++++ .../workspaces/workspacesiface/interface.go | 4 + 94 files changed, 29991 insertions(+), 1394 deletions(-) create mode 100644 models/apis/amplify/2017-07-25/endpoint-rule-set-1.json create mode 100644 models/apis/amplify/2017-07-25/endpoint-tests-1.json create mode 100644 models/apis/appflow/2020-08-23/endpoint-rule-set-1.json create mode 100644 models/apis/appflow/2020-08-23/endpoint-tests-1.json create mode 100644 models/apis/appsync/2017-07-25/endpoint-rule-set-1.json create mode 100644 models/apis/appsync/2017-07-25/endpoint-tests-1.json create mode 100644 models/apis/dms/2016-01-01/endpoint-rule-set-1.json create mode 100644 models/apis/dms/2016-01-01/endpoint-tests-1.json create mode 100644 models/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json create mode 100644 models/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json create mode 100644 models/apis/emr-serverless/2021-07-13/endpoint-rule-set-1.json create mode 100644 models/apis/emr-serverless/2021-07-13/endpoint-tests-1.json create mode 100644 models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json create mode 100644 models/apis/ivschat/2020-07-14/endpoint-tests-1.json create mode 100644 models/apis/lambda/2015-03-31/endpoint-rule-set-1.json create mode 100644 models/apis/lambda/2015-03-31/endpoint-tests-1.json create mode 100644 models/apis/personalize/2018-05-22/endpoint-rule-set-1.json create mode 100644 models/apis/personalize/2018-05-22/endpoint-tests-1.json create mode 100644 models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json create mode 100644 models/apis/secretsmanager/2017-10-17/endpoint-tests-1.json create mode 100644 models/apis/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json create mode 100644 models/apis/servicecatalog-appregistry/2020-06-24/endpoint-tests-1.json create mode 100644 models/apis/sts/2011-06-15/endpoint-rule-set-1.json create mode 100644 models/apis/sts/2011-06-15/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 135b58faed1..d48dc2c3a11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +Release v1.44.140 (2022-11-17) +=== + +### Service Client Updates +* `service/amplify`: Updates service API and documentation +* `service/appflow`: Updates service API and documentation +* `service/appsync`: Updates service API and documentation +* `service/dms`: Updates service API and documentation + * Adds support for Internet Protocol Version 6 (IPv6) on DMS Replication Instances +* `service/ec2`: Updates service API and documentation + * This release adds a new optional parameter "privateIpAddress" for the CreateNatGateway API. PrivateIPAddress will allow customers to select a custom Private IPv4 address instead of having it be auto-assigned. +* `service/elasticloadbalancingv2`: Updates service documentation +* `service/emr-serverless`: Updates service API and documentation +* `service/ivschat`: Updates service API, documentation, and paginators +* `service/lambda`: Updates service API and documentation + * Add Node 18 (nodejs18.x) support to AWS Lambda. +* `service/personalize`: Updates service API, documentation, and paginators +* `service/polly`: Updates service API + * Add two new neural voices - Ola (pl-PL) and Hala (ar-AE). +* `service/rum`: Updates service API and documentation +* `service/s3control`: Updates service API and documentation + * Added 34 new S3 Storage Lens metrics to support additional customer use cases. +* `service/secretsmanager`: Updates service documentation + * Documentation updates for Secrets Manager. +* `service/securityhub`: Updates service API and documentation +* `service/servicecatalog-appregistry`: Updates service API and documentation +* `service/sts`: Updates service documentation + * Documentation updates for AWS Security Token Service. +* `service/textract`: Updates service API and documentation +* `service/workspaces`: Updates service API and documentation + * The release introduces CreateStandbyWorkspaces, an API that allows you to create standby WorkSpaces associated with a primary WorkSpace in another Region. DescribeWorkspaces now includes related WorkSpaces properties. DescribeWorkspaceBundles and CreateWorkspaceBundle now return more bundle details. + Release v1.44.139 (2022-11-16) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 228c3f1cc9b..3fb76b41ee5 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -7899,6 +7899,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, @@ -25206,13 +25209,19 @@ var awsPartition = partition{ endpointKey{ Region: "fips-us-east-1", }: endpoint{ - + Hostname: "voiceid-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, Deprecated: boxedTrue, }, endpointKey{ Region: "fips-us-west-2", }: endpoint{ - + Hostname: "voiceid-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, Deprecated: boxedTrue, }, endpointKey{ @@ -25221,14 +25230,18 @@ var awsPartition = partition{ endpointKey{ Region: "us-east-1", Variant: fipsVariant, - }: endpoint{}, + }: endpoint{ + Hostname: "voiceid-fips.us-east-1.amazonaws.com", + }, endpointKey{ Region: "us-west-2", }: endpoint{}, endpointKey{ Region: "us-west-2", Variant: fipsVariant, - }: endpoint{}, + }: endpoint{ + Hostname: "voiceid-fips.us-west-2.amazonaws.com", + }, }, }, "waf": service{ @@ -31112,6 +31125,13 @@ var awsusgovPartition = partition{ }, }, }, + "ingest.timestream": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "inspector": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 8697f7f10e9..f1f0189d81d 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.139" +const SDKVersion = "1.44.140" diff --git a/models/apis/amplify/2017-07-25/api-2.json b/models/apis/amplify/2017-07-25/api-2.json index 032fcbda5c8..1df4574cb78 100644 --- a/models/apis/amplify/2017-07-25/api-2.json +++ b/models/apis/amplify/2017-07-25/api-2.json @@ -1938,7 +1938,8 @@ "type":"string", "enum":[ "WEB", - "WEB_DYNAMIC" + "WEB_DYNAMIC", + "WEB_COMPUTE" ] }, "ProductionBranch":{ @@ -2186,12 +2187,12 @@ "SubDomainSettings":{ "type":"list", "member":{"shape":"SubDomainSetting"}, - "max":255 + "max":500 }, "SubDomains":{ "type":"list", "member":{"shape":"SubDomain"}, - "max":255 + "max":500 }, "TTL":{ "type":"string", diff --git a/models/apis/amplify/2017-07-25/docs-2.json b/models/apis/amplify/2017-07-25/docs-2.json index 792097dd087..e962174e2e9 100644 --- a/models/apis/amplify/2017-07-25/docs-2.json +++ b/models/apis/amplify/2017-07-25/docs-2.json @@ -1069,9 +1069,9 @@ "Platform": { "base": null, "refs": { - "App$platform": "

The platform for the Amplify app.

", - "CreateAppRequest$platform": "

The platform or framework for an Amplify app.

", - "UpdateAppRequest$platform": "

The platform for an Amplify app.

" + "App$platform": "

The platform for the Amplify app. For a static app, set the platform type to WEB. For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support only, set the platform type to WEB_DYNAMIC.

", + "CreateAppRequest$platform": "

The platform for the Amplify app. For a static app, set the platform type to WEB. For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support only, set the platform type to WEB_DYNAMIC.

", + "UpdateAppRequest$platform": "

The platform for the Amplify app. For a static app, set the platform type to WEB. For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support only, set the platform type to WEB_DYNAMIC.

" } }, "ProductionBranch": { diff --git a/models/apis/amplify/2017-07-25/endpoint-rule-set-1.json b/models/apis/amplify/2017-07-25/endpoint-rule-set-1.json new file mode 100644 index 00000000000..e682b46ce07 --- /dev/null +++ b/models/apis/amplify/2017-07-25/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://amplify-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://amplify-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://amplify.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://amplify.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/amplify/2017-07-25/endpoint-tests-1.json b/models/apis/amplify/2017-07-25/endpoint-tests-1.json new file mode 100644 index 00000000000..5511080471e --- /dev/null +++ b/models/apis/amplify/2017-07-25/endpoint-tests-1.json @@ -0,0 +1,1031 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://amplify.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/appflow/2020-08-23/api-2.json b/models/apis/appflow/2020-08-23/api-2.json index 287039fda4f..444c40b90df 100644 --- a/models/apis/appflow/2020-08-23/api-2.json +++ b/models/apis/appflow/2020-08-23/api-2.json @@ -374,7 +374,8 @@ "AggregationConfig":{ "type":"structure", "members":{ - "aggregationType":{"shape":"AggregationType"} + "aggregationType":{"shape":"AggregationType"}, + "targetFileSize":{"shape":"Long"} } }, "AggregationType":{ @@ -538,6 +539,10 @@ "max":512, "pattern":".*" }, + "CatalogType":{ + "type":"string", + "enum":["GLUE"] + }, "ClientCredentialsArn":{ "type":"string", "max":2048, @@ -991,7 +996,8 @@ "sourceFlowConfig":{"shape":"SourceFlowConfig"}, "destinationFlowConfigList":{"shape":"DestinationFlowConfigList"}, "tasks":{"shape":"Tasks"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "metadataCatalogConfig":{"shape":"MetadataCatalogConfig"} } }, "CreateFlowResponse":{ @@ -1317,7 +1323,10 @@ "lastUpdatedAt":{"shape":"Date"}, "createdBy":{"shape":"CreatedBy"}, "lastUpdatedBy":{"shape":"UpdatedBy"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "metadataCatalogConfig":{"shape":"MetadataCatalogConfig"}, + "lastRunMetadataCatalogDetails":{"shape":"MetadataCatalogDetails"}, + "schemaVersion":{"shape":"Long"} } }, "Description":{ @@ -1503,7 +1512,8 @@ "startedAt":{"shape":"Date"}, "lastUpdatedAt":{"shape":"Date"}, "dataPullStartTime":{"shape":"Date"}, - "dataPullEndTime":{"shape":"Date"} + "dataPullEndTime":{"shape":"Date"}, + "metadataCatalogDetails":{"shape":"MetadataCatalogDetails"} } }, "ExecutionResult":{ @@ -1616,6 +1626,34 @@ "max":2048, "pattern":"[\\s\\w/!@#+=.-]*" }, + "GlueDataCatalogConfig":{ + "type":"structure", + "required":[ + "roleArn", + "databaseName", + "tablePrefix" + ], + "members":{ + "roleArn":{"shape":"GlueDataCatalogIAMRole"}, + "databaseName":{"shape":"GlueDataCatalogDatabaseName"}, + "tablePrefix":{"shape":"GlueDataCatalogTablePrefix"} + } + }, + "GlueDataCatalogDatabaseName":{ + "type":"string", + "max":255, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "GlueDataCatalogIAMRole":{ + "type":"string", + "max":512, + "pattern":"arn:aws:iam:.*:[0-9]+:.*" + }, + "GlueDataCatalogTablePrefix":{ + "type":"string", + "max":128, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, "GoogleAnalyticsConnectorOperator":{ "type":"string", "enum":[ @@ -1937,6 +1975,25 @@ "max":100, "min":1 }, + "MetadataCatalogConfig":{ + "type":"structure", + "members":{ + "glueDataCatalog":{"shape":"GlueDataCatalogConfig"} + } + }, + "MetadataCatalogDetail":{ + "type":"structure", + "members":{ + "catalogType":{"shape":"CatalogType"}, + "tableName":{"shape":"String"}, + "tableRegistrationOutput":{"shape":"RegistrationOutput"}, + "partitionRegistrationOutput":{"shape":"RegistrationOutput"} + } + }, + "MetadataCatalogDetails":{ + "type":"list", + "member":{"shape":"MetadataCatalogDetail"} + }, "MostRecentExecutionMessage":{ "type":"string", "max":2048, @@ -2108,7 +2165,8 @@ "CONCAT_FORMAT", "SUBFIELD_CATEGORY_MAP", "EXCLUDE_SOURCE_FIELDS_LIST", - "INCLUDE_NEW_FIELDS" + "INCLUDE_NEW_FIELDS", + "ORDERED_PARTITION_KEYS_LIST" ] }, "Operators":{ @@ -2143,6 +2201,17 @@ "pattern":".*", "sensitive":true }, + "PathPrefix":{ + "type":"string", + "enum":[ + "EXECUTION_ID", + "SCHEMA_VERSION" + ] + }, + "PathPrefixHierarchy":{ + "type":"list", + "member":{"shape":"PathPrefix"} + }, "PortNumber":{ "type":"integer", "max":65535, @@ -2152,7 +2221,8 @@ "type":"structure", "members":{ "prefixType":{"shape":"PrefixType"}, - "prefixFormat":{"shape":"PrefixFormat"} + "prefixFormat":{"shape":"PrefixFormat"}, + "pathPrefixHierarchy":{"shape":"PathPrefixHierarchy"} } }, "PrefixFormat":{ @@ -2321,6 +2391,14 @@ "max":512, "pattern":"\\S+" }, + "RegistrationOutput":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "result":{"shape":"String"}, + "status":{"shape":"ExecutionStatus"} + } + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -3019,7 +3097,8 @@ "Merge", "Passthrough", "Truncate", - "Validate" + "Validate", + "Partition" ] }, "Tasks":{ @@ -3203,7 +3282,8 @@ "triggerConfig":{"shape":"TriggerConfig"}, "sourceFlowConfig":{"shape":"SourceFlowConfig"}, "destinationFlowConfigList":{"shape":"DestinationFlowConfigList"}, - "tasks":{"shape":"Tasks"} + "tasks":{"shape":"Tasks"}, + "metadataCatalogConfig":{"shape":"MetadataCatalogConfig"} } }, "UpdateFlowResponse":{ diff --git a/models/apis/appflow/2020-08-23/docs-2.json b/models/apis/appflow/2020-08-23/docs-2.json index bee446bc31f..2f324eacc37 100644 --- a/models/apis/appflow/2020-08-23/docs-2.json +++ b/models/apis/appflow/2020-08-23/docs-2.json @@ -288,6 +288,12 @@ "UpsolverDestinationProperties$bucketPrefix": "

The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.

" } }, + "CatalogType": { + "base": null, + "refs": { + "MetadataCatalogDetail$catalogType": "

The type of metadata catalog that Amazon AppFlow used for the associated flow run. This parameter returns the following value:

GLUE

The metadata catalog is provided by the Glue Data Catalog. Glue includes the Glue Data Catalog as a component.

" + } + }, "ClientCredentialsArn": { "base": null, "refs": { @@ -1092,7 +1098,8 @@ "base": null, "refs": { "ExecutionDetails$mostRecentExecutionStatus": "

Specifies the status of the most recent flow run.

", - "ExecutionRecord$executionStatus": "

Specifies the flow run status and whether it is in progress, has completed successfully, or has failed.

" + "ExecutionRecord$executionStatus": "

Specifies the flow run status and whether it is in progress, has completed successfully, or has failed.

", + "RegistrationOutput$status": "

Indicates the status of the registration attempt from Amazon AppFlow.

" } }, "FieldType": { @@ -1194,6 +1201,30 @@ "DescribeFlowResponse$flowStatusMessage": "

Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows.

" } }, + "GlueDataCatalogConfig": { + "base": "

Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog. When Amazon AppFlow catalogs your data, it stores metadata in Data Catalog tables. This metadata represents the data that's transferred by the flow that you configure with these settings.

You can configure a flow with these settings only when the flow destination is Amazon S3.

", + "refs": { + "MetadataCatalogConfig$glueDataCatalog": "

Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.

" + } + }, + "GlueDataCatalogDatabaseName": { + "base": null, + "refs": { + "GlueDataCatalogConfig$databaseName": "

The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.

When you configure a new flow with this parameter, you must specify an existing database.

" + } + }, + "GlueDataCatalogIAMRole": { + "base": null, + "refs": { + "GlueDataCatalogConfig$roleArn": "

The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.

For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.

" + } + }, + "GlueDataCatalogTablePrefix": { + "base": null, + "refs": { + "GlueDataCatalogConfig$tablePrefix": "

A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.

" + } + }, "GoogleAnalyticsConnectorOperator": { "base": null, "refs": { @@ -1420,6 +1451,8 @@ "Long": { "base": null, "refs": { + "AggregationConfig$targetFileSize": "

The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

", + "DescribeFlowResponse$schemaVersion": "

The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

", "ErrorInfo$putFailuresCount": "

Specifies the failure count for the attempted flow.

", "ExecutionResult$bytesProcessed": "

The total number of bytes processed by the flow run.

", "ExecutionResult$bytesWritten": "

The total number of bytes written as a result of the flow run.

", @@ -1478,6 +1511,27 @@ "ListFlowsRequest$maxResults": "

Specifies the maximum number of items that should be returned in the result set.

" } }, + "MetadataCatalogConfig": { + "base": "

Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.

", + "refs": { + "CreateFlowRequest$metadataCatalogConfig": "

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

", + "DescribeFlowResponse$metadataCatalogConfig": "

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

", + "UpdateFlowRequest$metadataCatalogConfig": "

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

" + } + }, + "MetadataCatalogDetail": { + "base": "

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

", + "refs": { + "MetadataCatalogDetails$member": null + } + }, + "MetadataCatalogDetails": { + "base": null, + "refs": { + "DescribeFlowResponse$lastRunMetadataCatalogDetails": "

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

", + "ExecutionRecord$metadataCatalogDetails": "

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

" + } + }, "MostRecentExecutionMessage": { "base": null, "refs": { @@ -1647,6 +1701,18 @@ "VeevaConnectorProfileCredentials$password": "

The password that corresponds to the user name.

" } }, + "PathPrefix": { + "base": null, + "refs": { + "PathPrefixHierarchy$member": null + } + }, + "PathPrefixHierarchy": { + "base": null, + "refs": { + "PrefixConfig$pathPrefixHierarchy": "

Specifies whether the destination file path includes either or both of the following elements:

EXECUTION_ID

The ID that Amazon AppFlow assigns to the flow run.

SCHEMA_VERSION

The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

" + } + }, "PortNumber": { "base": null, "refs": { @@ -1654,7 +1720,7 @@ } }, "PrefixConfig": { - "base": "

Determines the prefix that Amazon AppFlow applies to the destination folder name. You can name your destination folders according to the flow frequency and date.

", + "base": "

Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.

", "refs": { "S3OutputFormatConfig$prefixConfig": "

Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.

", "UpsolverS3OutputFormatConfig$prefixConfig": null @@ -1663,13 +1729,13 @@ "PrefixFormat": { "base": null, "refs": { - "PrefixConfig$prefixFormat": "

Determines the level of granularity that's included in the prefix.

" + "PrefixConfig$prefixFormat": "

Determines the level of granularity for the date and time that's included in the prefix.

" } }, "PrefixType": { "base": null, "refs": { - "PrefixConfig$prefixType": "

Determines the format of the prefix, and whether it applies to the file name, file path, or both.

" + "PrefixConfig$prefixType": "

Determines the format of the prefix, and whether it applies to the file name, file path, or both.

" } }, "PrivateConnectionProvisioningFailureCause": { @@ -1804,6 +1870,13 @@ "ConnectorDetail$registeredBy": "

The user who registered the connector.

" } }, + "RegistrationOutput": { + "base": "

Describes the status of an attempt from Amazon AppFlow to register a resource.

When you run a flow that you've configured to use a metadata catalog, Amazon AppFlow registers a metadata table and data partitions with that catalog. This operation provides the status of that registration attempt. The operation also indicates how many related resources Amazon AppFlow created or updated.

", + "refs": { + "MetadataCatalogDetail$tableRegistrationOutput": "

Describes the status of the attempt from Amazon AppFlow to register the metadata table with the metadata catalog. Amazon AppFlow creates or updates this table for the associated flow run.

", + "MetadataCatalogDetail$partitionRegistrationOutput": "

Describes the status of the attempt from Amazon AppFlow to register the data partitions with the metadata catalog. The data partitions organize the flow output into a hierarchical path, such as a folder path in an S3 bucket. Amazon AppFlow creates the partitions (if they don't already exist) based on your flow configuration.

" + } + }, "ResourceNotFoundException": { "base": "

The resource specified in the request (such as the source or destination connector profile) is not found.

", "refs": { @@ -2156,6 +2229,9 @@ "ConnectorEntityField$defaultValue": "

Default value that can be assigned to this field.

", "FieldTypeDetails$valueRegexPattern": "

The regular expression pattern for the field name.

", "FieldTypeDetails$supportedDateFormat": "

The date format that the field supports.

", + "MetadataCatalogDetail$tableName": "

The name of the table that stores the metadata for the associated flow run. The table stores metadata that represents the data that the flow transferred. Amazon AppFlow stores the table in the metadata catalog.

", + "RegistrationOutput$message": "

Explains the status of the registration attempt from Amazon AppFlow. If the attempt fails, the message explains why.

", + "RegistrationOutput$result": "

Indicates the number of resources that Amazon AppFlow created or updated. Possible resources include metadata tables and data partitions.

", "SourceFields$member": null } }, diff --git a/models/apis/appflow/2020-08-23/endpoint-rule-set-1.json b/models/apis/appflow/2020-08-23/endpoint-rule-set-1.json new file mode 100644 index 00000000000..d90efce974c --- /dev/null +++ b/models/apis/appflow/2020-08-23/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appflow-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appflow-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appflow.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://appflow.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/appflow/2020-08-23/endpoint-tests-1.json b/models/apis/appflow/2020-08-23/endpoint-tests-1.json new file mode 100644 index 00000000000..45e1b7d9c2e --- /dev/null +++ b/models/apis/appflow/2020-08-23/endpoint-tests-1.json @@ -0,0 +1,875 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appflow.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/appsync/2017-07-25/api-2.json b/models/apis/appsync/2017-07-25/api-2.json index 24b7726b46e..a75d9d9ac25 100644 --- a/models/apis/appsync/2017-07-25/api-2.json +++ b/models/apis/appsync/2017-07-25/api-2.json @@ -137,7 +137,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} ] }, "CreateType":{ @@ -263,7 +264,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} ] }, "DeleteType":{ @@ -298,6 +300,20 @@ {"shape":"NotFoundException"} ] }, + "EvaluateCode":{ + "name":"EvaluateCode", + "http":{ + "method":"POST", + "requestUri":"/v1/dataplane-evaluatecode" + }, + "input":{"shape":"EvaluateCodeRequest"}, + "output":{"shape":"EvaluateCodeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ] + }, "EvaluateMappingTemplate":{ "name":"EvaluateMappingTemplate", "http":{ @@ -775,7 +791,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} ] }, "UpdateType":{ @@ -911,6 +928,17 @@ "error":{"httpStatusCode":400}, "exception":true }, + "AppSyncRuntime":{ + "type":"structure", + "required":[ + "name", + "runtimeVersion" + ], + "members":{ + "name":{"shape":"RuntimeName"}, + "runtimeVersion":{"shape":"String"} + } + }, "AssociateApiRequest":{ "type":"structure", "required":[ @@ -969,14 +997,26 @@ "signingServiceName":{"shape":"String"} } }, + "BadRequestDetail":{ + "type":"structure", + "members":{ + "codeErrors":{"shape":"CodeErrors"} + } + }, "BadRequestException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "reason":{"shape":"BadRequestReason"}, + "detail":{"shape":"BadRequestDetail"} }, "error":{"httpStatusCode":400}, "exception":true }, + "BadRequestReason":{ + "type":"string", + "enum":["CODE_ERROR"] + }, "Blob":{"type":"blob"}, "Boolean":{"type":"boolean"}, "BooleanValue":{"type":"boolean"}, @@ -998,6 +1038,34 @@ "min":20, "pattern":"^arn:[a-z-]*:(acm|iam):[a-z0-9-]*:\\d{12}:(certificate|server-certificate)/[0-9A-Za-z_/-]*$" }, + "Code":{ + "type":"string", + "max":32768, + "min":1 + }, + "CodeError":{ + "type":"structure", + "members":{ + "errorType":{"shape":"String"}, + "value":{"shape":"String"}, + "location":{"shape":"CodeErrorLocation"} + } + }, + "CodeErrorColumn":{"type":"integer"}, + "CodeErrorLine":{"type":"integer"}, + "CodeErrorLocation":{ + "type":"structure", + "members":{ + "line":{"shape":"CodeErrorLine"}, + "column":{"shape":"CodeErrorColumn"}, + "span":{"shape":"CodeErrorSpan"} + } + }, + "CodeErrorSpan":{"type":"integer"}, + "CodeErrors":{ + "type":"list", + "member":{"shape":"CodeError"} + }, "CognitoUserPoolConfig":{ "type":"structure", "required":[ @@ -1140,8 +1208,7 @@ "required":[ "apiId", "name", - "dataSourceName", - "functionVersion" + "dataSourceName" ], "members":{ "apiId":{ @@ -1156,7 +1223,9 @@ "responseMappingTemplate":{"shape":"MappingTemplate"}, "functionVersion":{"shape":"String"}, "syncConfig":{"shape":"SyncConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "CreateFunctionResponse":{ @@ -1215,7 +1284,9 @@ "pipelineConfig":{"shape":"PipelineConfig"}, "syncConfig":{"shape":"SyncConfig"}, "cachingConfig":{"shape":"CachingConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "CreateResolverResponse":{ @@ -1542,6 +1613,35 @@ } }, "ErrorMessage":{"type":"string"}, + "EvaluateCodeErrorDetail":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "codeErrors":{"shape":"CodeErrors"} + } + }, + "EvaluateCodeRequest":{ + "type":"structure", + "required":[ + "runtime", + "code", + "context" + ], + "members":{ + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"}, + "context":{"shape":"Context"}, + "function":{"shape":"String"} + } + }, + "EvaluateCodeResponse":{ + "type":"structure", + "members":{ + "evaluationResult":{"shape":"EvaluationResult"}, + "error":{"shape":"EvaluateCodeErrorDetail"}, + "logs":{"shape":"Logs"} + } + }, "EvaluateMappingTemplateRequest":{ "type":"structure", "required":[ @@ -1557,7 +1657,8 @@ "type":"structure", "members":{ "evaluationResult":{"shape":"EvaluationResult"}, - "error":{"shape":"ErrorDetail"} + "error":{"shape":"ErrorDetail"}, + "logs":{"shape":"Logs"} } }, "EvaluationResult":{ @@ -1602,7 +1703,9 @@ "responseMappingTemplate":{"shape":"MappingTemplate"}, "functionVersion":{"shape":"String"}, "syncConfig":{"shape":"SyncConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "Functions":{ @@ -2183,6 +2286,10 @@ "excludeVerboseContent":{"shape":"Boolean"} } }, + "Logs":{ + "type":"list", + "member":{"shape":"String"} + }, "Long":{"type":"long"}, "MapOfStringToString":{ "type":"map", @@ -2287,7 +2394,9 @@ "pipelineConfig":{"shape":"PipelineConfig"}, "syncConfig":{"shape":"SyncConfig"}, "cachingConfig":{"shape":"CachingConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "ResolverKind":{ @@ -2313,6 +2422,10 @@ "min":1, "pattern":"[_A-Za-z][_0-9A-Za-z]*" }, + "RuntimeName":{ + "type":"string", + "enum":["APPSYNC_JS"] + }, "SchemaStatus":{ "type":"string", "enum":[ @@ -2573,8 +2686,7 @@ "apiId", "name", "functionId", - "dataSourceName", - "functionVersion" + "dataSourceName" ], "members":{ "apiId":{ @@ -2594,7 +2706,9 @@ "responseMappingTemplate":{"shape":"MappingTemplate"}, "functionVersion":{"shape":"String"}, "syncConfig":{"shape":"SyncConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "UpdateFunctionResponse":{ @@ -2661,7 +2775,9 @@ "pipelineConfig":{"shape":"PipelineConfig"}, "syncConfig":{"shape":"SyncConfig"}, "cachingConfig":{"shape":"CachingConfig"}, - "maxBatchSize":{"shape":"MaxBatchSize"} + "maxBatchSize":{"shape":"MaxBatchSize"}, + "runtime":{"shape":"AppSyncRuntime"}, + "code":{"shape":"Code"} } }, "UpdateResolverResponse":{ diff --git a/models/apis/appsync/2017-07-25/docs-2.json b/models/apis/appsync/2017-07-25/docs-2.json index 2a5a8a8e015..01187ff7016 100644 --- a/models/apis/appsync/2017-07-25/docs-2.json +++ b/models/apis/appsync/2017-07-25/docs-2.json @@ -20,6 +20,7 @@ "DeleteResolver": "

Deletes a Resolver object.

", "DeleteType": "

Deletes a Type object.

", "DisassociateApi": "

Removes an ApiAssociation object from a custom domain.

", + "EvaluateCode": "

Evaluates the given code and returns the response. The code definition requirements depend on the specified runtime. For APPSYNC_JS runtimes, the code defines the request and response functions. The request function takes the incoming request after a GraphQL operation is parsed and converts it into a request configuration for the selected data source operation. The response function interprets responses from the data source and maps it to the shape of the GraphQL field output type.

", "EvaluateMappingTemplate": "

Evaluates a given template and returns the response. The mapping template can be a request or response template.

Request templates take the incoming request after a GraphQL operation is parsed and convert it into a request configuration for the selected data source operation. Response templates interpret responses from the data source and map it to the shape of the GraphQL field output type.

Mapping templates are written in the Apache Velocity Template Language (VTL).

", "FlushApiCache": "

Flushes an ApiCache object.

", "GetApiAssociation": "

Retrieves an ApiAssociation object.

", @@ -139,6 +140,18 @@ "refs": { } }, + "AppSyncRuntime": { + "base": "

Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.

", + "refs": { + "CreateFunctionRequest$runtime": null, + "CreateResolverRequest$runtime": null, + "EvaluateCodeRequest$runtime": "

The runtime to be used when evaluating the code. Currently, only the APPSYNC_JS runtime is supported.

", + "FunctionConfiguration$runtime": null, + "Resolver$runtime": null, + "UpdateFunctionRequest$runtime": null, + "UpdateResolverRequest$runtime": null + } + }, "AssociateApiRequest": { "base": null, "refs": { @@ -182,11 +195,23 @@ "AuthorizationConfig$awsIamConfig": "

The Identity and Access Management (IAM) settings.

" } }, + "BadRequestDetail": { + "base": "

Provides further details for the reason behind the bad request. For reason type CODE_ERROR, the detail will contain a list of code errors.

", + "refs": { + "BadRequestException$detail": null + } + }, "BadRequestException": { "base": "

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and then try again.

", "refs": { } }, + "BadRequestReason": { + "base": "

Provides context for the cause of the bad request. The only supported value is CODE_ERROR.

", + "refs": { + "BadRequestException$reason": null + } + }, "Blob": { "base": null, "refs": { @@ -236,6 +261,55 @@ "DomainNameConfig$certificateArn": "

The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager (ACM) certificate or an Identity and Access Management (IAM) server certificate.

" } }, + "Code": { + "base": null, + "refs": { + "CreateFunctionRequest$code": "

The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

", + "CreateResolverRequest$code": "

The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

", + "EvaluateCodeRequest$code": "

The code definition to be evaluated. Note that code and runtime are both required for this action. The runtime value must be APPSYNC_JS.

", + "FunctionConfiguration$code": "

The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

", + "Resolver$code": "

The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

", + "UpdateFunctionRequest$code": "

The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

", + "UpdateResolverRequest$code": "

The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.

" + } + }, + "CodeError": { + "base": "

Describes an AppSync error.

", + "refs": { + "CodeErrors$member": null + } + }, + "CodeErrorColumn": { + "base": null, + "refs": { + "CodeErrorLocation$column": "

The column number in the code. Defaults to 0 if unknown.

" + } + }, + "CodeErrorLine": { + "base": null, + "refs": { + "CodeErrorLocation$line": "

The line number in the code. Defaults to 0 if unknown.

" + } + }, + "CodeErrorLocation": { + "base": "

Describes the location of the error in a code sample.

", + "refs": { + "CodeError$location": "

The line, column, and span location of the error in the code.

" + } + }, + "CodeErrorSpan": { + "base": null, + "refs": { + "CodeErrorLocation$span": "

The span/length of the error. Defaults to -1 if unknown.

" + } + }, + "CodeErrors": { + "base": null, + "refs": { + "BadRequestDetail$codeErrors": "

Contains the list of errors in the request.

", + "EvaluateCodeErrorDetail$codeErrors": "

Contains the list of CodeError objects.

" + } + }, "CognitoUserPoolConfig": { "base": "

Describes an Amazon Cognito user pool configuration.

", "refs": { @@ -262,6 +336,7 @@ "Context": { "base": null, "refs": { + "EvaluateCodeRequest$context": "

The map that holds all of the contextual information for your resolver invocation. A context is required for this action.

", "EvaluateMappingTemplateRequest$context": "

The map that holds all of the contextual information for your resolver invocation. A context is required for this action.

" } }, @@ -524,7 +599,7 @@ } }, "ErrorDetail": { - "base": "

Contains the list of errors generated when attempting to evaluate a mapping template.

", + "base": "

Contains the list of errors generated. When using JavaScript, this will apply to the request or response function evaluation.

", "refs": { "EvaluateMappingTemplateResponse$error": "

The ErrorDetail object.

" } @@ -535,9 +610,26 @@ "BadRequestException$message": null, "ConcurrentModificationException$message": null, "ErrorDetail$message": "

The error payload.

", + "EvaluateCodeErrorDetail$message": "

The error payload.

", "GraphQLSchemaException$message": null } }, + "EvaluateCodeErrorDetail": { + "base": "

Contains the list of errors from a code evaluation response.

", + "refs": { + "EvaluateCodeResponse$error": "

Contains the payload of the response error.

" + } + }, + "EvaluateCodeRequest": { + "base": null, + "refs": { + } + }, + "EvaluateCodeResponse": { + "base": null, + "refs": { + } + }, "EvaluateMappingTemplateRequest": { "base": null, "refs": { @@ -551,6 +643,7 @@ "EvaluationResult": { "base": null, "refs": { + "EvaluateCodeResponse$evaluationResult": "

The result of the evaluation operation.

", "EvaluateMappingTemplateResponse$evaluationResult": "

The mapping template; this can be a request or response template.

" } }, @@ -850,6 +943,13 @@ "UpdateGraphqlApiRequest$logConfig": "

The Amazon CloudWatch Logs configuration for the GraphqlApi object.

" } }, + "Logs": { + "base": null, + "refs": { + "EvaluateCodeResponse$logs": "

A list of logs that were generated by calls to util.log.info and util.log.error in the evaluated code.

", + "EvaluateMappingTemplateResponse$logs": "

A list of logs that were generated by calls to util.log.info and util.log.error in the evaluated code.

" + } + }, "Long": { "base": null, "refs": { @@ -1060,6 +1160,12 @@ "UpdateTypeRequest$typeName": "

The new type name.

" } }, + "RuntimeName": { + "base": null, + "refs": { + "AppSyncRuntime$name": "

The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS.

" + } + }, "SchemaStatus": { "base": null, "refs": { @@ -1088,10 +1194,13 @@ "ApiKeyLimitExceededException$message": null, "ApiKeyValidityOutOfBoundsException$message": null, "ApiLimitExceededException$message": null, + "AppSyncRuntime$runtimeVersion": "

The version of the runtime to use. Currently, the only allowed version is 1.0.0.

", "AssociateApiRequest$apiId": "

The API ID.

", "AwsIamConfig$signingRegion": "

The signing Amazon Web Services Region for IAM authorization.

", "AwsIamConfig$signingServiceName": "

The signing service name for IAM authorization.

", "CachingKeys$member": null, + "CodeError$errorType": "

The type of code error.

Examples include, but aren't limited to: LINT_ERROR, PARSER_ERROR.

", + "CodeError$value": "

A user presentable error.

Examples include, but aren't limited to: Parsing error: Unterminated string literal.

", "CognitoUserPoolConfig$userPoolId": "

The user pool ID.

", "CognitoUserPoolConfig$awsRegion": "

The Amazon Web Services Region in which the user pool was created.

", "CognitoUserPoolConfig$appIdClientRegex": "

A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied.

", @@ -1103,7 +1212,7 @@ "CreateDataSourceRequest$serviceRoleArn": "

The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.

", "CreateFunctionRequest$apiId": "

The GraphQL API ID.

", "CreateFunctionRequest$description": "

The Function description.

", - "CreateFunctionRequest$functionVersion": "

The version of the request mapping template. Currently, the supported value is 2018-05-29.

", + "CreateFunctionRequest$functionVersion": "

The version of the request mapping template. Currently, the supported value is 2018-05-29. Note that when using VTL and mapping templates, the functionVersion is required.

", "CreateGraphqlApiRequest$name": "

A user-supplied name for the GraphqlApi.

", "CreateResolverRequest$apiId": "

The ID for the GraphQL API for which the resolver is being created.

", "CreateTypeRequest$apiId": "

The API ID.

", @@ -1126,6 +1235,7 @@ "DynamodbDataSourceConfig$awsRegion": "

The Amazon Web Services Region.

", "ElasticsearchDataSourceConfig$endpoint": "

The endpoint.

", "ElasticsearchDataSourceConfig$awsRegion": "

The Amazon Web Services Region.

", + "EvaluateCodeRequest$function": "

The function within the code to be evaluated. If provided, the valid values are request and response.

", "FlushApiCacheRequest$apiId": "

The API ID.

", "FunctionConfiguration$functionId": "

A unique ID representing the Function object.

", "FunctionConfiguration$functionArn": "

The Amazon Resource Name (ARN) of the Function object.

", @@ -1160,6 +1270,7 @@ "ListResolversRequest$typeName": "

The type name.

", "ListTypesRequest$apiId": "

The API ID.

", "LogConfig$cloudWatchLogsRoleArn": "

The service role that AppSync assumes to publish to CloudWatch logs in your account.

", + "Logs$member": null, "MapOfStringToString$key": null, "MapOfStringToString$value": null, "NotFoundException$message": null, @@ -1187,7 +1298,7 @@ "UpdateDataSourceRequest$serviceRoleArn": "

The new service role Amazon Resource Name (ARN) for the data source.

", "UpdateFunctionRequest$apiId": "

The GraphQL API ID.

", "UpdateFunctionRequest$description": "

The Function description.

", - "UpdateFunctionRequest$functionVersion": "

The version of the request mapping template. Currently, the supported value is 2018-05-29.

", + "UpdateFunctionRequest$functionVersion": "

The version of the request mapping template. Currently, the supported value is 2018-05-29. Note that when using VTL and mapping templates, the functionVersion is required.

", "UpdateGraphqlApiRequest$apiId": "

The API ID.

", "UpdateGraphqlApiRequest$name": "

The new name for the GraphqlApi object.

", "UpdateResolverRequest$apiId": "

The API ID.

", diff --git a/models/apis/appsync/2017-07-25/endpoint-rule-set-1.json b/models/apis/appsync/2017-07-25/endpoint-rule-set-1.json new file mode 100644 index 00000000000..16d865934f0 --- /dev/null +++ b/models/apis/appsync/2017-07-25/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appsync-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appsync-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appsync.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://appsync.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/appsync/2017-07-25/endpoint-tests-1.json b/models/apis/appsync/2017-07-25/endpoint-tests-1.json new file mode 100644 index 00000000000..a0747045ec9 --- /dev/null +++ b/models/apis/appsync/2017-07-25/endpoint-tests-1.json @@ -0,0 +1,1291 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appsync.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appsync.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/dms/2016-01-01/api-2.json b/models/apis/dms/2016-01-01/api-2.json index 6d03b968ddf..cdb7fa4ac4e 100644 --- a/models/apis/dms/2016-01-01/api-2.json +++ b/models/apis/dms/2016-01-01/api-2.json @@ -1224,7 +1224,8 @@ "KmsKeyId":{"shape":"String"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, "DnsNameServers":{"shape":"String"}, - "ResourceIdentifier":{"shape":"String"} + "ResourceIdentifier":{"shape":"String"}, + "NetworkType":{"shape":"String"} } }, "CreateReplicationInstanceResponse":{ @@ -2468,7 +2469,8 @@ "EngineVersion":{"shape":"String"}, "AllowMajorVersionUpgrade":{"shape":"Boolean"}, "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"}, - "ReplicationInstanceIdentifier":{"shape":"String"} + "ReplicationInstanceIdentifier":{"shape":"String"}, + "NetworkType":{"shape":"String"} } }, "ModifyReplicationInstanceResponse":{ @@ -2905,12 +2907,18 @@ }, "ReplicationInstancePublicIpAddresses":{"shape":"ReplicationInstancePublicIpAddressList"}, "ReplicationInstancePrivateIpAddresses":{"shape":"ReplicationInstancePrivateIpAddressList"}, + "ReplicationInstanceIpv6Addresses":{"shape":"ReplicationInstanceIpv6AddressList"}, "PubliclyAccessible":{"shape":"Boolean"}, "SecondaryAvailabilityZone":{"shape":"String"}, "FreeUntil":{"shape":"TStamp"}, - "DnsNameServers":{"shape":"String"} + "DnsNameServers":{"shape":"String"}, + "NetworkType":{"shape":"String"} } }, + "ReplicationInstanceIpv6AddressList":{ + "type":"list", + "member":{"shape":"String"} + }, "ReplicationInstanceList":{ "type":"list", "member":{"shape":"ReplicationInstance"} @@ -2941,7 +2949,8 @@ "ReplicationInstanceClass":{"shape":"String"}, "AllocatedStorage":{"shape":"IntegerOptional"}, "MultiAZ":{"shape":"BooleanOptional"}, - "EngineVersion":{"shape":"String"} + "EngineVersion":{"shape":"String"}, + "NetworkType":{"shape":"String"} } }, "ReplicationSubnetGroup":{ @@ -2951,7 +2960,8 @@ "ReplicationSubnetGroupDescription":{"shape":"String"}, "VpcId":{"shape":"String"}, "SubnetGroupStatus":{"shape":"String"}, - "Subnets":{"shape":"SubnetList"} + "Subnets":{"shape":"SubnetList"}, + "SupportedNetworkTypes":{"shape":"StringList"} } }, "ReplicationSubnetGroupDoesNotCoverEnoughAZs":{ @@ -3395,6 +3405,10 @@ "Deletes":{"shape":"Long"}, "Updates":{"shape":"Long"}, "Ddls":{"shape":"Long"}, + "AppliedInserts":{"shape":"LongOptional"}, + "AppliedDeletes":{"shape":"LongOptional"}, + "AppliedUpdates":{"shape":"LongOptional"}, + "AppliedDdls":{"shape":"LongOptional"}, "FullLoadRows":{"shape":"Long"}, "FullLoadCondtnlChkFailedRows":{"shape":"Long"}, "FullLoadErrorRows":{"shape":"Long"}, diff --git a/models/apis/dms/2016-01-01/docs-2.json b/models/apis/dms/2016-01-01/docs-2.json index 46b73dc67a1..07245e216f0 100644 --- a/models/apis/dms/2016-01-01/docs-2.json +++ b/models/apis/dms/2016-01-01/docs-2.json @@ -196,7 +196,7 @@ "OracleSettings$ReplacePathPrefix": "

Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the specified usePathPrefix setting to access the redo logs.

", "OracleSettings$EnableHomogenousTablespace": "

Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.

", "OracleSettings$DirectPathNoLog": "

When set to true, this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.

", - "OracleSettings$ArchivedLogsOnly": "

When this field is set to Y, DMS only accesses the archived redo logs. If the archived redo logs are stored on Oracle ASM only, the DMS user account needs to be granted ASM privileges.

", + "OracleSettings$ArchivedLogsOnly": "

When this field is set to Y, DMS only accesses the archived redo logs. If the archived redo logs are stored on Automatic Storage Management (ASM) only, the DMS user account needs to be granted ASM privileges.

", "OracleSettings$DirectPathParallelLoad": "

When set to true, this attribute specifies a parallel load when useDirectPathFullLoad is set to Y. This attribute also only applies when you use the DMS parallel load feature. Note that the target table cannot have any constraints or indexes.

", "OracleSettings$FailTasksOnLobTruncation": "

When set to true, this attribute causes a task to fail if the actual size of an LOB column is greater than the specified LobMaxSize.

If a task is set to limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.

", "OracleSettings$ReadTableSpaceName": "

When set to true, this attribute supports tablespace replication.

", @@ -1206,7 +1206,7 @@ "S3Settings$RowGroupLength": "

The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.

If you choose a value larger than the maximum, RowGroupLength is set to the max row group length in bytes (64 * 1024 * 1024).

", "S3Settings$DataPageSize": "

The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.

", "S3Settings$CdcMaxBatchInterval": "

Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3.

When CdcMaxBatchInterval and CdcMinFileSize are both specified, the file write is triggered by whichever parameter condition is met first within an DMS CloudFormation template.

The default value is 60 seconds.

", - "S3Settings$CdcMinFileSize": "

Minimum file size, defined in megabytes, to reach for a file output to Amazon S3.

When CdcMinFileSize and CdcMaxBatchInterval are both specified, the file write is triggered by whichever parameter condition is met first within an DMS CloudFormation template.

The default value is 32 MB.

", + "S3Settings$CdcMinFileSize": "

Minimum file size, defined in kilobytes, to reach for a file output to Amazon S3.

When CdcMinFileSize and CdcMaxBatchInterval are both specified, the file write is triggered by whichever parameter condition is met first within an DMS CloudFormation template.

The default value is 32 MB.

", "S3Settings$IgnoreHeaderRows": "

When this value is set to 1, DMS ignores the first row header in a .csv file. A value of 1 turns on the feature; a value of 0 turns off the feature.

The default is 0.

", "S3Settings$MaxFileSize": "

A value that specifies the maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load.

The default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.

", "SybaseSettings$Port": "

Endpoint TCP port. The default is 5000.

" @@ -1338,7 +1338,11 @@ "FleetAdvisorSchemaObjectResponse$CodeLineCount": "

The number of lines of code in a schema object in a Fleet Advisor collector inventory.

", "FleetAdvisorSchemaObjectResponse$CodeSize": "

The size level of the code in a schema object in a Fleet Advisor collector inventory.

", "SchemaResponse$CodeLineCount": "

The number of lines of code in a schema in a Fleet Advisor collector inventory.

", - "SchemaResponse$CodeSize": "

The size level of the code in a schema in a Fleet Advisor collector inventory.

" + "SchemaResponse$CodeSize": "

The size level of the code in a schema in a Fleet Advisor collector inventory.

", + "TableStatistics$AppliedInserts": "

The number of insert actions applied on a target table.

", + "TableStatistics$AppliedDeletes": "

The number of delete actions applied on a target table.

", + "TableStatistics$AppliedUpdates": "

The number of update actions applied on a target table.

", + "TableStatistics$AppliedDdls": "

The number of data definition language (DDL) statements used to build and modify the structure of your tables applied on the target.

" } }, "MessageFormatValue": { @@ -1620,6 +1624,12 @@ "ReplicationInstanceList$member": null } }, + "ReplicationInstanceIpv6AddressList": { + "base": null, + "refs": { + "ReplicationInstance$ReplicationInstanceIpv6Addresses": "

One or more IPv6 addresses for the replication instance.

" + } + }, "ReplicationInstanceList": { "base": null, "refs": { @@ -1968,7 +1978,7 @@ "Connection$EndpointIdentifier": "

The identifier of the endpoint. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

", "Connection$ReplicationInstanceIdentifier": "

The replication instance identifier. This parameter is stored as a lowercase string.

", "CreateEndpointMessage$EndpointIdentifier": "

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.

", - "CreateEndpointMessage$EngineName": "

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"docdb\", \"sqlserver\", and \"neptune\".

", + "CreateEndpointMessage$EngineName": "

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"docdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

", "CreateEndpointMessage$Username": "

The user name to be used to log in to the endpoint database.

", "CreateEndpointMessage$ServerName": "

The name of the server where the endpoint database resides.

", "CreateEndpointMessage$DatabaseName": "

The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and targetDbType.

", @@ -1999,6 +2009,7 @@ "CreateReplicationInstanceMessage$KmsKeyId": "

An KMS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, then DMS uses your default encryption key.

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

", "CreateReplicationInstanceMessage$DnsNameServers": "

A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"

", "CreateReplicationInstanceMessage$ResourceIdentifier": "

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

", + "CreateReplicationInstanceMessage$NetworkType": "

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", "CreateReplicationSubnetGroupMessage$ReplicationSubnetGroupIdentifier": "

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\".

Example: mySubnetgroup

", "CreateReplicationSubnetGroupMessage$ReplicationSubnetGroupDescription": "

The description for the subnet group.

", "CreateReplicationTaskMessage$ReplicationTaskIdentifier": "

An identifier for the replication task.

Constraints:

", @@ -2112,8 +2123,8 @@ "ElasticsearchSettings$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the iam:PassRole action.

", "ElasticsearchSettings$EndpointUri": "

The endpoint for the OpenSearch cluster. DMS uses HTTPS if a transport protocol (http/https) is not specified.

", "Endpoint$EndpointIdentifier": "

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

", - "Endpoint$EngineName": "

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", and \"neptune\".

", - "Endpoint$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

", + "Endpoint$EngineName": "

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

", + "Endpoint$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora\", this value would be \"Amazon Aurora MySQL\".

", "Endpoint$Username": "

The user name used to connect to the endpoint.

", "Endpoint$ServerName": "

The name of the server at the endpoint.

", "Endpoint$DatabaseName": "

The name of the database at the endpoint.

", @@ -2181,7 +2192,7 @@ "MicrosoftSQLServerSettings$SecretsManagerSecretId": "

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the SQL Server endpoint connection details.

", "ModifyEndpointMessage$EndpointArn": "

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

", "ModifyEndpointMessage$EndpointIdentifier": "

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

", - "ModifyEndpointMessage$EngineName": "

The type of engine for the endpoint. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", and \"neptune\".

", + "ModifyEndpointMessage$EngineName": "

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

", "ModifyEndpointMessage$Username": "

The user name to be used to login to the endpoint database.

", "ModifyEndpointMessage$ServerName": "

The name of the server where the endpoint database resides.

", "ModifyEndpointMessage$DatabaseName": "

The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.

", @@ -2197,6 +2208,7 @@ "ModifyReplicationInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

", "ModifyReplicationInstanceMessage$EngineVersion": "

The engine version number of the replication instance.

When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade to true.

", "ModifyReplicationInstanceMessage$ReplicationInstanceIdentifier": "

The replication instance identifier. This parameter is stored as a lowercase string.

", + "ModifyReplicationInstanceMessage$NetworkType": "

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", "ModifyReplicationSubnetGroupMessage$ReplicationSubnetGroupIdentifier": "

The name of the replication instance subnet group.

", "ModifyReplicationSubnetGroupMessage$ReplicationSubnetGroupDescription": "

A description for the replication instance subnet group.

", "ModifyReplicationTaskMessage$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", @@ -2238,8 +2250,8 @@ "OracleSettings$Username": "

Endpoint connection user name.

", "OracleSettings$SecretsManagerAccessRoleArn": "

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the value in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services Secrets Manager secret that allows access to the Oracle endpoint.

You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerSecretId. Or you can specify clear-text values for UserName, Password, ServerName, and Port. You can't specify both. For more information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

", "OracleSettings$SecretsManagerSecretId": "

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Oracle endpoint connection details.

", - "OracleSettings$SecretsManagerOracleAsmAccessRoleArn": "

Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the SecretsManagerOracleAsmSecret. This SecretsManagerOracleAsmSecret has the secret value that allows access to the Oracle ASM of the endpoint.

You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerOracleAsmSecretId. Or you can specify clear-text values for AsmUserName, AsmPassword, and AsmServerName. You can't specify both. For more information on creating this SecretsManagerOracleAsmSecret and the SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

", - "OracleSettings$SecretsManagerOracleAsmSecretId": "

Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The full ARN, partial ARN, or friendly name of the SecretsManagerOracleAsmSecret that contains the Oracle ASM connection details for the Oracle endpoint.

", + "OracleSettings$SecretsManagerOracleAsmAccessRoleArn": "

Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the SecretsManagerOracleAsmSecret. This SecretsManagerOracleAsmSecret has the secret value that allows access to the Oracle ASM of the endpoint.

You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerOracleAsmSecretId. Or you can specify clear-text values for AsmUserName, AsmPassword, and AsmServerName. You can't specify both. For more information on creating this SecretsManagerOracleAsmSecret and the SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

", + "OracleSettings$SecretsManagerOracleAsmSecretId": "

Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or friendly name of the SecretsManagerOracleAsmSecret that contains the Oracle ASM connection details for the Oracle endpoint.

", "OrderableReplicationInstance$EngineVersion": "

The version of the replication engine.

", "OrderableReplicationInstance$ReplicationInstanceClass": "

The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\".

For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.

", "OrderableReplicationInstance$StorageType": "

The type of storage used by the replication instance.

", @@ -2293,12 +2305,15 @@ "ReplicationInstance$ReplicationInstancePrivateIpAddress": "

The private IP address of the replication instance.

", "ReplicationInstance$SecondaryAvailabilityZone": "

The Availability Zone of the standby replication instance in a Multi-AZ deployment.

", "ReplicationInstance$DnsNameServers": "

The DNS name servers supported for the replication instance to access your on-premise source or target database.

", + "ReplicationInstance$NetworkType": "

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", + "ReplicationInstanceIpv6AddressList$member": null, "ReplicationInstancePrivateIpAddressList$member": null, "ReplicationInstancePublicIpAddressList$member": null, "ReplicationInstanceTaskLog$ReplicationTaskName": "

The name of the replication task.

", "ReplicationInstanceTaskLog$ReplicationTaskArn": "

The Amazon Resource Name (ARN) of the replication task.

", "ReplicationPendingModifiedValues$ReplicationInstanceClass": "

The compute and memory capacity of the replication instance as defined for the specified replication instance class.

For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.

", "ReplicationPendingModifiedValues$EngineVersion": "

The engine version number of the replication instance.

", + "ReplicationPendingModifiedValues$NetworkType": "

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", "ReplicationSubnetGroup$ReplicationSubnetGroupIdentifier": "

The identifier of the replication instance subnet group.

", "ReplicationSubnetGroup$ReplicationSubnetGroupDescription": "

A description for the replication subnet group.

", "ReplicationSubnetGroup$VpcId": "

The ID of the VPC.

", @@ -2383,9 +2398,9 @@ "Subnet$SubnetIdentifier": "

The subnet identifier.

", "Subnet$SubnetStatus": "

The status of the subnet.

", "SubnetIdentifierList$member": null, - "SupportedEndpointType$EngineName": "

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", and \"neptune\".

", + "SupportedEndpointType$EngineName": "

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

", "SupportedEndpointType$ReplicationInstanceEngineMinimumVersion": "

The earliest DMS engine version that supports this endpoint engine. Note that endpoint engines released with DMS versions earlier than 3.1.1 do not return a value for this parameter.

", - "SupportedEndpointType$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

", + "SupportedEndpointType$EngineDisplayName": "

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora\", this value would be \"Amazon Aurora MySQL\".

", "SybaseSettings$DatabaseName": "

Database name for the endpoint.

", "SybaseSettings$ServerName": "

Fully qualified domain name of the endpoint.

", "SybaseSettings$Username": "

Endpoint connection user name.

", @@ -2413,7 +2428,8 @@ "base": null, "refs": { "DeleteFleetAdvisorDatabasesRequest$DatabaseIds": "

The IDs of the Fleet Advisor collector databases to delete.

", - "DeleteFleetAdvisorDatabasesResponse$DatabaseIds": "

The IDs of the databases that the operation deleted.

" + "DeleteFleetAdvisorDatabasesResponse$DatabaseIds": "

The IDs of the databases that the operation deleted.

", + "ReplicationSubnetGroup$SupportedNetworkTypes": "

The IP addressing protocol supported by the subnet group. This is used by a replication instance with values such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

" } }, "Subnet": { diff --git a/models/apis/dms/2016-01-01/endpoint-rule-set-1.json b/models/apis/dms/2016-01-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..86a1825eda0 --- /dev/null +++ b/models/apis/dms/2016-01-01/endpoint-rule-set-1.json @@ -0,0 +1,466 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dms-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dms" + ] + } + ], + "endpoint": { + "url": "https://dms-fips.us-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dms" + ] + } + ], + "endpoint": { + "url": "https://dms.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://dms.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dms" + ] + } + ], + "endpoint": { + "url": "https://dms.us-iso-east-1.c2s.ic.gov", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-iso", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://dms.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dms" + ] + } + ], + "endpoint": { + "url": "https://dms.us-isob-east-1.sc2s.sgov.gov", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-iso-b", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://dms.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dms-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dms.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://dms.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/dms/2016-01-01/endpoint-tests-1.json b/models/apis/dms/2016-01-01/endpoint-tests-1.json new file mode 100644 index 00000000000..ed11166de91 --- /dev/null +++ b/models/apis/dms/2016-01-01/endpoint-tests-1.json @@ -0,0 +1,1727 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "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": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dms.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "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": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dms.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 053b1ab382c..0dff1ccc4c6 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -10072,7 +10072,8 @@ "shape":"TagSpecificationList", "locationName":"TagSpecification" }, - "ConnectivityType":{"shape":"ConnectivityType"} + "ConnectivityType":{"shape":"ConnectivityType"}, + "PrivateIpAddress":{"shape":"String"} } }, "CreateNatGatewayResult":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 9a73b0d4a50..c9087ef4060 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -977,7 +977,7 @@ "AllocationStrategy": { "base": null, "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

" + "SpotFleetRequestConfigData$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance pool that has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools.

diversified - Spot Fleet launches instances from all of the Spot Instance pools that you specify.

capacityOptimized (recommended) - Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

Default: lowestPrice

" } }, "AllocationType": { @@ -8710,7 +8710,7 @@ "FlowLogResourceIds": { "base": null, "refs": { - "CreateFlowLogsRequest$ResourceIds": "

The IDs of the resources to monitor. For example, if the resource type is VPC, specify the IDs of the VPCs.

Constraints: Maximum of 1000 resources

" + "CreateFlowLogsRequest$ResourceIds": "

The IDs of the resources to monitor. For example, if the resource type is VPC, specify the IDs of the VPCs.

Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the other resource types.

" } }, "FlowLogSet": { @@ -10743,7 +10743,7 @@ "CreateClientVpnEndpointRequest$VpnPort": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

Valid Values: 443 | 1194

Default Value: 443

", "CreateClientVpnEndpointRequest$SessionTimeoutHours": "

The maximum VPN session duration time in hours.

Valid values: 8 | 10 | 12 | 24

Default value: 24

", "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", - "CreateFlowLogsRequest$MaxAggregationInterval": "

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

", + "CreateFlowLogsRequest$MaxAggregationInterval": "

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

", "CreateManagedPrefixListRequest$MaxEntries": "

The maximum number of entries for the prefix list.

", "CreateNetworkAclEntryRequest$RuleNumber": "

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", "CreateNetworkInterfaceRequest$Ipv6AddressCount": "

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range.

You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can override that setting by specifying 0 as the IPv6 address count.

", @@ -16531,8 +16531,8 @@ "SpotAllocationStrategy": { "base": null, "refs": { - "SpotOptions$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

", - "SpotOptionsRequest$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

" + "SpotOptions$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance pool that has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools.

diversified - EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

capacity-optimized (recommended) - EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

Default: lowest-price

", + "SpotOptionsRequest$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance pool that has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools.

diversified - EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

capacity-optimized (recommended) - EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

Default: lowest-price

" } }, "SpotCapacityRebalance": { @@ -17187,7 +17187,7 @@ "CreateFlowLogsRequest$DeliverCrossAccountRole": "

The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.

", "CreateFlowLogsRequest$LogGroupName": "

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

This parameter is valid only if the destination type is cloud-watch-logs.

", "CreateFlowLogsRequest$LogDestination": "

The destination for the flow log data. The meaning of this parameter depends on the destination type.

", - "CreateFlowLogsRequest$LogFormat": "

The fields to include in the flow log record. List the fields in the order in which they should appear. For more information about the available fields, see Flow log records. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field.

Specify the fields using the ${field-id} format, separated by spaces. For the CLI, surround this parameter value with single quotes on Linux or double quotes on Windows.

", + "CreateFlowLogsRequest$LogFormat": "

The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.

Specify the fields using the ${field-id} format, separated by spaces. For the CLI, surround this parameter value with single quotes on Linux or double quotes on Windows.

", "CreateFlowLogsResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "CreateFpgaImageRequest$Description": "

A description for the AFI.

", "CreateFpgaImageRequest$Name": "

A name for the AFI.

", @@ -17215,6 +17215,7 @@ "CreateManagedPrefixListRequest$AddressFamily": "

The IP address type.

Valid Values: IPv4 | IPv6

", "CreateManagedPrefixListRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

", "CreateNatGatewayRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

Constraint: Maximum 64 ASCII characters.

", + "CreateNatGatewayRequest$PrivateIpAddress": "

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

", "CreateNatGatewayResult$ClientToken": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", "CreateNetworkAclEntryRequest$CidrBlock": "

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", "CreateNetworkAclEntryRequest$Ipv6CidrBlock": "

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

", @@ -19574,7 +19575,7 @@ "TrafficType": { "base": null, "refs": { - "CreateFlowLogsRequest$TrafficType": "

The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic).

", + "CreateFlowLogsRequest$TrafficType": "

The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.

", "FlowLog$TrafficType": "

The type of traffic captured for the flow log.

" } }, diff --git a/models/apis/ec2/2016-11-15/endpoint-tests-1.json b/models/apis/ec2/2016-11-15/endpoint-tests-1.json index 96d0b0e0c6c..b6fa8ed123c 100644 --- a/models/apis/ec2/2016-11-15/endpoint-tests-1.json +++ b/models/apis/ec2/2016-11-15/endpoint-tests-1.json @@ -620,6 +620,54 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-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": { + "UseFIPS": true, + "Region": "us-isob-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-fips.us-isob-west-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2.us-isob-west-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-west-1", + "UseDualStack": false + } + }, { "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", "expect": { diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 8a245797b0b..4bfa4963440 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -27,7 +27,7 @@ "ModifyListener": "

Replaces the specified properties of the specified listener. Any properties that you do not specify remain unchanged.

Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and default certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and default certificate properties.

To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.

", "ModifyLoadBalancerAttributes": "

Modifies the specified attributes of the specified Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

", "ModifyRule": "

Replaces the specified properties of the specified rule. Any properties that you do not specify are unchanged.

To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.

", - "ModifyTargetGroup": "

Modifies the health checks used when evaluating the health state of the targets in the specified target group.

If the protocol of the target group is TCP, TLS, UDP, or TCP_UDP, you can't modify the health check protocol, interval, timeout, or success codes.

", + "ModifyTargetGroup": "

Modifies the health checks used when evaluating the health state of the targets in the specified target group.

", "ModifyTargetGroupAttributes": "

Modifies the specified attributes of the specified target group.

", "RegisterTargets": "

Registers the specified targets with the specified target group.

If the target is an EC2 instance, it must be in the running state when you register it.

By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports.

With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address.

", "RemoveListenerCertificates": "

Removes the specified certificate from the certificate list for the specified HTTPS or TLS listener.

", @@ -655,8 +655,8 @@ "HealthCheckIntervalSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. If the target group protocol is HTTP or HTTPS, the default is 30 seconds. If the target group protocol is TCP, TLS, UDP, or TCP_UDP, the supported values are 10 and 30 seconds and the default is 30 seconds. If the target group protocol is GENEVE, the default is 10 seconds. If the target type is lambda, the default is 35 seconds.

", - "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. For TCP health checks, the supported values are 10 or 30 seconds.

", + "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. If the target group protocol is TCP, TLS, UDP, TCP_UDP, HTTP or HTTPS, the default is 30 seconds. If the target group protocol is GENEVE, the default is 10 seconds. If the target type is lambda, the default is 35 seconds.

", + "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target.

", "TargetGroup$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target.

" } }, @@ -672,10 +672,10 @@ "HealthCheckThresholdCount": { "base": null, "refs": { - "CreateTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For target groups with a protocol of TCP, TLS, or GENEVE, the default is 3. If the target type is lambda, the default is 5.

", - "CreateTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering a target unhealthy. If the target group protocol is HTTP or HTTPS, the default is 2. If the target group protocol is TCP or TLS, this value must be the same as the healthy threshold count. If the target group protocol is GENEVE, the default is 3. If the target type is lambda, the default is 2.

", + "CreateTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health check successes required before considering a target healthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 5. For target groups with a protocol of GENEVE, the default is 3. If the target type is lambda, the default is 5.

", + "CreateTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 3. If the target type is lambda, the default is 5.

", "ModifyTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy.

", - "ModifyTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy. For target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count.

", + "ModifyTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy.

", "TargetGroup$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy.

", "TargetGroup$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy.

" } @@ -683,7 +683,7 @@ "HealthCheckTimeoutSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response from a target means a failed health check. For target groups with a protocol of HTTP, HTTPS, or GENEVE, the default is 5 seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is lambda, the default is 30 seconds.

", + "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.

", "ModifyTargetGroupInput$HealthCheckTimeoutSeconds": "

[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.

", "TargetGroup$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check.

" } @@ -702,7 +702,7 @@ "HttpCode": { "base": null, "refs": { - "Matcher$HttpCode": "

For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Network Load Balancers and Gateway Load Balancers, this must be \"200–399\".

Note that when using shorthand syntax, some values such as commas need to be escaped.

" + "Matcher$HttpCode": "

For Application Load Balancers, you can specify values between 200 and 499, with the default value being 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Network Load Balancers, you can specify values between 200 and 599, with the default value being 200-399. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Gateway Load Balancers, this must be \"200–399\".

Note that when using shorthand syntax, some values such as commas need to be escaped.

" } }, "HttpHeaderConditionConfig": { @@ -803,12 +803,12 @@ "ListOfString": { "base": null, "refs": { - "HostHeaderConditionConfig$Values": "

One or more host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.

", - "HttpHeaderConditionConfig$Values": "

One or more strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If the same header appears multiple times in the request, we search them in order until a match is found.

If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string.

", + "HostHeaderConditionConfig$Values": "

The host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.

", + "HttpHeaderConditionConfig$Values": "

The strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If the same header appears multiple times in the request, we search them in order until a match is found.

If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string.

", "HttpRequestMethodConditionConfig$Values": "

The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match.

If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached.

", - "PathPatternConditionConfig$Values": "

One or more path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.

", + "PathPatternConditionConfig$Values": "

The path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.

", "RuleCondition$Values": "

The condition value. Specify only when Field is host-header or path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig or PathPatternConfig.

If Field is host-header and you are not using HostHeaderConfig, you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.

If Field is path-pattern and you are not using PathPatternConfig, you can specify a single path pattern (for example, /img/*) in Values. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.

", - "SourceIpConditionConfig$Values": "

One or more source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.

If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.

", + "SourceIpConditionConfig$Values": "

The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.

If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.

", "SslPolicy$SupportedLoadBalancerTypes": "

The supported load balancers.

" } }, @@ -902,7 +902,7 @@ "LoadBalancerAttributeKey": { "base": null, "refs": { - "LoadBalancerAttribute$Key": "

The name of the attribute.

The following attribute is supported by all load balancers:

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

The following attributes are supported by only Application Load Balancers:

The following attribute is supported by Network Load Balancers and Gateway Load Balancers:

" + "LoadBalancerAttribute$Key": "

The name of the attribute.

The following attributes are supported by all load balancers:

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

The following attributes are supported by only Application Load Balancers:

" } }, "LoadBalancerAttributeValue": { @@ -994,8 +994,8 @@ "Matcher": { "base": "

The codes to use when checking for a successful response from a target. If the protocol version is gRPC, these are gRPC codes. Otherwise, these are HTTP codes.

", "refs": { - "CreateTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.

", - "ModifyTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.

", + "CreateTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.

", + "ModifyTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.

", "TargetGroup$Matcher": "

The HTTP or gRPC codes to use when checking for a successful response from a target.

" } }, @@ -1156,7 +1156,7 @@ "QueryStringKeyValuePairList": { "base": null, "refs": { - "QueryStringConditionConfig$Values": "

One or more key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values using a '\\' character.

If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string.

" + "QueryStringConditionConfig$Values": "

The key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values using a '\\' character.

If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string.

" } }, "RedirectActionConfig": { @@ -1584,7 +1584,7 @@ "TargetGroupAttributeKey": { "base": null, "refs": { - "TargetGroupAttribute$Key": "

The name of the attribute.

The following attribute is supported by all load balancers:

The following attributes are supported by Application Load Balancers, Network Load Balancers, and Gateway Load Balancers:

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

The following attributes are supported only by Network Load Balancers:

The following attributes are supported only by Gateway Load Balancers:

" + "TargetGroupAttribute$Key": "

The name of the attribute.

The following attributes are supported by all load balancers:

The following attributes are supported by Application Load Balancers and Network Load Balancers:

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

The following attributes are supported only by Network Load Balancers:

The following attributes are supported only by Gateway Load Balancers:

" } }, "TargetGroupAttributeValue": { @@ -1611,7 +1611,7 @@ "TargetGroupList": { "base": null, "refs": { - "ForwardActionConfig$TargetGroups": "

One or more target groups. For Network Load Balancers, you can specify a single target group.

" + "ForwardActionConfig$TargetGroups": "

The target groups. For Network Load Balancers, you can specify a single target group.

" } }, "TargetGroupName": { @@ -1781,7 +1781,7 @@ "base": null, "refs": { "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", - "TargetDescription$AvailabilityZone": "

An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.

This parameter is not supported if the target type of the target group is instance or alb.

If the target type is ip and the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.

With an Application Load Balancer, if the target type is ip and the IP address is outside the VPC for the target group, the only supported value is all.

If the target type is lambda, this parameter is optional and the only supported value is all.

" + "TargetDescription$AvailabilityZone": "

An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.

For Application Load Balancer target groups, the specified Availability Zone value is only applicable when cross-zone load balancing is off. Otherwise the parameter is ignored and treated as all.

This parameter is not supported if the target type of the target group is instance or alb.

If the target type is ip and the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.

For Application Load Balancer target groups with cross-zone load balancing off, if the target type is ip and the IP address is outside of the VPC for the target group, this should be an Availability Zone inside the VPC for the target group.

If the target type is lambda, this parameter is optional and the only supported value is all.

" } } } diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json b/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..ed9f27248ec --- /dev/null +++ b/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json b/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json new file mode 100644 index 00000000000..9d4e50c32ba --- /dev/null +++ b/models/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.me-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.me-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.me-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-iso-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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-central-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-4.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-northwest-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/emr-serverless/2021-07-13/api-2.json b/models/apis/emr-serverless/2021-07-13/api-2.json index 4a780f54e9c..be3e54d986a 100644 --- a/models/apis/emr-serverless/2021-07-13/api-2.json +++ b/models/apis/emr-serverless/2021-07-13/api-2.json @@ -272,7 +272,8 @@ "tags":{"shape":"TagMap"}, "autoStartConfiguration":{"shape":"AutoStartConfig"}, "autoStopConfiguration":{"shape":"AutoStopConfig"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "architecture":{"shape":"Architecture"} } }, "ApplicationArn":{ @@ -335,9 +336,17 @@ "state":{"shape":"ApplicationState"}, "stateDetails":{"shape":"String256"}, "createdAt":{"shape":"Date"}, - "updatedAt":{"shape":"Date"} + "updatedAt":{"shape":"Date"}, + "architecture":{"shape":"Architecture"} } }, + "Architecture":{ + "type":"string", + "enum":[ + "ARM64", + "X86_64" + ] + }, "AutoStartConfig":{ "type":"structure", "members":{ @@ -457,7 +466,8 @@ "tags":{"shape":"TagMap"}, "autoStartConfiguration":{"shape":"AutoStartConfig"}, "autoStopConfiguration":{"shape":"AutoStopConfig"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "architecture":{"shape":"Architecture"} } }, "CreateApplicationResponse":{ @@ -1200,7 +1210,8 @@ "maximumCapacity":{"shape":"MaximumAllowedResources"}, "autoStartConfiguration":{"shape":"AutoStartConfig"}, "autoStopConfiguration":{"shape":"AutoStopConfig"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "architecture":{"shape":"Architecture"} } }, "UpdateApplicationResponse":{ diff --git a/models/apis/emr-serverless/2021-07-13/docs-2.json b/models/apis/emr-serverless/2021-07-13/docs-2.json index 8fb0eb9c507..37c2729afad 100644 --- a/models/apis/emr-serverless/2021-07-13/docs-2.json +++ b/models/apis/emr-serverless/2021-07-13/docs-2.json @@ -91,6 +91,15 @@ "ApplicationList$member": null } }, + "Architecture": { + "base": null, + "refs": { + "Application$architecture": "

The CPU architecture of an application.

", + "ApplicationSummary$architecture": "

The CPU architecture of an application.

", + "CreateApplicationRequest$architecture": "

The CPU architecture of an application.

", + "UpdateApplicationRequest$architecture": "

The CPU architecture of an application.

" + } + }, "AutoStartConfig": { "base": "

The configuration for an application to automatically start on job submission.

", "refs": { diff --git a/models/apis/emr-serverless/2021-07-13/endpoint-rule-set-1.json b/models/apis/emr-serverless/2021-07-13/endpoint-rule-set-1.json new file mode 100644 index 00000000000..ee8606e1b98 --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-serverless-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-serverless-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-serverless.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/emr-serverless/2021-07-13/endpoint-tests-1.json b/models/apis/emr-serverless/2021-07-13/endpoint-tests-1.json new file mode 100644 index 00000000000..54428a96459 --- /dev/null +++ b/models/apis/emr-serverless/2021-07-13/endpoint-tests-1.json @@ -0,0 +1,927 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://emr-serverless.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/ivschat/2020-07-14/api-2.json b/models/apis/ivschat/2020-07-14/api-2.json index 72f2b51cc94..2bd0466f2fe 100644 --- a/models/apis/ivschat/2020-07-14/api-2.json +++ b/models/apis/ivschat/2020-07-14/api-2.json @@ -29,6 +29,24 @@ {"shape":"ValidationException"} ] }, + "CreateLoggingConfiguration":{ + "name":"CreateLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/CreateLoggingConfiguration", + "responseCode":200 + }, + "input":{"shape":"CreateLoggingConfigurationRequest"}, + "output":{"shape":"CreateLoggingConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"PendingVerification"}, + {"shape":"ValidationException"} + ] + }, "CreateRoom":{ "name":"CreateRoom", "http":{ @@ -47,6 +65,22 @@ {"shape":"ValidationException"} ] }, + "DeleteLoggingConfiguration":{ + "name":"DeleteLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/DeleteLoggingConfiguration", + "responseCode":204 + }, + "input":{"shape":"DeleteLoggingConfigurationRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"PendingVerification"}, + {"shape":"ValidationException"} + ] + }, "DeleteMessage":{ "name":"DeleteMessage", "http":{ @@ -94,6 +128,21 @@ {"shape":"ValidationException"} ] }, + "GetLoggingConfiguration":{ + "name":"GetLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/GetLoggingConfiguration", + "responseCode":200 + }, + "input":{"shape":"GetLoggingConfigurationRequest"}, + "output":{"shape":"GetLoggingConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, "GetRoom":{ "name":"GetRoom", "http":{ @@ -109,6 +158,20 @@ {"shape":"ValidationException"} ] }, + "ListLoggingConfigurations":{ + "name":"ListLoggingConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListLoggingConfigurations", + "responseCode":200 + }, + "input":{"shape":"ListLoggingConfigurationsRequest"}, + "output":{"shape":"ListLoggingConfigurationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ] + }, "ListRooms":{ "name":"ListRooms", "http":{ @@ -186,6 +249,22 @@ ], "idempotent":true }, + "UpdateLoggingConfiguration":{ + "name":"UpdateLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateLoggingConfiguration", + "responseCode":200 + }, + "input":{"shape":"UpdateLoggingConfigurationRequest"}, + "output":{"shape":"UpdateLoggingConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"PendingVerification"}, + {"shape":"ValidationException"} + ] + }, "UpdateRoom":{ "name":"UpdateRoom", "http":{ @@ -216,6 +295,12 @@ }, "exception":true }, + "BucketName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^[a-z0-9-.]+$" + }, "ChatToken":{"type":"string"}, "ChatTokenAttributes":{ "type":"map", @@ -234,6 +319,13 @@ "DELETE_MESSAGE" ] }, + "CloudWatchLogsDestinationConfiguration":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{"shape":"LogGroupName"} + } + }, "ConflictException":{ "type":"structure", "required":[ @@ -274,9 +366,36 @@ "tokenExpirationTime":{"shape":"Time"} } }, + "CreateLoggingConfigurationRequest":{ + "type":"structure", + "required":["destinationConfiguration"], + "members":{ + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "name":{"shape":"LoggingConfigurationName"}, + "tags":{"shape":"Tags"} + } + }, + "CreateLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "arn":{"shape":"LoggingConfigurationArn"}, + "createTime":{"shape":"Time"}, + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "id":{"shape":"LoggingConfigurationID"}, + "name":{"shape":"LoggingConfigurationName"}, + "state":{"shape":"CreateLoggingConfigurationState"}, + "tags":{"shape":"Tags"}, + "updateTime":{"shape":"Time"} + } + }, + "CreateLoggingConfigurationState":{ + "type":"string", + "enum":["ACTIVE"] + }, "CreateRoomRequest":{ "type":"structure", "members":{ + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "maximumMessageLength":{"shape":"RoomMaxMessageLength"}, "maximumMessageRatePerSecond":{"shape":"RoomMaxMessageRatePerSecond"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, @@ -290,6 +409,7 @@ "arn":{"shape":"RoomArn"}, "createTime":{"shape":"Time"}, "id":{"shape":"RoomID"}, + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "maximumMessageLength":{"shape":"RoomMaxMessageLength"}, "maximumMessageRatePerSecond":{"shape":"RoomMaxMessageRatePerSecond"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, @@ -298,6 +418,13 @@ "updateTime":{"shape":"Time"} } }, + "DeleteLoggingConfigurationRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{"shape":"LoggingConfigurationIdentifier"} + } + }, "DeleteMessageRequest":{ "type":"structure", "required":[ @@ -323,6 +450,21 @@ "identifier":{"shape":"RoomIdentifier"} } }, + "DeliveryStreamName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, + "DestinationConfiguration":{ + "type":"structure", + "members":{ + "cloudWatchLogs":{"shape":"CloudWatchLogsDestinationConfiguration"}, + "firehose":{"shape":"FirehoseDestinationConfiguration"}, + "s3":{"shape":"S3DestinationConfiguration"} + }, + "union":true + }, "DisconnectUserRequest":{ "type":"structure", "required":[ @@ -359,6 +501,33 @@ ] }, "FieldName":{"type":"string"}, + "FirehoseDestinationConfiguration":{ + "type":"structure", + "required":["deliveryStreamName"], + "members":{ + "deliveryStreamName":{"shape":"DeliveryStreamName"} + } + }, + "GetLoggingConfigurationRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{"shape":"LoggingConfigurationIdentifier"} + } + }, + "GetLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "arn":{"shape":"LoggingConfigurationArn"}, + "createTime":{"shape":"Time"}, + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "id":{"shape":"LoggingConfigurationID"}, + "name":{"shape":"LoggingConfigurationName"}, + "state":{"shape":"LoggingConfigurationState"}, + "tags":{"shape":"Tags"}, + "updateTime":{"shape":"Time"} + } + }, "GetRoomRequest":{ "type":"structure", "required":["identifier"], @@ -372,6 +541,7 @@ "arn":{"shape":"RoomArn"}, "createTime":{"shape":"Time"}, "id":{"shape":"RoomID"}, + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "maximumMessageLength":{"shape":"RoomMaxMessageLength"}, "maximumMessageRatePerSecond":{"shape":"RoomMaxMessageRatePerSecond"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, @@ -403,9 +573,25 @@ "pattern":"^$|^arn:aws:lambda:[a-z0-9-]+:[0-9]{12}:function:.+" }, "Limit":{"type":"integer"}, + "ListLoggingConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"MaxLoggingConfigurationResults"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListLoggingConfigurationsResponse":{ + "type":"structure", + "required":["loggingConfigurations"], + "members":{ + "loggingConfigurations":{"shape":"LoggingConfigurationList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListRoomsRequest":{ "type":"structure", "members":{ + "loggingConfigurationIdentifier":{"shape":"LoggingConfigurationIdentifier"}, "maxResults":{"shape":"MaxRoomResults"}, "messageReviewHandlerUri":{"shape":"LambdaArn"}, "name":{"shape":"RoomName"}, @@ -438,6 +624,76 @@ "tags":{"shape":"Tags"} } }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[\\.\\-_/#A-Za-z0-9]+$" + }, + "LoggingConfigurationArn":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^arn:aws:ivschat:[a-z0-9-]+:[0-9]+:logging-configuration/[a-zA-Z0-9-]+$" + }, + "LoggingConfigurationID":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[a-zA-Z0-9]+$" + }, + "LoggingConfigurationIdentifier":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^arn:aws:ivschat:[a-z0-9-]+:[0-9]+:logging-configuration/[a-zA-Z0-9-]+$" + }, + "LoggingConfigurationIdentifierList":{ + "type":"list", + "member":{"shape":"LoggingConfigurationIdentifier"}, + "max":3, + "min":0 + }, + "LoggingConfigurationList":{ + "type":"list", + "member":{"shape":"LoggingConfigurationSummary"} + }, + "LoggingConfigurationName":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^[a-zA-Z0-9-_]*$" + }, + "LoggingConfigurationState":{ + "type":"string", + "enum":[ + "CREATING", + "CREATE_FAILED", + "DELETING", + "DELETE_FAILED", + "UPDATING", + "UPDATE_FAILED", + "ACTIVE" + ] + }, + "LoggingConfigurationSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"LoggingConfigurationArn"}, + "createTime":{"shape":"Time"}, + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "id":{"shape":"LoggingConfigurationID"}, + "name":{"shape":"LoggingConfigurationName"}, + "state":{"shape":"LoggingConfigurationState"}, + "tags":{"shape":"Tags"}, + "updateTime":{"shape":"Time"} + } + }, + "MaxLoggingConfigurationResults":{ + "type":"integer", + "max":50, + "min":1 + }, "MaxRoomResults":{ "type":"integer", "max":50, @@ -554,12 +810,20 @@ "arn":{"shape":"RoomArn"}, "createTime":{"shape":"Time"}, "id":{"shape":"RoomID"}, + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, "name":{"shape":"RoomName"}, "tags":{"shape":"Tags"}, "updateTime":{"shape":"Time"} } }, + "S3DestinationConfiguration":{ + "type":"structure", + "required":["bucketName"], + "members":{ + "bucketName":{"shape":"BucketName"} + } + }, "SendEventRequest":{ "type":"structure", "required":[ @@ -695,11 +959,38 @@ "members":{ } }, + "UpdateLoggingConfigurationRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "identifier":{"shape":"LoggingConfigurationIdentifier"}, + "name":{"shape":"LoggingConfigurationName"} + } + }, + "UpdateLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "arn":{"shape":"LoggingConfigurationArn"}, + "createTime":{"shape":"Time"}, + "destinationConfiguration":{"shape":"DestinationConfiguration"}, + "id":{"shape":"LoggingConfigurationID"}, + "name":{"shape":"LoggingConfigurationName"}, + "state":{"shape":"UpdateLoggingConfigurationState"}, + "tags":{"shape":"Tags"}, + "updateTime":{"shape":"Time"} + } + }, + "UpdateLoggingConfigurationState":{ + "type":"string", + "enum":["ACTIVE"] + }, "UpdateRoomRequest":{ "type":"structure", "required":["identifier"], "members":{ "identifier":{"shape":"RoomIdentifier"}, + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "maximumMessageLength":{"shape":"RoomMaxMessageLength"}, "maximumMessageRatePerSecond":{"shape":"RoomMaxMessageRatePerSecond"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, @@ -712,6 +1003,7 @@ "arn":{"shape":"RoomArn"}, "createTime":{"shape":"Time"}, "id":{"shape":"RoomID"}, + "loggingConfigurationIdentifiers":{"shape":"LoggingConfigurationIdentifierList"}, "maximumMessageLength":{"shape":"RoomMaxMessageLength"}, "maximumMessageRatePerSecond":{"shape":"RoomMaxMessageRatePerSecond"}, "messageReviewHandler":{"shape":"MessageReviewHandler"}, diff --git a/models/apis/ivschat/2020-07-14/docs-2.json b/models/apis/ivschat/2020-07-14/docs-2.json index f22a6a0f118..1c66dc065bb 100644 --- a/models/apis/ivschat/2020-07-14/docs-2.json +++ b/models/apis/ivschat/2020-07-14/docs-2.json @@ -1,18 +1,23 @@ { "version": "2.0", - "service": "

Introduction

The Amazon IVS Chat control-plane API enables you to create and manage Amazon IVS Chat resources. You also need to integrate with the Amazon IVS Chat Messaging API, to enable users to interact with chat rooms in real time.

The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat HTTPS service endpoints, see the Amazon IVS Chat information on the Amazon IVS page in the AWS General Reference.

Notes on terminology:

Resources

The following resource is part of Amazon IVS Chat:

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS Chat API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Room.

At most 50 tags can be applied to a resource.

API Access Security

Your Amazon IVS Chat applications (service applications and clients) must be authenticated and authorized to access Amazon IVS Chat resources. Note the differences between these concepts:

Users (viewers) connect to a room using secure access tokens that you create using the CreateChatToken endpoint through the AWS SDK. You call CreateChatToken for every user’s chat session, passing identity and authorization information about the user.

Signing API Requests

HTTP API requests must be signed with an AWS SigV4 signature using your AWS security credentials. The AWS Command Line Interface (CLI) and the AWS SDKs take care of signing the underlying API calls for you. However, if your application calls the Amazon IVS Chat HTTP API directly, it’s your responsibility to sign the requests.

You generate a signature using valid AWS credentials for an IAM role that has permission to perform the requested action. For example, DeleteMessage requests must be made using an IAM role that has the ivschat:DeleteMessage permission.

For more information:

Amazon Resource Names (ARNs)

ARNs uniquely identify AWS resources. An ARN is required when you need to specify a resource unambiguously across all of AWS, such as in IAM policies and API calls. For more information, see Amazon Resource Names in the AWS General Reference.

Messaging Endpoints

Chat Token Endpoint

Room Endpoints

Tags Endpoints

All the above are HTTP operations. There is a separate messaging API for managing Chat resources; see the Amazon IVS Chat Messaging API Reference.

", + "service": "

Introduction

The Amazon IVS Chat control-plane API enables you to create and manage Amazon IVS Chat resources. You also need to integrate with the Amazon IVS Chat Messaging API, to enable users to interact with chat rooms in real time.

The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat HTTPS service endpoints, see the Amazon IVS Chat information on the Amazon IVS page in the AWS General Reference.

Notes on terminology:

Resources

The following resources are part of Amazon IVS Chat:

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS Chat API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Room.

At most 50 tags can be applied to a resource.

API Access Security

Your Amazon IVS Chat applications (service applications and clients) must be authenticated and authorized to access Amazon IVS Chat resources. Note the differences between these concepts:

Users (viewers) connect to a room using secure access tokens that you create using the CreateChatToken endpoint through the AWS SDK. You call CreateChatToken for every user’s chat session, passing identity and authorization information about the user.

Signing API Requests

HTTP API requests must be signed with an AWS SigV4 signature using your AWS security credentials. The AWS Command Line Interface (CLI) and the AWS SDKs take care of signing the underlying API calls for you. However, if your application calls the Amazon IVS Chat HTTP API directly, it’s your responsibility to sign the requests.

You generate a signature using valid AWS credentials for an IAM role that has permission to perform the requested action. For example, DeleteMessage requests must be made using an IAM role that has the ivschat:DeleteMessage permission.

For more information:

Amazon Resource Names (ARNs)

ARNs uniquely identify AWS resources. An ARN is required when you need to specify a resource unambiguously across all of AWS, such as in IAM policies and API calls. For more information, see Amazon Resource Names in the AWS General Reference.

Messaging Endpoints

Chat Token Endpoint

Room Endpoints

Logging Configuration Endpoints

Tags Endpoints

All the above are HTTP operations. There is a separate messaging API for managing Chat resources; see the Amazon IVS Chat Messaging API Reference.

", "operations": { - "CreateChatToken": "

Creates an encrypted token that is used to establish an individual WebSocket connection to a room. The token is valid for one minute, and a connection (session) established with the token is valid for the specified duration.

Encryption keys are owned by Amazon IVS Chat and never used directly by your application.

", + "CreateChatToken": "

Creates an encrypted token that is used by a chat participant to establish an individual WebSocket chat connection to a room. When the token is used to connect to chat, the connection is valid for the session duration specified in the request. The token becomes invalid at the token-expiration timestamp included in the response.

Use the capabilities field to permit an end user to send messages or moderate a room.

The attributes field securely attaches structured data to the chat session; the data is included within each message sent by the end user and received by other participants in the room. Common use cases for attributes include passing end-user profile data like an icon, display name, colors, badges, and other display features.

Encryption keys are owned by Amazon IVS Chat and never used directly by your application.

", + "CreateLoggingConfiguration": "

Creates a logging configuration that allows clients to store and record sent messages.

", "CreateRoom": "

Creates a room that allows clients to connect and pass messages.

", + "DeleteLoggingConfiguration": "

Deletes the specified logging configuration.

", "DeleteMessage": "

Sends an event to a specific room which directs clients to delete a specific message; that is, unrender it from view and delete it from the client’s chat history. This event’s EventName is aws:DELETE_MESSAGE. This replicates the DeleteMessage WebSocket operation in the Amazon IVS Chat Messaging API.

", "DeleteRoom": "

Deletes the specified room.

", "DisconnectUser": "

Disconnects all connections using a specified user ID from a room. This replicates the DisconnectUser WebSocket operation in the Amazon IVS Chat Messaging API.

", + "GetLoggingConfiguration": "

Gets the specified logging configuration.

", "GetRoom": "

Gets the specified room.

", + "ListLoggingConfigurations": "

Gets summary information about all your logging configurations in the AWS region where the API request is processed.

", "ListRooms": "

Gets summary information about all your rooms in the AWS region where the API request is processed. Results are sorted in descending order of updateTime.

", "ListTagsForResource": "

Gets information about AWS tags for the specified ARN.

", "SendEvent": "

Sends an event to a room. Use this within your application’s business logic to send events to clients of a room; e.g., to notify clients to change the way the chat UI is rendered.

", "TagResource": "

Adds or updates tags for the AWS resource with the specified ARN.

", "UntagResource": "

Removes tags from the resource with the specified ARN.

", + "UpdateLoggingConfiguration": "

Updates a specified logging configuration.

", "UpdateRoom": "

Updates a room’s configuration.

" }, "shapes": { @@ -21,6 +26,12 @@ "refs": { } }, + "BucketName": { + "base": null, + "refs": { + "S3DestinationConfiguration$bucketName": "

Name of the Amazon S3 bucket where chat activity will be logged.

" + } + }, "ChatToken": { "base": null, "refs": { @@ -45,6 +56,12 @@ "ChatTokenCapabilities$member": null } }, + "CloudWatchLogsDestinationConfiguration": { + "base": "

Specifies a CloudWatch Logs location where chat logs will be stored.

", + "refs": { + "DestinationConfiguration$cloudWatchLogs": "

Name of the Amazon CloudWatch Logs destination where chat activity will be logged.

" + } + }, "ConflictException": { "base": "

", "refs": { @@ -60,6 +77,22 @@ "refs": { } }, + "CreateLoggingConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateLoggingConfigurationResponse": { + "base": null, + "refs": { + } + }, + "CreateLoggingConfigurationState": { + "base": null, + "refs": { + "CreateLoggingConfigurationResponse$state": "

The state of the logging configuration. When the state is ACTIVE, the configuration is ready to log chat content.

" + } + }, "CreateRoomRequest": { "base": null, "refs": { @@ -70,6 +103,11 @@ "refs": { } }, + "DeleteLoggingConfigurationRequest": { + "base": null, + "refs": { + } + }, "DeleteMessageRequest": { "base": null, "refs": { @@ -85,6 +123,23 @@ "refs": { } }, + "DeliveryStreamName": { + "base": null, + "refs": { + "FirehoseDestinationConfiguration$deliveryStreamName": "

Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged.

" + } + }, + "DestinationConfiguration": { + "base": "

A complex type that describes a location where chat logs will be stored. Each member represents the configuration of one log destination. For logging, you define only one type of destination (for CloudWatch Logs, Kinesis Firehose, or S3).

", + "refs": { + "CreateLoggingConfigurationRequest$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged. There can be only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

", + "CreateLoggingConfigurationResponse$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged, from the request. There is only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

", + "GetLoggingConfigurationResponse$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged. There is only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

", + "LoggingConfigurationSummary$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged.

", + "UpdateLoggingConfigurationRequest$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged. There can be only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

", + "UpdateLoggingConfigurationResponse$destinationConfiguration": "

A complex type that contains a destination configuration for where chat content will be logged, from the request. There is only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

" + } + }, "DisconnectUserRequest": { "base": null, "refs": { @@ -133,6 +188,22 @@ "ValidationExceptionField$name": "

Name of the field which failed validation.

" } }, + "FirehoseDestinationConfiguration": { + "base": "

Specifies a Kinesis Firehose location where chat logs will be stored.

", + "refs": { + "DestinationConfiguration$firehose": "

Name of the Amazon Kinesis Data Firehose destination where chat activity will be logged

" + } + }, + "GetLoggingConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetLoggingConfigurationResponse": { + "base": null, + "refs": { + } + }, "GetRoomRequest": { "base": null, "refs": { @@ -169,6 +240,16 @@ "ThrottlingException$limit": "

" } }, + "ListLoggingConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListLoggingConfigurationsResponse": { + "base": null, + "refs": { + } + }, "ListRoomsRequest": { "base": null, "refs": { @@ -189,6 +270,87 @@ "refs": { } }, + "LogGroupName": { + "base": null, + "refs": { + "CloudWatchLogsDestinationConfiguration$logGroupName": "

Name of the Amazon Cloudwatch Logs destination where chat activity will be logged.

" + } + }, + "LoggingConfigurationArn": { + "base": null, + "refs": { + "CreateLoggingConfigurationResponse$arn": "

Logging-configuration ARN, assigned by the system.

", + "GetLoggingConfigurationResponse$arn": "

Logging-configuration ARN, from the request (if identifier was an ARN).

", + "LoggingConfigurationSummary$arn": "

Logging-configuration ARN.

", + "UpdateLoggingConfigurationResponse$arn": "

Logging-configuration ARN, from the request (if identifier was an ARN).

" + } + }, + "LoggingConfigurationID": { + "base": null, + "refs": { + "CreateLoggingConfigurationResponse$id": "

Logging-configuration ID, generated by the system. This is a relative identifier, the part of the ARN that uniquely identifies the logging configuration.

", + "GetLoggingConfigurationResponse$id": "

Logging-configuration ID, generated by the system. This is a relative identifier, the part of the ARN that uniquely identifies the logging configuration.

", + "LoggingConfigurationSummary$id": "

Logging-configuration ID, generated by the system. This is a relative identifier, the part of the ARN that uniquely identifies the room.

", + "UpdateLoggingConfigurationResponse$id": "

Logging-configuration ID, generated by the system. This is a relative identifier, the part of the ARN that uniquely identifies the room.

" + } + }, + "LoggingConfigurationIdentifier": { + "base": null, + "refs": { + "DeleteLoggingConfigurationRequest$identifier": "

Identifier of the logging configuration to be deleted.

", + "GetLoggingConfigurationRequest$identifier": "

Identifier of the logging configuration to be retrieved.

", + "ListRoomsRequest$loggingConfigurationIdentifier": "

Logging-configuration identifier.

", + "LoggingConfigurationIdentifierList$member": null, + "UpdateLoggingConfigurationRequest$identifier": "

Identifier of the logging configuration to be updated.

" + } + }, + "LoggingConfigurationIdentifierList": { + "base": null, + "refs": { + "CreateRoomRequest$loggingConfigurationIdentifiers": "

Array of logging-configuration identifiers attached to the room.

", + "CreateRoomResponse$loggingConfigurationIdentifiers": "

Array of logging configurations attached to the room, from the request (if specified).

", + "GetRoomResponse$loggingConfigurationIdentifiers": "

Array of logging configurations attached to the room.

", + "RoomSummary$loggingConfigurationIdentifiers": "

List of logging-configuration identifiers attached to the room.

", + "UpdateRoomRequest$loggingConfigurationIdentifiers": "

Array of logging-configuration identifiers attached to the room.

", + "UpdateRoomResponse$loggingConfigurationIdentifiers": "

Array of logging configurations attached to the room, from the request (if specified).

" + } + }, + "LoggingConfigurationList": { + "base": null, + "refs": { + "ListLoggingConfigurationsResponse$loggingConfigurations": "

List of the matching logging configurations (summary information only). There is only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration.

" + } + }, + "LoggingConfigurationName": { + "base": null, + "refs": { + "CreateLoggingConfigurationRequest$name": "

Logging-configuration name. The value does not need to be unique.

", + "CreateLoggingConfigurationResponse$name": "

Logging-configuration name, from the request (if specified).

", + "GetLoggingConfigurationResponse$name": "

Logging-configuration name. This value does not need to be unique.

", + "LoggingConfigurationSummary$name": "

Logging-configuration name. The value does not need to be unique.

", + "UpdateLoggingConfigurationRequest$name": "

Logging-configuration name. The value does not need to be unique.

", + "UpdateLoggingConfigurationResponse$name": "

Logging-configuration name, from the request (if specified).

" + } + }, + "LoggingConfigurationState": { + "base": null, + "refs": { + "GetLoggingConfigurationResponse$state": "

The state of the logging configuration. When the state is ACTIVE, the configuration is ready to log chat content.

", + "LoggingConfigurationSummary$state": "

The state of the logging configuration. When this is ACTIVE, the configuration is ready for logging chat content.

" + } + }, + "LoggingConfigurationSummary": { + "base": "

Summary information about a logging configuration.

", + "refs": { + "LoggingConfigurationList$member": null + } + }, + "MaxLoggingConfigurationResults": { + "base": null, + "refs": { + "ListLoggingConfigurationsRequest$maxResults": "

Maximum number of logging configurations to return. Default: 50.

" + } + }, "MaxRoomResults": { "base": null, "refs": { @@ -215,6 +377,8 @@ "PaginationToken": { "base": null, "refs": { + "ListLoggingConfigurationsRequest$nextToken": "

The first logging configurations to retrieve. This is used for pagination; see the nextToken response field.

", + "ListLoggingConfigurationsResponse$nextToken": "

If there are more logging configurations than maxResults, use nextToken in the request to get the next set.

", "ListRoomsRequest$nextToken": "

The first room to retrieve. This is used for pagination; see the nextToken response field.

", "ListRoomsResponse$nextToken": "

If there are more rooms than maxResults, use nextToken in the request to get the next set.

" } @@ -302,20 +466,20 @@ "base": null, "refs": { "CreateRoomRequest$maximumMessageLength": "

Maximum number of characters in a single message. Messages are expected to be UTF-8 encoded and this limit applies specifically to rune/code-point count, not number of bytes. Default: 500.

", - "CreateRoomResponse$maximumMessageLength": "

Maximum number of characters in a single message, from the request.

", + "CreateRoomResponse$maximumMessageLength": "

Maximum number of characters in a single message, from the request (if specified).

", "GetRoomResponse$maximumMessageLength": "

Maximum number of characters in a single message. Messages are expected to be UTF-8 encoded and this limit applies specifically to rune/code-point count, not number of bytes. Default: 500.

", "UpdateRoomRequest$maximumMessageLength": "

The maximum number of characters in a single message. Messages are expected to be UTF-8 encoded and this limit applies specifically to rune/code-point count, not number of bytes. Default: 500.

", - "UpdateRoomResponse$maximumMessageLength": "

Maximum number of characters in a single message, from the request.

" + "UpdateRoomResponse$maximumMessageLength": "

Maximum number of characters in a single message, from the request (if specified).

" } }, "RoomMaxMessageRatePerSecond": { "base": null, "refs": { "CreateRoomRequest$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients). Default: 10.

", - "CreateRoomResponse$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients), from the request.

", + "CreateRoomResponse$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients), from the request (if specified).

", "GetRoomResponse$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients). Default: 10.

", "UpdateRoomRequest$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients). Default: 10.

", - "UpdateRoomResponse$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients), from the request.

" + "UpdateRoomResponse$maximumMessageRatePerSecond": "

Maximum number of messages per second that can be sent to the room (by all clients), from the request (if specified).

" } }, "RoomName": { @@ -327,7 +491,7 @@ "ListRoomsRequest$name": "

Filters the list to match the specified room name.

", "RoomSummary$name": "

Room name. The value does not need to be unique.

", "UpdateRoomRequest$name": "

Room name. The value does not need to be unique.

", - "UpdateRoomResponse$name": "

Room name, from the request.

" + "UpdateRoomResponse$name": "

Room name, from the request (if specified).

" } }, "RoomSummary": { @@ -336,6 +500,12 @@ "RoomList$member": null } }, + "S3DestinationConfiguration": { + "base": "

Specifies an S3 location where chat logs will be stored.

", + "refs": { + "DestinationConfiguration$s3": "

Name of the Amazon S3 bucket where chat activity will be logged.

" + } + }, "SendEventRequest": { "base": null, "refs": { @@ -376,7 +546,7 @@ "TagKeyList": { "base": null, "refs": { - "UntagResourceRequest$tagKeys": "

Array of tags to be removed. See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

" + "UntagResourceRequest$tagKeys": "

Array of tags to be removed. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

" } }, "TagResourceRequest": { @@ -398,13 +568,18 @@ "Tags": { "base": null, "refs": { + "CreateLoggingConfigurationRequest$tags": "

Tags to attach to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints on tags beyond what is documented there.

", + "CreateLoggingConfigurationResponse$tags": "

Tags attached to the resource, from the request (if specified). Array of maps, each of the form string:string (key:value).

", "CreateRoomRequest$tags": "

Tags to attach to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

", - "CreateRoomResponse$tags": "

Tags attached to the resource, from the request.

", + "CreateRoomResponse$tags": "

Tags attached to the resource, from the request (if specified).

", + "GetLoggingConfigurationResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

", "GetRoomResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

", - "ListTagsForResourceResponse$tags": "

Tags attached to the resource, from the request.

", - "RoomSummary$tags": "

Tags attached to the resource. See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

", - "TagResourceRequest$tags": "

Array of tags to be added or updated. See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

", - "UpdateRoomResponse$tags": "

Tags attached to the resource.

" + "ListTagsForResourceResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

", + "LoggingConfigurationSummary$tags": "

Tags to attach to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints on tags beyond what is documented there.

", + "RoomSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

", + "TagResourceRequest$tags": "

Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no constraints beyond what is documented there.

", + "UpdateLoggingConfigurationResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

", + "UpdateRoomResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

" } }, "ThrottlingException": { @@ -417,12 +592,20 @@ "refs": { "CreateChatTokenResponse$sessionExpirationTime": "

Time after which an end user's session is no longer valid. This is an ISO 8601 timestamp; note that this is returned as a string.

", "CreateChatTokenResponse$tokenExpirationTime": "

Time after which the token is no longer valid and cannot be used to connect to a room. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "CreateLoggingConfigurationResponse$createTime": "

Time when the logging configuration was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "CreateLoggingConfigurationResponse$updateTime": "

Time of the logging configuration’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", "CreateRoomResponse$createTime": "

Time when the room was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", "CreateRoomResponse$updateTime": "

Time of the room’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "GetLoggingConfigurationResponse$createTime": "

Time when the logging configuration was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "GetLoggingConfigurationResponse$updateTime": "

Time of the logging configuration’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", "GetRoomResponse$createTime": "

Time when the room was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", "GetRoomResponse$updateTime": "

Time of the room’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "LoggingConfigurationSummary$createTime": "

Time when the logging configuration was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "LoggingConfigurationSummary$updateTime": "

Time of the logging configuration’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", "RoomSummary$createTime": "

Time when the room was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", "RoomSummary$updateTime": "

Time of the room’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "UpdateLoggingConfigurationResponse$createTime": "

Time when the logging configuration was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", + "UpdateLoggingConfigurationResponse$updateTime": "

Time of the logging configuration’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

", "UpdateRoomResponse$createTime": "

Time when the room was created. This is an ISO 8601 timestamp; note that this is returned as a string.

", "UpdateRoomResponse$updateTime": "

Time of the room’s last update. This is an ISO 8601 timestamp; note that this is returned as a string.

" } @@ -437,6 +620,22 @@ "refs": { } }, + "UpdateLoggingConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateLoggingConfigurationResponse": { + "base": null, + "refs": { + } + }, + "UpdateLoggingConfigurationState": { + "base": null, + "refs": { + "UpdateLoggingConfigurationResponse$state": "

The state of the logging configuration. When the state is ACTIVE, the configuration is ready to log chat content.

" + } + }, "UpdateRoomRequest": { "base": null, "refs": { diff --git a/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json b/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json new file mode 100644 index 00000000000..395b6160d4b --- /dev/null +++ b/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ivschat-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ivschat-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ivschat.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://ivschat.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/ivschat/2020-07-14/endpoint-tests-1.json b/models/apis/ivschat/2020-07-14/endpoint-tests-1.json new file mode 100644 index 00000000000..4ed2683a849 --- /dev/null +++ b/models/apis/ivschat/2020-07-14/endpoint-tests-1.json @@ -0,0 +1,407 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ivschat.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ivschat.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/ivschat/2020-07-14/paginators-1.json b/models/apis/ivschat/2020-07-14/paginators-1.json index 427079f1823..e3a9da7a35b 100644 --- a/models/apis/ivschat/2020-07-14/paginators-1.json +++ b/models/apis/ivschat/2020-07-14/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListLoggingConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListRooms": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index fa4b7c6c64c..ded3a45ce48 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -3564,7 +3564,8 @@ "ruby2.5", "ruby2.7", "provided", - "provided.al2" + "provided.al2", + "nodejs18.x" ] }, "S3Bucket":{ diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index f4dcd1f6775..89380f48701 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -5,7 +5,7 @@ "AddLayerVersionPermission": "

Adds permissions to the resource-based policy of a version of an Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all accounts in an organization, or all Amazon Web Services accounts.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

", "AddPermission": "

Grants an Amazon Web Services service, account, or organization permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. Note: Lambda does not support adding policies to version $LATEST.

To grant permission to another account, specify the account ID as the Principal. To grant permission to an organization defined in Organizations, specify the organization ID as the PrincipalOrgID. For Amazon Web Services services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For Amazon Web Services services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

", "CreateAlias": "

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

", - "CreateCodeSigningConfig": "

Creates a code signing configuration. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

", + "CreateCodeSigningConfig": "

Creates a code signing configuration. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

", "CreateEventSourceMapping": "

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 stream sources (DynamoDB and Kinesis):

For information about which configuration parameters apply to each event source, see the following topics.

", "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use Amazon Web Services services, such as Amazon CloudWatch Logs for log streaming and X-Ray for request tracing.

You set the package type to Image if the deployment package is a container image. For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.

You set the package type to Zip if the deployment package is a .zip file archive. For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. The code in the deployment package must be compatible with the target instruction set architecture of the function (x86-64 or arm64). If you do not specify the architecture, the default value is x86-64.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

If another account or an Amazon Web Services service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", "CreateFunctionUrlConfig": "

Creates a Lambda function URL with the specified configuration parameters. A function URL is a dedicated HTTP(S) endpoint that you can use to invoke your function.

", @@ -581,7 +581,7 @@ "EnvironmentResponse": { "base": "

The results of an operation to update or read environment variables. If the operation is successful, the response contains the environment variables. If it failed, the response contains details about the error.

", "refs": { - "FunctionConfiguration$Environment": "

The function's environment variables.

" + "FunctionConfiguration$Environment": "

The function's environment variables. Omitted from CloudTrail logs.

" } }, "EnvironmentVariableName": { @@ -600,7 +600,7 @@ "base": null, "refs": { "Environment$Variables": "

Environment variable key-value pairs. For more information, see Using Lambda environment variables.

", - "EnvironmentResponse$Variables": "

Environment variable key-value pairs.

" + "EnvironmentResponse$Variables": "

Environment variable key-value pairs. Omitted from CloudTrail logs.

" } }, "EphemeralStorage": { @@ -1453,9 +1453,9 @@ "MaximumBatchingWindowInSeconds": { "base": null, "refs": { - "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

Default: 0

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

", - "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

Default: 0

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

", - "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

Default: 0

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "CreateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

", + "EventSourceMappingConfiguration$MaximumBatchingWindowInSeconds": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

", + "UpdateEventSourceMappingRequest$MaximumBatchingWindowInSeconds": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping.

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "MaximumEventAgeInSeconds": { @@ -1532,11 +1532,11 @@ "base": null, "refs": { "GetProvisionedConcurrencyConfigResponse$AvailableProvisionedConcurrentExecutions": "

The amount of provisioned concurrency available.

", - "GetProvisionedConcurrencyConfigResponse$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated.

", + "GetProvisionedConcurrencyConfigResponse$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

", "ProvisionedConcurrencyConfigListItem$AvailableProvisionedConcurrentExecutions": "

The amount of provisioned concurrency available.

", - "ProvisionedConcurrencyConfigListItem$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated.

", + "ProvisionedConcurrencyConfigListItem$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

", "PutProvisionedConcurrencyConfigResponse$AvailableProvisionedConcurrentExecutions": "

The amount of provisioned concurrency available.

", - "PutProvisionedConcurrencyConfigResponse$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated.

" + "PutProvisionedConcurrencyConfigResponse$AllocatedProvisionedConcurrentExecutions": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

" } }, "OnFailure": { @@ -1871,7 +1871,7 @@ "SourceAccessType": { "base": null, "refs": { - "SourceAccessConfiguration$Type": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

" + "SourceAccessConfiguration$Type": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

" } }, "SourceOwner": { @@ -2189,8 +2189,8 @@ "URI": { "base": null, "refs": { - "AmazonManagedKafkaEventSourceConfig$ConsumerGroupId": "

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 services-msk-consumer-group-id.

", - "SelfManagedKafkaEventSourceConfig$ConsumerGroupId": "

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 services-msk-consumer-group-id.

", + "AmazonManagedKafkaEventSourceConfig$ConsumerGroupId": "

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.

", + "SelfManagedKafkaEventSourceConfig$ConsumerGroupId": "

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.

", "SourceAccessConfiguration$URI": "

The value for your chosen configuration in Type. For example: \"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\".

" } }, diff --git a/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json b/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json new file mode 100644 index 00000000000..84fb834f202 --- /dev/null +++ b/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://lambda.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/lambda/2015-03-31/endpoint-tests-1.json b/models/apis/lambda/2015-03-31/endpoint-tests-1.json new file mode 100644 index 00000000000..56def9b4a79 --- /dev/null +++ b/models/apis/lambda/2015-03-31/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-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": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "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": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "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": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lambda.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "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": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "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": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lambda.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/personalize/2018-05-22/api-2.json b/models/apis/personalize/2018-05-22/api-2.json index 38e6a0f5f37..c3f365339c7 100644 --- a/models/apis/personalize/2018-05-22/api-2.json +++ b/models/apis/personalize/2018-05-22/api-2.json @@ -167,6 +167,22 @@ {"shape":"TooManyTagsException"} ] }, + "CreateMetricAttribution":{ + "name":"CreateMetricAttribution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMetricAttributionRequest"}, + "output":{"shape":"CreateMetricAttributionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateRecommender":{ "name":"CreateRecommender", "http":{ @@ -230,7 +246,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceInUseException"}, - {"shape":"TooManyTagsException"} + {"shape":"TooManyTagsException"}, + {"shape":"ResourceAlreadyExistsException"} ] }, "DeleteCampaign":{ @@ -302,6 +319,20 @@ {"shape":"ResourceInUseException"} ] }, + "DeleteMetricAttribution":{ + "name":"DeleteMetricAttribution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMetricAttributionRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "idempotent":true + }, "DeleteRecommender":{ "name":"DeleteRecommender", "http":{ @@ -498,6 +529,19 @@ ], "idempotent":true }, + "DescribeMetricAttribution":{ + "name":"DescribeMetricAttribution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMetricAttributionRequest"}, + "output":{"shape":"DescribeMetricAttributionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeRecipe":{ "name":"DescribeRecipe", "http":{ @@ -707,6 +751,34 @@ ], "idempotent":true }, + "ListMetricAttributionMetrics":{ + "name":"ListMetricAttributionMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMetricAttributionMetricsRequest"}, + "output":{"shape":"ListMetricAttributionMetricsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "idempotent":true + }, + "ListMetricAttributions":{ + "name":"ListMetricAttributions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMetricAttributionsRequest"}, + "output":{"shape":"ListMetricAttributionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "idempotent":true + }, "ListRecipes":{ "name":"ListRecipes", "http":{ @@ -881,6 +953,21 @@ ], "idempotent":true }, + "UpdateMetricAttribution":{ + "name":"UpdateMetricAttribution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMetricAttributionRequest"}, + "output":{"shape":"UpdateMetricAttributionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, "UpdateRecommender":{ "name":"UpdateRecommender", "http":{ @@ -1275,7 +1362,8 @@ "dataSource":{"shape":"DataSource"}, "roleArn":{"shape":"RoleArn"}, "tags":{"shape":"Tags"}, - "importMode":{"shape":"ImportMode"} + "importMode":{"shape":"ImportMode"}, + "publishAttributionMetricsToS3":{"shape":"Boolean"} } }, "CreateDatasetImportJobResponse":{ @@ -1345,6 +1433,27 @@ "filterArn":{"shape":"Arn"} } }, + "CreateMetricAttributionRequest":{ + "type":"structure", + "required":[ + "name", + "datasetGroupArn", + "metrics", + "metricsOutputConfig" + ], + "members":{ + "name":{"shape":"Name"}, + "datasetGroupArn":{"shape":"Arn"}, + "metrics":{"shape":"MetricAttributes"}, + "metricsOutputConfig":{"shape":"MetricAttributionOutput"} + } + }, + "CreateMetricAttributionResponse":{ + "type":"structure", + "members":{ + "metricAttributionArn":{"shape":"Arn"} + } + }, "CreateRecommenderRequest":{ "type":"structure", "required":[ @@ -1411,6 +1520,7 @@ "type":"structure", "required":["solutionArn"], "members":{ + "name":{"shape":"Name"}, "solutionArn":{"shape":"Arn"}, "trainingMode":{"shape":"TrainingMode"}, "tags":{"shape":"Tags"} @@ -1522,7 +1632,8 @@ "creationDateTime":{"shape":"Date"}, "lastUpdatedDateTime":{"shape":"Date"}, "failureReason":{"shape":"FailureReason"}, - "importMode":{"shape":"ImportMode"} + "importMode":{"shape":"ImportMode"}, + "publishAttributionMetricsToS3":{"shape":"Boolean"} } }, "DatasetImportJobSummary":{ @@ -1668,6 +1779,13 @@ "filterArn":{"shape":"Arn"} } }, + "DeleteMetricAttributionRequest":{ + "type":"structure", + "required":["metricAttributionArn"], + "members":{ + "metricAttributionArn":{"shape":"Arn"} + } + }, "DeleteRecommenderRequest":{ "type":"structure", "required":["recommenderArn"], @@ -1832,6 +1950,19 @@ "filter":{"shape":"Filter"} } }, + "DescribeMetricAttributionRequest":{ + "type":"structure", + "required":["metricAttributionArn"], + "members":{ + "metricAttributionArn":{"shape":"Arn"} + } + }, + "DescribeMetricAttributionResponse":{ + "type":"structure", + "members":{ + "metricAttribution":{"shape":"MetricAttribution"} + } + }, "DescribeRecipeRequest":{ "type":"structure", "required":["recipeArn"], @@ -2266,6 +2397,36 @@ "nextToken":{"shape":"NextToken"} } }, + "ListMetricAttributionMetricsRequest":{ + "type":"structure", + "members":{ + "metricAttributionArn":{"shape":"Arn"}, + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListMetricAttributionMetricsResponse":{ + "type":"structure", + "members":{ + "metrics":{"shape":"MetricAttributes"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListMetricAttributionsRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{"shape":"Arn"}, + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListMetricAttributionsResponse":{ + "type":"structure", + "members":{ + "metricAttributions":{"shape":"MetricAttributions"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListRecipesRequest":{ "type":"structure", "members":{ @@ -2359,6 +2520,70 @@ "max":100, "min":1 }, + "MetricAttribute":{ + "type":"structure", + "required":[ + "eventType", + "metricName", + "expression" + ], + "members":{ + "eventType":{"shape":"EventType"}, + "metricName":{"shape":"MetricName"}, + "expression":{"shape":"MetricExpression"} + } + }, + "MetricAttributes":{ + "type":"list", + "member":{"shape":"MetricAttribute"}, + "max":10 + }, + "MetricAttributesNamesList":{ + "type":"list", + "member":{"shape":"MetricName"}, + "max":10 + }, + "MetricAttribution":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "metricAttributionArn":{"shape":"Arn"}, + "datasetGroupArn":{"shape":"Arn"}, + "metricsOutputConfig":{"shape":"MetricAttributionOutput"}, + "status":{"shape":"Status"}, + "creationDateTime":{"shape":"Date"}, + "lastUpdatedDateTime":{"shape":"Date"}, + "failureReason":{"shape":"FailureReason"} + } + }, + "MetricAttributionOutput":{ + "type":"structure", + "required":["roleArn"], + "members":{ + "s3DataDestination":{"shape":"S3DataConfig"}, + "roleArn":{"shape":"RoleArn"} + } + }, + "MetricAttributionSummary":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "metricAttributionArn":{"shape":"Arn"}, + "status":{"shape":"Status"}, + "creationDateTime":{"shape":"Date"}, + "lastUpdatedDateTime":{"shape":"Date"}, + "failureReason":{"shape":"FailureReason"} + } + }, + "MetricAttributions":{ + "type":"list", + "member":{"shape":"MetricAttributionSummary"}, + "max":100 + }, + "MetricExpression":{ + "type":"string", + "max":256 + }, "MetricName":{ "type":"string", "max":256 @@ -2586,12 +2811,14 @@ "solutionArn":{"shape":"Arn"}, "status":{"shape":"Status"}, "creationDateTime":{"shape":"Date"}, - "lastUpdatedDateTime":{"shape":"Date"} + "lastUpdatedDateTime":{"shape":"Date"}, + "recipeArn":{"shape":"Arn"} } }, "SolutionVersion":{ "type":"structure", "members":{ + "name":{"shape":"Name"}, "solutionVersionArn":{"shape":"Arn"}, "solutionArn":{"shape":"Arn"}, "performHPO":{"shape":"PerformHPO"}, @@ -2793,6 +3020,21 @@ "campaignArn":{"shape":"Arn"} } }, + "UpdateMetricAttributionRequest":{ + "type":"structure", + "members":{ + "addMetrics":{"shape":"MetricAttributes"}, + "removeMetrics":{"shape":"MetricAttributesNamesList"}, + "metricsOutputConfig":{"shape":"MetricAttributionOutput"}, + "metricAttributionArn":{"shape":"Arn"} + } + }, + "UpdateMetricAttributionResponse":{ + "type":"structure", + "members":{ + "metricAttributionArn":{"shape":"Arn"} + } + }, "UpdateRecommenderRequest":{ "type":"structure", "required":[ diff --git a/models/apis/personalize/2018-05-22/docs-2.json b/models/apis/personalize/2018-05-22/docs-2.json index 8b87b5d0845..103767abfad 100644 --- a/models/apis/personalize/2018-05-22/docs-2.json +++ b/models/apis/personalize/2018-05-22/docs-2.json @@ -11,6 +11,7 @@ "CreateDatasetImportJob": "

Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an IAM service role that has permission to read from the data source, as Amazon Personalize makes a copy of your data and processes it internally. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

By default, a dataset import job replaces any existing data in the dataset that you imported in bulk. To add new records without replacing existing data, specify INCREMENTAL for the import mode in the CreateDatasetImportJob operation.

Status

A dataset import job can be in one of the following states:

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

Related APIs

", "CreateEventTracker": "

Creates an event tracker that you use when adding event data to a specified dataset group using the PutEvents API.

Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the PutEvents operation. Amazon Personalize then appends the event data to the Interactions dataset of the dataset group you specify in your event tracker.

The event tracker can be in one of the following states:

To get the status of the event tracker, call DescribeEventTracker.

The event tracker must be in the ACTIVE state before using the tracking ID.

Related APIs

", "CreateFilter": "

Creates a recommendation filter. For more information, see Filtering recommendations and user segments.

", + "CreateMetricAttribution": "

Creates a metric attribution. A metric attribution creates reports on the data that you import into Amazon Personalize. Depending on how you imported the data, you can view reports in Amazon CloudWatch or Amazon S3. For more information, see Measuring impact of recommendations.

", "CreateRecommender": "

Creates a recommender with the recipe (a Domain dataset group use case) you specify. You create recommenders for a Domain dataset group and specify the recommender's Amazon Resource Name (ARN) when you make a GetRecommendations request.

Minimum recommendation requests per second

When you create a recommender, you can configure the recommender's minimum recommendation requests per second. The minimum recommendation requests per second (minRecommendationRequestsPerSecond) specifies the baseline recommendation request throughput provisioned by Amazon Personalize. The default minRecommendationRequestsPerSecond is 1. A recommendation request is a single GetRecommendations operation. Request throughput is measured in requests per second and Amazon Personalize uses your requests per second to derive your requests per hour and the price of your recommender usage.

If your requests per second increases beyond minRecommendationRequestsPerSecond, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minRecommendationRequestsPerSecond. There's a short time delay while the capacity is increased that might cause loss of requests.

Your bill is the greater of either the minimum requests per hour (based on minRecommendationRequestsPerSecond) or the actual number of requests. The actual request throughput used is calculated as the average requests/second within a one-hour window. We recommend starting with the default minRecommendationRequestsPerSecond, track your usage using Amazon CloudWatch metrics, and then increase the minRecommendationRequestsPerSecond as necessary.

Status

A recommender can be in one of the following states:

To get the recommender status, call DescribeRecommender.

Wait until the status of the recommender is ACTIVE before asking the recommender for recommendations.

Related APIs

", "CreateSchema": "

Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.

Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. If you are creating a schema for a dataset in a Domain dataset group, you provide the domain of the Domain dataset group. You specify a schema when you call CreateDataset.

Related APIs

", "CreateSolution": "

Creates the configuration for training a model. A trained model is known as a solution. After the configuration is created, you train the model (create a solution) by calling the CreateSolutionVersion operation. Every time you call CreateSolutionVersion, a new version of the solution is created.

After creating a solution version, you check its accuracy by calling GetSolutionMetrics. When you are satisfied with the version, you deploy it using CreateCampaign. The campaign provides recommendations to a client through the GetRecommendations API.

To train a model, Amazon Personalize requires training data and a recipe. The training data comes from the dataset group that you provide in the request. A recipe specifies the training algorithm and a feature transformation. You can specify one of the predefined recipes provided by Amazon Personalize. Alternatively, you can specify performAutoML and Amazon Personalize will analyze your data and select the optimum USER_PERSONALIZATION recipe for you.

Amazon Personalize doesn't support configuring the hpoObjective for solution hyperparameter optimization at this time.

Status

A solution can be in one of the following states:

To get the status of the solution, call DescribeSolution. Wait until the status shows as ACTIVE before calling CreateSolutionVersion.

Related APIs

", @@ -20,6 +21,7 @@ "DeleteDatasetGroup": "

Deletes a dataset group. Before you delete a dataset group, you must delete the following:

", "DeleteEventTracker": "

Deletes the event tracker. Does not delete the event-interactions dataset from the associated dataset group. For more information on event trackers, see CreateEventTracker.

", "DeleteFilter": "

Deletes a filter.

", + "DeleteMetricAttribution": "

Deletes a metric attribution.

", "DeleteRecommender": "

Deactivates and removes a recommender. A deleted recommender can no longer be specified in a GetRecommendations request.

", "DeleteSchema": "

Deletes a schema. Before deleting a schema, you must delete all datasets referencing the schema. For more information on schemas, see CreateSchema.

", "DeleteSolution": "

Deletes all versions of a solution and the Solution object itself. Before deleting a solution, you must delete all campaigns based on the solution. To determine what campaigns are using the solution, call ListCampaigns and supply the Amazon Resource Name (ARN) of the solution. You can't delete a solution if an associated SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on solutions, see CreateSolution.

", @@ -34,6 +36,7 @@ "DescribeEventTracker": "

Describes an event tracker. The response includes the trackingId and status of the event tracker. For more information on event trackers, see CreateEventTracker.

", "DescribeFeatureTransformation": "

Describes the given feature transformation.

", "DescribeFilter": "

Describes a filter's properties.

", + "DescribeMetricAttribution": "

Describes a metric attribution.

", "DescribeRecipe": "

Describes a recipe.

A recipe contains three items:

Amazon Personalize provides a set of predefined recipes. You specify a recipe when you create a solution with the CreateSolution API. CreateSolution trains a model by using the algorithm in the specified recipe and a training dataset. The solution, when deployed as a campaign, can provide recommendations using the GetRecommendations API.

", "DescribeRecommender": "

Describes the given recommender, including its status.

A recommender can be in one of the following states:

When the status is CREATE FAILED, the response includes the failureReason key, which describes why.

The modelMetrics key is null when the recommender is being created or deleted.

For more information on recommenders, see CreateRecommender.

", "DescribeSchema": "

Describes a schema. For more information on schemas, see CreateSchema.

", @@ -49,6 +52,8 @@ "ListDatasets": "

Returns the list of datasets contained in the given dataset group. The response provides the properties for each dataset, including the Amazon Resource Name (ARN). For more information on datasets, see CreateDataset.

", "ListEventTrackers": "

Returns the list of event trackers associated with the account. The response provides the properties for each event tracker, including the Amazon Resource Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.

", "ListFilters": "

Lists all filters that belong to a given dataset group.

", + "ListMetricAttributionMetrics": "

Lists the metrics for the metric attribution.

", + "ListMetricAttributions": "

Lists metric attributions.

", "ListRecipes": "

Returns a list of available recipes. The response provides the properties for each recipe, including the recipe's Amazon Resource Name (ARN).

", "ListRecommenders": "

Returns a list of recommenders in a given Domain dataset group. When a Domain dataset group is not specified, all the recommenders associated with the account are listed. The response provides the properties for each recommender, including the Amazon Resource Name (ARN). For more information on recommenders, see CreateRecommender.

", "ListSchemas": "

Returns the list of schemas associated with the account. The response provides the properties for each schema, including the Amazon Resource Name (ARN). For more information on schemas, see CreateSchema.

", @@ -61,6 +66,7 @@ "TagResource": "

Add a list of tags to a resource.

", "UntagResource": "

Remove tags that are attached to a resource.

", "UpdateCampaign": "

Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter.

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign operation.

You can still get recommendations from a campaign while an update is in progress. The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.

For more information on campaigns, see CreateCampaign.

", + "UpdateMetricAttribution": "

Updates a metric attribution.

", "UpdateRecommender": "

Updates the recommender to modify the recommender configuration.

" }, "shapes": { @@ -123,6 +129,8 @@ "CreateEventTrackerResponse$eventTrackerArn": "

The ARN of the event tracker.

", "CreateFilterRequest$datasetGroupArn": "

The ARN of the dataset group that the filter will belong to.

", "CreateFilterResponse$filterArn": "

The ARN of the new filter.

", + "CreateMetricAttributionRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the destination dataset group for the metric attribution.

", + "CreateMetricAttributionResponse$metricAttributionArn": "

The Amazon Resource Name (ARN) for the new metric attribution.

", "CreateRecommenderRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the destination domain dataset group for the recommender.

", "CreateRecommenderRequest$recipeArn": "

The Amazon Resource Name (ARN) of the recipe that the recommender will use. For a recommender, a recipe is a Domain dataset group use case. Only Domain dataset group use cases can be used to create a recommender. For information about use cases see Choosing recommender use cases.

", "CreateRecommenderResponse$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender.

", @@ -153,6 +161,7 @@ "DeleteDatasetRequest$datasetArn": "

The Amazon Resource Name (ARN) of the dataset to delete.

", "DeleteEventTrackerRequest$eventTrackerArn": "

The Amazon Resource Name (ARN) of the event tracker to delete.

", "DeleteFilterRequest$filterArn": "

The ARN of the filter to delete.

", + "DeleteMetricAttributionRequest$metricAttributionArn": "

The metric attribution's Amazon Resource Name (ARN).

", "DeleteRecommenderRequest$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender to delete.

", "DeleteSchemaRequest$schemaArn": "

The Amazon Resource Name (ARN) of the schema to delete.

", "DeleteSolutionRequest$solutionArn": "

The ARN of the solution to delete.

", @@ -167,6 +176,7 @@ "DescribeEventTrackerRequest$eventTrackerArn": "

The Amazon Resource Name (ARN) of the event tracker to describe.

", "DescribeFeatureTransformationRequest$featureTransformationArn": "

The Amazon Resource Name (ARN) of the feature transformation to describe.

", "DescribeFilterRequest$filterArn": "

The ARN of the filter to describe.

", + "DescribeMetricAttributionRequest$metricAttributionArn": "

The metric attribution's Amazon Resource Name (ARN).

", "DescribeRecipeRequest$recipeArn": "

The Amazon Resource Name (ARN) of the recipe to describe.

", "DescribeRecommenderRequest$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender to describe.

", "DescribeSchemaRequest$schemaArn": "

The Amazon Resource Name (ARN) of the schema to retrieve.

", @@ -190,10 +200,15 @@ "ListDatasetsRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list.

", "ListEventTrackersRequest$datasetGroupArn": "

The ARN of a dataset group used to filter the response.

", "ListFiltersRequest$datasetGroupArn": "

The ARN of the dataset group that contains the filters.

", + "ListMetricAttributionMetricsRequest$metricAttributionArn": "

The Amazon Resource Name (ARN) of the metric attribution to retrieve attributes for.

", + "ListMetricAttributionsRequest$datasetGroupArn": "

The metric attributions' dataset group Amazon Resource Name (ARN).

", "ListRecommendersRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the Domain dataset group to list the recommenders for. When a Domain dataset group is not specified, all the recommenders associated with the account are listed.

", "ListSolutionVersionsRequest$solutionArn": "

The Amazon Resource Name (ARN) of the solution.

", "ListSolutionsRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group.

", "ListTagsForResourceRequest$resourceArn": "

The resource's Amazon Resource Name.

", + "MetricAttribution$metricAttributionArn": "

The metric attribution's Amazon Resource Name (ARN).

", + "MetricAttribution$datasetGroupArn": "

The metric attribution's dataset group Amazon Resource Name (ARN).

", + "MetricAttributionSummary$metricAttributionArn": "

The metric attribution's Amazon Resource Name (ARN).

", "Recipe$recipeArn": "

The Amazon Resource Name (ARN) of the recipe.

", "Recipe$algorithmArn": "

The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses to train the model.

", "Recipe$featureTransformationArn": "

The ARN of the FeatureTransformation object.

", @@ -208,6 +223,7 @@ "Solution$recipeArn": "

The ARN of the recipe used to create the solution.

", "Solution$datasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

", "SolutionSummary$solutionArn": "

The Amazon Resource Name (ARN) of the solution.

", + "SolutionSummary$recipeArn": "

The Amazon Resource Name (ARN) of the recipe used by the solution.

", "SolutionVersion$solutionVersionArn": "

The ARN of the solution version.

", "SolutionVersion$solutionArn": "

The ARN of the solution.

", "SolutionVersion$recipeArn": "

The ARN of the recipe used in the solution.

", @@ -223,6 +239,8 @@ "UpdateCampaignRequest$campaignArn": "

The Amazon Resource Name (ARN) of the campaign.

", "UpdateCampaignRequest$solutionVersionArn": "

The ARN of a new solution version to deploy.

", "UpdateCampaignResponse$campaignArn": "

The same campaign ARN as given in the request.

", + "UpdateMetricAttributionRequest$metricAttributionArn": "

The Amazon Resource Name (ARN) for the metric attribution to update.

", + "UpdateMetricAttributionResponse$metricAttributionArn": "

The Amazon Resource Name (ARN) for the metric attribution that you updated.

", "UpdateRecommenderRequest$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender to modify.

", "UpdateRecommenderResponse$recommenderArn": "

The same recommender Amazon Resource Name (ARN) as given in the request.

" } @@ -326,7 +344,9 @@ "Boolean": { "base": null, "refs": { - "CreateSolutionRequest$performHPO": "

Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false.

When performing AutoML, this parameter is always true and you should not set it to false.

" + "CreateDatasetImportJobRequest$publishAttributionMetricsToS3": "

If you created a metric attribution, specify whether to publish metrics for this import job to Amazon S3

", + "CreateSolutionRequest$performHPO": "

Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false.

When performing AutoML, this parameter is always true and you should not set it to false.

", + "DatasetImportJob$publishAttributionMetricsToS3": "

Whether the job publishes metrics to Amazon S3 for a metric attribution.

" } }, "Campaign": { @@ -503,6 +523,16 @@ "refs": { } }, + "CreateMetricAttributionRequest": { + "base": null, + "refs": { + } + }, + "CreateMetricAttributionResponse": { + "base": null, + "refs": { + } + }, "CreateRecommenderRequest": { "base": null, "refs": { @@ -698,6 +728,10 @@ "Filter$lastUpdatedDateTime": "

The time at which the filter was last updated.

", "FilterSummary$creationDateTime": "

The time at which the filter was created.

", "FilterSummary$lastUpdatedDateTime": "

The time at which the filter was last updated.

", + "MetricAttribution$creationDateTime": "

The metric attribution's creation date time.

", + "MetricAttribution$lastUpdatedDateTime": "

The metric attribution's last updated date time.

", + "MetricAttributionSummary$creationDateTime": "

The metric attribution's creation date time.

", + "MetricAttributionSummary$lastUpdatedDateTime": "

The metric attribution's last updated date time.

", "Recipe$creationDateTime": "

The date and time (in Unix format) that the recipe was created.

", "Recipe$lastUpdatedDateTime": "

The date and time (in Unix format) that the recipe was last updated.

", "RecipeSummary$creationDateTime": "

The date and time (in Unix time) that the recipe was created.

", @@ -785,6 +819,11 @@ "refs": { } }, + "DeleteMetricAttributionRequest": { + "base": null, + "refs": { + } + }, "DeleteRecommenderRequest": { "base": null, "refs": { @@ -910,6 +949,16 @@ "refs": { } }, + "DescribeMetricAttributionRequest": { + "base": null, + "refs": { + } + }, + "DescribeMetricAttributionResponse": { + "base": null, + "refs": { + } + }, "DescribeRecipeRequest": { "base": null, "refs": { @@ -1021,6 +1070,7 @@ "base": null, "refs": { "CreateSolutionRequest$eventType": "

When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.

If you do not provide an eventType, Amazon Personalize will use all interactions for training with equal weight regardless of type.

", + "MetricAttribute$eventType": "

The metric's event type.

", "Solution$eventType": "

The event type (for example, 'click' or 'like') that is used for training the model. If no eventType is provided, Amazon Personalize uses all interactions for training with equal weight regardless of type.

", "SolutionVersion$eventType": "

The event type (for example, 'click' or 'like') that is used for training the model.

" } @@ -1049,6 +1099,8 @@ "DatasetImportJobSummary$failureReason": "

If a dataset import job fails, the reason behind the failure.

", "Filter$failureReason": "

If the filter failed, the reason for its failure.

", "FilterSummary$failureReason": "

If the filter failed, the reason for the failure.

", + "MetricAttribution$failureReason": "

The metric attribution's failure reason.

", + "MetricAttributionSummary$failureReason": "

The metric attribution's failure reason.

", "Recommender$failureReason": "

If a recommender fails, the reason behind the failure.

", "RecommenderUpdateSummary$failureReason": "

If a recommender update fails, the reason behind the failure.

", "SolutionVersion$failureReason": "

If training a solution version fails, the reason for the failure.

", @@ -1316,6 +1368,26 @@ "refs": { } }, + "ListMetricAttributionMetricsRequest": { + "base": null, + "refs": { + } + }, + "ListMetricAttributionMetricsResponse": { + "base": null, + "refs": { + } + }, + "ListMetricAttributionsRequest": { + "base": null, + "refs": { + } + }, + "ListMetricAttributionsResponse": { + "base": null, + "refs": { + } + }, "ListRecipesRequest": { "base": null, "refs": { @@ -1388,6 +1460,8 @@ "ListDatasetsRequest$maxResults": "

The maximum number of datasets to return.

", "ListEventTrackersRequest$maxResults": "

The maximum number of event trackers to return.

", "ListFiltersRequest$maxResults": "

The maximum number of filters to return.

", + "ListMetricAttributionMetricsRequest$maxResults": "

The maximum number of metrics to return in one page of results.

", + "ListMetricAttributionsRequest$maxResults": "

The maximum number of metric attributions to return in one page of results.

", "ListRecipesRequest$maxResults": "

The maximum number of recipes to return.

", "ListRecommendersRequest$maxResults": "

The maximum number of recommenders to return.

", "ListSchemasRequest$maxResults": "

The maximum number of schemas to return.

", @@ -1395,11 +1469,65 @@ "ListSolutionsRequest$maxResults": "

The maximum number of solutions to return.

" } }, + "MetricAttribute": { + "base": "

Contains information on a metric that a metric attribution reports on. For more information, see Measuring impact of recommendations.

", + "refs": { + "MetricAttributes$member": null + } + }, + "MetricAttributes": { + "base": null, + "refs": { + "CreateMetricAttributionRequest$metrics": "

A list of metric attributes for the metric attribution. Each metric attribute specifies an event type to track and a function. Available functions are SUM() or SAMPLECOUNT(). For SUM() functions, provide the dataset type (either Interactions or Items) and column to sum as a parameter. For example SUM(Items.PRICE).

", + "ListMetricAttributionMetricsResponse$metrics": "

The metrics for the specified metric attribution.

", + "UpdateMetricAttributionRequest$addMetrics": "

Add new metric attributes to the metric attribution.

" + } + }, + "MetricAttributesNamesList": { + "base": null, + "refs": { + "UpdateMetricAttributionRequest$removeMetrics": "

Remove metric attributes from the metric attribution.

" + } + }, + "MetricAttribution": { + "base": "

Contains information on a metric attribution. A metric attribution creates reports on the data that you import into Amazon Personalize. Depending on how you import the data, you can view reports in Amazon CloudWatch or Amazon S3. For more information, see Measuring impact of recommendations.

", + "refs": { + "DescribeMetricAttributionResponse$metricAttribution": "

The details of the metric attribution.

" + } + }, + "MetricAttributionOutput": { + "base": "

The output configuration details for a metric attribution.

", + "refs": { + "CreateMetricAttributionRequest$metricsOutputConfig": "

The output configuration details for the metric attribution.

", + "MetricAttribution$metricsOutputConfig": "

The metric attribution's output configuration.

", + "UpdateMetricAttributionRequest$metricsOutputConfig": "

An output config for the metric attribution.

" + } + }, + "MetricAttributionSummary": { + "base": "

Provides a summary of the properties of a metric attribution. For a complete listing, call the DescribeMetricAttribution.

", + "refs": { + "MetricAttributions$member": null + } + }, + "MetricAttributions": { + "base": null, + "refs": { + "ListMetricAttributionsResponse$metricAttributions": "

The list of metric attributions.

" + } + }, + "MetricExpression": { + "base": null, + "refs": { + "MetricAttribute$expression": "

The attribute's expression. Available functions are SUM() or SAMPLECOUNT(). For SUM() functions, provide the dataset type (either Interactions or Items) and column to sum as a parameter. For example SUM(Items.PRICE).

" + } + }, "MetricName": { "base": null, "refs": { "AutoMLConfig$metricName": "

The metric to optimize.

", "HPOObjective$metricName": "

The name of the metric.

", + "MetricAttribute$metricName": "

The metric's name. The name helps you identify the metric in Amazon CloudWatch or Amazon S3.

", + "MetricAttributesNamesList$member": null, "Metrics$key": null } }, @@ -1442,9 +1570,11 @@ "CreateDatasetRequest$name": "

The name for the dataset.

", "CreateEventTrackerRequest$name": "

The name for the event tracker.

", "CreateFilterRequest$name": "

The name of the filter to create.

", + "CreateMetricAttributionRequest$name": "

A name for the metric attribution.

", "CreateRecommenderRequest$name": "

The name of the recommender.

", "CreateSchemaRequest$name": "

The name for the schema.

", "CreateSolutionRequest$name": "

The name for the solution.

", + "CreateSolutionVersionRequest$name": "

The name of the solution version.

", "Dataset$name": "

The name of the dataset.

", "DatasetExportJob$jobName": "

The name of the export job.

", "DatasetExportJobSummary$jobName": "

The name of the dataset export job.

", @@ -1460,12 +1590,15 @@ "FeatureTransformation$name": "

The name of the feature transformation.

", "Filter$name": "

The name of the filter.

", "FilterSummary$name": "

The name of the filter.

", + "MetricAttribution$name": "

The metric attribution's name.

", + "MetricAttributionSummary$name": "

The name of the metric attribution.

", "Recipe$name": "

The name of the recipe.

", "RecipeSummary$name": "

The name of the recipe.

", "Recommender$name": "

The name of the recommender.

", "RecommenderSummary$name": "

The name of the recommender.

", "Solution$name": "

The name of the solution.

", - "SolutionSummary$name": "

The name of the solution.

" + "SolutionSummary$name": "

The name of the solution.

", + "SolutionVersion$name": "

The name of the solution version.

" } }, "NextToken": { @@ -1489,6 +1622,10 @@ "ListEventTrackersResponse$nextToken": "

A token for getting the next set of event trackers (if they exist).

", "ListFiltersRequest$nextToken": "

A token returned from the previous call to ListFilters for getting the next set of filters (if they exist).

", "ListFiltersResponse$nextToken": "

A token for getting the next set of filters (if they exist).

", + "ListMetricAttributionMetricsRequest$nextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "ListMetricAttributionMetricsResponse$nextToken": "

Specify the pagination token from a previous ListMetricAttributionMetricsResponse request to retrieve the next page of results.

", + "ListMetricAttributionsRequest$nextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "ListMetricAttributionsResponse$nextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", "ListRecipesRequest$nextToken": "

A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist).

", "ListRecipesResponse$nextToken": "

A token for getting the next set of recipes.

", "ListRecommendersRequest$nextToken": "

A token returned from the previous call to ListRecommenders for getting the next set of recommenders (if they exist).

", @@ -1656,7 +1793,8 @@ "CreateDatasetExportJobRequest$roleArn": "

The Amazon Resource Name (ARN) of the IAM service role that has permissions to add data to your output Amazon S3 bucket.

", "CreateDatasetGroupRequest$roleArn": "

The ARN of the Identity and Access Management (IAM) role that has permissions to access the Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.

", "CreateDatasetImportJobRequest$roleArn": "

The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

", - "DatasetGroup$roleArn": "

The ARN of the IAM role that has permissions to create the dataset group.

" + "DatasetGroup$roleArn": "

The ARN of the IAM role that has permissions to create the dataset group.

", + "MetricAttributionOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM service role that has permissions to add data to your output Amazon S3 bucket and add metrics to Amazon CloudWatch. For more information, see Measuring impact of recommendations.

" } }, "S3DataConfig": { @@ -1666,7 +1804,8 @@ "BatchInferenceJobOutput$s3DataDestination": "

Information on the Amazon S3 bucket in which the batch inference job's output is stored.

", "BatchSegmentJobInput$s3DataSource": null, "BatchSegmentJobOutput$s3DataDestination": null, - "DatasetExportJobOutput$s3DataDestination": null + "DatasetExportJobOutput$s3DataDestination": null, + "MetricAttributionOutput$s3DataDestination": null } }, "S3Location": { @@ -1760,6 +1899,8 @@ "FeatureTransformation$status": "

The status of the feature transformation.

A feature transformation can be in one of the following states:

", "Filter$status": "

The status of the filter.

", "FilterSummary$status": "

The status of the filter.

", + "MetricAttribution$status": "

The metric attribution's status.

", + "MetricAttributionSummary$status": "

The metric attribution's status.

", "Recipe$status": "

The status of the recipe.

", "RecipeSummary$status": "

The status of the recipe.

", "Recommender$status": "

The status of the recommender.

A recommender can be in one of the following states:

", @@ -1920,6 +2061,16 @@ "refs": { } }, + "UpdateMetricAttributionRequest": { + "base": null, + "refs": { + } + }, + "UpdateMetricAttributionResponse": { + "base": null, + "refs": { + } + }, "UpdateRecommenderRequest": { "base": null, "refs": { diff --git a/models/apis/personalize/2018-05-22/endpoint-rule-set-1.json b/models/apis/personalize/2018-05-22/endpoint-rule-set-1.json new file mode 100644 index 00000000000..ed863d73bf5 --- /dev/null +++ b/models/apis/personalize/2018-05-22/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://personalize.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/personalize/2018-05-22/endpoint-tests-1.json b/models/apis/personalize/2018-05-22/endpoint-tests-1.json new file mode 100644 index 00000000000..5f7559a8803 --- /dev/null +++ b/models/apis/personalize/2018-05-22/endpoint-tests-1.json @@ -0,0 +1,667 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/personalize/2018-05-22/paginators-1.json b/models/apis/personalize/2018-05-22/paginators-1.json index 5668beb08ac..8f432b9c0d2 100644 --- a/models/apis/personalize/2018-05-22/paginators-1.json +++ b/models/apis/personalize/2018-05-22/paginators-1.json @@ -54,6 +54,18 @@ "output_token": "nextToken", "result_key": "Filters" }, + "ListMetricAttributionMetrics": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "metrics" + }, + "ListMetricAttributions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "metricAttributions" + }, "ListRecipes": { "input_token": "nextToken", "limit_key": "maxResults", diff --git a/models/apis/polly/2016-06-10/api-2.json b/models/apis/polly/2016-06-10/api-2.json index afe4e522037..53833678884 100644 --- a/models/apis/polly/2016-06-10/api-2.json +++ b/models/apis/polly/2016-06-10/api-2.json @@ -379,7 +379,8 @@ "en-ZA", "ca-ES", "de-AT", - "yue-CN" + "yue-CN", + "ar-AE" ] }, "LanguageCodeList":{ @@ -844,7 +845,9 @@ "Laura", "Elin", "Ida", - "Suvi" + "Suvi", + "Ola", + "Hala" ] }, "VoiceList":{ diff --git a/models/apis/rum/2018-05-10/api-2.json b/models/apis/rum/2018-05-10/api-2.json index a4639204c24..4f5eb6b1eb7 100644 --- a/models/apis/rum/2018-05-10/api-2.json +++ b/models/apis/rum/2018-05-10/api-2.json @@ -332,6 +332,7 @@ "members":{ "AppMonitorConfiguration":{"shape":"AppMonitorConfiguration"}, "Created":{"shape":"ISOTimestampString"}, + "CustomEvents":{"shape":"CustomEvents"}, "DataStorage":{"shape":"DataStorage"}, "Domain":{"shape":"AppMonitorDomain"}, "Id":{"shape":"AppMonitorId"}, @@ -567,6 +568,7 @@ ], "members":{ "AppMonitorConfiguration":{"shape":"AppMonitorConfiguration"}, + "CustomEvents":{"shape":"CustomEvents"}, "CwLogEnabled":{"shape":"Boolean"}, "Domain":{"shape":"AppMonitorDomain"}, "Name":{"shape":"AppMonitorName"}, @@ -579,6 +581,19 @@ "Id":{"shape":"AppMonitorId"} } }, + "CustomEvents":{ + "type":"structure", + "members":{ + "Status":{"shape":"CustomEventsStatus"} + } + }, + "CustomEventsStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "CwLog":{ "type":"structure", "members":{ @@ -1162,6 +1177,7 @@ "required":["Name"], "members":{ "AppMonitorConfiguration":{"shape":"AppMonitorConfiguration"}, + "CustomEvents":{"shape":"CustomEvents"}, "CwLogEnabled":{"shape":"Boolean"}, "Domain":{"shape":"AppMonitorDomain"}, "Name":{ diff --git a/models/apis/rum/2018-05-10/docs-2.json b/models/apis/rum/2018-05-10/docs-2.json index 27b853fd1c6..293e6430f53 100644 --- a/models/apis/rum/2018-05-10/docs-2.json +++ b/models/apis/rum/2018-05-10/docs-2.json @@ -1,8 +1,8 @@ { "version": "2.0", - "service": "

With Amazon CloudWatch RUM, you can perform real-user monitoring to collect client-side data about your web application performance from actual user sessions in real time. The data collected includes page load times, client-side errors, and user behavior. When you view this data, you can see it all aggregated together and also see breakdowns by the browsers and devices that your customers use.

 <p>You can use the collected data to quickly identify and debug client-side performance issues. CloudWatch RUM helps you visualize anomalies in your application performance and find relevant debugging data such as error messages, stack traces, and user sessions. You can also use RUM to understand the range of end-user impact including the number of users, geolocations, and browsers used.</p> 
", + "service": "

With Amazon CloudWatch RUM, you can perform real-user monitoring to collect client-side data about your web application performance from actual user sessions in real time. The data collected includes page load times, client-side errors, and user behavior. When you view this data, you can see it all aggregated together and also see breakdowns by the browsers and devices that your customers use.

You can use the collected data to quickly identify and debug client-side performance issues. CloudWatch RUM helps you visualize anomalies in your application performance and find relevant debugging data such as error messages, stack traces, and user sessions. You can also use RUM to understand the range of end-user impact including the number of users, geolocations, and browsers used.

", "operations": { - "BatchCreateRumMetricDefinitions": "

Specifies the extended metrics that you want a CloudWatch RUM app monitor to send to a destination. Valid destinations include CloudWatch and Evidently.

By default, RUM app monitors send some metrics to CloudWatch. These default metrics are listed in CloudWatch metrics that you can collect with CloudWatch RUM.

If you also send extended metrics, you can send metrics to Evidently as well as CloudWatch, and you can also optionally send the metrics with additional dimensions. The valid dimension names for the additional dimensions are BrowserName, CountryCode, DeviceType, FileType, OSName, and PageId. For more information, see Extended metrics that you can send to CloudWatch and CloudWatch Evidently.

The maximum number of metric definitions that you can specify in one BatchCreateRumMetricDefinitions operation is 200.

 <p>The maximum number of metric definitions that one destination can contain is 2000.</p> <p>Extended metrics sent are charged as CloudWatch custom metrics. Each combination of additional dimension name and dimension value counts as a custom metric. For more information, see <a href="https://aws.amazon.com/cloudwatch/pricing/">Amazon CloudWatch Pricing</a>.</p> <p>You must have already created a destination for the metrics before you send them. For more information, see <a href="https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_PutRumMetricsDestination.html">PutRumMetricsDestination</a>.</p> <p>If some metric definitions specified in a <code>BatchCreateRumMetricDefinitions</code> operations are not valid, those metric definitions fail and return errors, but all valid metric definitions in the same operation still succeed.</p> 
", + "BatchCreateRumMetricDefinitions": "

Specifies the extended metrics that you want a CloudWatch RUM app monitor to send to a destination. Valid destinations include CloudWatch and Evidently.

By default, RUM app monitors send some metrics to CloudWatch. These default metrics are listed in CloudWatch metrics that you can collect with CloudWatch RUM.

If you also send extended metrics, you can send metrics to Evidently as well as CloudWatch, and you can also optionally send the metrics with additional dimensions. The valid dimension names for the additional dimensions are BrowserName, CountryCode, DeviceType, FileType, OSName, and PageId. For more information, see Extended metrics that you can send to CloudWatch and CloudWatch Evidently.

The maximum number of metric definitions that you can specify in one BatchCreateRumMetricDefinitions operation is 200.

The maximum number of metric definitions that one destination can contain is 2000.

Extended metrics sent are charged as CloudWatch custom metrics. Each combination of additional dimension name and dimension value counts as a custom metric. For more information, see Amazon CloudWatch Pricing.

You must have already created a destination for the metrics before you send them. For more information, see PutRumMetricsDestination.

If some metric definitions specified in a BatchCreateRumMetricDefinitions operations are not valid, those metric definitions fail and return errors, but all valid metric definitions in the same operation still succeed.

", "BatchDeleteRumMetricDefinitions": "

Removes the specified metrics from being sent to an extended metrics destination.

If some metric definition IDs specified in a BatchDeleteRumMetricDefinitions operations are not valid, those metric definitions fail and return errors, but all valid metric definition IDs in the same operation are still deleted.

The maximum number of metric definitions that you can specify in one BatchDeleteRumMetricDefinitions operation is 200.

", "BatchGetRumMetricDefinitions": "

Retrieves the list of metrics and dimensions that a RUM app monitor is sending to a single destination.

", "CreateAppMonitor": "

Creates a Amazon CloudWatch RUM app monitor, which collects telemetry data from your application and sends that data to RUM. The data includes performance and reliability information such as page load time, client-side errors, and user behavior.

You use this operation only to create a new app monitor. To update an existing app monitor, use UpdateAppMonitor instead.

After you create an app monitor, sign in to the CloudWatch RUM console to get the JavaScript code snippet to add to your web application. For more information, see How do I find a code snippet that I've already generated?

", @@ -183,6 +183,20 @@ "refs": { } }, + "CustomEvents": { + "base": "

A structure that contains information about custom events for this app monitor.

", + "refs": { + "AppMonitor$CustomEvents": "

Specifies whether this app monitor allows the web client to define and send custom events.

For more information about custom events, see Send custom events.

", + "CreateAppMonitorRequest$CustomEvents": "

Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are DISABLED.

For more information about custom events, see Send custom events.

", + "UpdateAppMonitorRequest$CustomEvents": "

Specifies whether this app monitor allows the web client to define and send custom events. The default is for custom events to be DISABLED.

For more information about custom events, see Send custom events.

" + } + }, + "CustomEventsStatus": { + "base": null, + "refs": { + "CustomEvents$Status": "

Specifies whether this app monitor allows the web client to define and send custom events. The default is for custom events to be DISABLED.

" + } + }, "CwLog": { "base": "

A structure that contains the information about whether the app monitor stores copies of the data that RUM collects in CloudWatch Logs. If it does, this structure also contains the name of the log group.

", "refs": { @@ -237,7 +251,7 @@ "base": null, "refs": { "MetricDefinition$DimensionKeys": "

This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch The value of this field is used only if the metric destination is CloudWatch. If the metric destination is Evidently, the value of DimensionKeys is ignored.

", - "MetricDefinitionRequest$DimensionKeys": "

Use this field only if you are sending the metric to CloudWatch.

This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch. Valid values for the entries in this field are the following:

 <p> All dimensions listed in this field must also be included in <code>EventPattern</code>.</p> 
" + "MetricDefinitionRequest$DimensionKeys": "

Use this field only if you are sending the metric to CloudWatch.

This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch. Valid values for the entries in this field are the following:

All dimensions listed in this field must also be included in EventPattern.

" } }, "DimensionName": { @@ -454,7 +468,7 @@ "base": null, "refs": { "AppMonitorConfiguration$ExcludedPages": "

A list of URLs in your website or application to exclude from RUM data collection.

You can't include both ExcludedPages and IncludedPages in the same operation.

", - "AppMonitorConfiguration$IncludedPages": "

If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.

 <p>You can't include both <code>ExcludedPages</code> and <code>IncludedPages</code> in the same operation.</p> 
" + "AppMonitorConfiguration$IncludedPages": "

If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.

You can't include both ExcludedPages and IncludedPages in the same operation.

" } }, "PutRumEventsRequest": { @@ -604,7 +618,7 @@ "base": null, "refs": { "AppMonitor$Tags": "

The list of tag keys and values associated with this app monitor.

", - "CreateAppMonitorRequest$Tags": "

Assigns one or more tags (key-value pairs) to the app monitor.

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.

 <p>You can associate as many as 50 tags with an app monitor.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p> 
", + "CreateAppMonitorRequest$Tags": "

Assigns one or more tags (key-value pairs) to the app monitor.

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 an app monitor.

For more information, see Tagging Amazon Web Services resources.

", "ListTagsForResourceResponse$Tags": "

The list of tag keys and values associated with the resource you specified.

", "TagResourceRequest$Tags": "

The list of key-value pairs to associate with the resource.

" } diff --git a/models/apis/rum/2018-05-10/endpoint-tests-1.json b/models/apis/rum/2018-05-10/endpoint-tests-1.json index ba73cf6f16e..bf22fcfdf07 100644 --- a/models/apis/rum/2018-05-10/endpoint-tests-1.json +++ b/models/apis/rum/2018-05-10/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -21,9 +21,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -34,9 +34,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -47,9 +47,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -60,9 +60,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -73,9 +73,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -86,9 +86,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -99,9 +99,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -112,9 +112,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true + "Region": "eu-north-1" } }, { @@ -125,9 +125,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false + "Region": "eu-north-1" } }, { @@ -138,9 +138,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true + "Region": "eu-north-1" } }, { @@ -151,9 +151,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false + "Region": "eu-north-1" } }, { @@ -164,9 +164,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -177,9 +177,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -190,9 +190,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -203,9 +203,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -216,9 +216,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -229,9 +229,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -242,9 +242,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -255,9 +255,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -268,9 +268,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "Region": "ap-northeast-1" } }, { @@ -281,9 +281,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false + "Region": "ap-northeast-1" } }, { @@ -294,9 +294,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "Region": "ap-northeast-1" } }, { @@ -307,9 +307,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "Region": "ap-northeast-1" } }, { @@ -320,9 +320,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -333,9 +333,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -346,9 +346,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -359,9 +359,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -372,9 +372,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -385,9 +385,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -398,9 +398,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -411,9 +411,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -424,9 +424,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -437,9 +437,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -450,9 +450,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -463,9 +463,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -476,9 +476,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -489,9 +489,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -502,9 +502,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -515,9 +515,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -528,9 +528,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +540,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "UseDualStack": false, "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,9 +552,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "UseDualStack": true, "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": true, "Endpoint": "https://example.com" } } diff --git a/models/apis/s3control/2018-08-20/api-2.json b/models/apis/s3control/2018-08-20/api-2.json index 5a0a34e7dc6..aa97c1e0286 100644 --- a/models/apis/s3control/2018-08-20/api-2.json +++ b/models/apis/s3control/2018-08-20/api-2.json @@ -1030,7 +1030,10 @@ "required":["BucketLevel"], "members":{ "ActivityMetrics":{"shape":"ActivityMetrics"}, - "BucketLevel":{"shape":"BucketLevel"} + "BucketLevel":{"shape":"BucketLevel"}, + "AdvancedCostOptimizationMetrics":{"shape":"AdvancedCostOptimizationMetrics"}, + "AdvancedDataProtectionMetrics":{"shape":"AdvancedDataProtectionMetrics"}, + "DetailedStatusCodesMetrics":{"shape":"DetailedStatusCodesMetrics"} } }, "ActivityMetrics":{ @@ -1039,6 +1042,18 @@ "IsEnabled":{"shape":"IsEnabled"} } }, + "AdvancedCostOptimizationMetrics":{ + "type":"structure", + "members":{ + "IsEnabled":{"shape":"IsEnabled"} + } + }, + "AdvancedDataProtectionMetrics":{ + "type":"structure", + "members":{ + "IsEnabled":{"shape":"IsEnabled"} + } + }, "Alias":{ "type":"string", "max":63, @@ -1143,7 +1158,10 @@ "type":"structure", "members":{ "ActivityMetrics":{"shape":"ActivityMetrics"}, - "PrefixLevel":{"shape":"PrefixLevel"} + "PrefixLevel":{"shape":"PrefixLevel"}, + "AdvancedCostOptimizationMetrics":{"shape":"AdvancedCostOptimizationMetrics"}, + "AdvancedDataProtectionMetrics":{"shape":"AdvancedDataProtectionMetrics"}, + "DetailedStatusCodesMetrics":{"shape":"DetailedStatusCodesMetrics"} } }, "BucketLocationConstraint":{ @@ -1776,6 +1794,12 @@ "AsyncOperation":{"shape":"AsyncOperation"} } }, + "DetailedStatusCodesMetrics":{ + "type":"structure", + "members":{ + "IsEnabled":{"shape":"IsEnabled"} + } + }, "Endpoints":{ "type":"map", "key":{"shape":"NonEmptyMaxLength64String"}, diff --git a/models/apis/s3control/2018-08-20/docs-2.json b/models/apis/s3control/2018-08-20/docs-2.json index 82f347d1fca..68beca21b6c 100644 --- a/models/apis/s3control/2018-08-20/docs-2.json +++ b/models/apis/s3control/2018-08-20/docs-2.json @@ -39,7 +39,7 @@ "GetMultiRegionAccessPointPolicy": "

Returns the access control policy of the specified Multi-Region Access Point.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to GetMultiRegionAccessPointPolicy:

", "GetMultiRegionAccessPointPolicyStatus": "

Indicates whether the specified Multi-Region Access Point has an access control policy that allows public access.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to GetMultiRegionAccessPointPolicyStatus:

", "GetPublicAccessBlock": "

Retrieves the PublicAccessBlock configuration for an Amazon Web Services account. For more information, see Using Amazon S3 block public access.

Related actions include:

", - "GetStorageLensConfiguration": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "GetStorageLensConfiguration": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "GetStorageLensConfigurationTagging": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "ListAccessPoints": "

Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to ListAccessPoints:

", "ListAccessPointsForObjectLambda": "

Returns some or all (up to 1,000) access points associated with the Object Lambda Access Point per call. If there are more access points than what can be returned in one call, the response will include a continuation token that you can use to list the additional access points.

The following actions are related to ListAccessPointsForObjectLambda:

", @@ -57,7 +57,7 @@ "PutJobTagging": "

Sets the supplied tag-set on an S3 Batch Operations job.

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set with the one you modified. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutJobTagging action.

Related actions include:

", "PutMultiRegionAccessPointPolicy": "

Associates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only one policy, so a request made to this action replaces any existing policy that is associated with the specified Multi-Region Access Point.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to PutMultiRegionAccessPointPolicy:

", "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account. For this operation, users must have the s3:PutAccountPublicAccessBlock permission. For more information, see Using Amazon S3 block public access.

Related actions include:

", - "PutStorageLensConfiguration": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", + "PutStorageLensConfiguration": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "PutStorageLensConfigurationTagging": "

Put or replace tags on an existing Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "UpdateJobPriority": "

Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

", "UpdateJobStatus": "

Updates the status for the specified job. Use this action to confirm that you want to run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

" @@ -162,16 +162,30 @@ } }, "AccountLevel": { - "base": "

A container for the account level Amazon S3 Storage Lens configuration.

", + "base": "

A container for the account-level Amazon S3 Storage Lens configuration.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", "refs": { "StorageLensConfiguration$AccountLevel": "

A container for all the account-level configurations of your S3 Storage Lens configuration.

" } }, "ActivityMetrics": { - "base": "

A container for the activity metrics.

", + "base": "

The container element for Amazon S3 Storage Lens activity metrics. Activity metrics show details about how your storage is requested, such as requests (for example, All requests, Get requests, Put requests), bytes uploaded or downloaded, and errors.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", "refs": { - "AccountLevel$ActivityMetrics": "

A container for the S3 Storage Lens activity metrics.

", - "BucketLevel$ActivityMetrics": "

A container for the bucket-level activity metrics for Amazon S3 Storage Lens

" + "AccountLevel$ActivityMetrics": "

A container for S3 Storage Lens activity metrics.

", + "BucketLevel$ActivityMetrics": "

A container for the bucket-level activity metrics for S3 Storage Lens.

" + } + }, + "AdvancedCostOptimizationMetrics": { + "base": "

The container element for Amazon S3 Storage Lens advanced cost-optimization metrics. Advanced cost-optimization metrics provide insights that you can use to manage and optimize your storage costs, for example, lifecycle rule counts for transitions, expirations, and incomplete multipart uploads.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", + "refs": { + "AccountLevel$AdvancedCostOptimizationMetrics": "

A container for S3 Storage Lens advanced cost-optimization metrics.

", + "BucketLevel$AdvancedCostOptimizationMetrics": "

A container for bucket-level advanced cost-optimization metrics for S3 Storage Lens.

" + } + }, + "AdvancedDataProtectionMetrics": { + "base": "

The container element for Amazon S3 Storage Lens advanced data-protection metrics. Advanced data-protection metrics provide insights that you can use to perform audits and protect your data, for example replication rule counts within and across Regions.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", + "refs": { + "AccountLevel$AdvancedDataProtectionMetrics": "

A container for S3 Storage Lens advanced data-protection metrics.

", + "BucketLevel$AdvancedDataProtectionMetrics": "

A container for bucket-level advanced data-protection metrics for S3 Storage Lens.

" } }, "Alias": { @@ -288,7 +302,7 @@ } }, "BucketLevel": { - "base": "

A container for the bucket-level configuration.

", + "base": "

A container for the bucket-level configuration for Amazon S3 Storage Lens.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide.

", "refs": { "AccountLevel$BucketLevel": "

A container for the S3 Storage Lens bucket-level configuration.

" } @@ -586,6 +600,13 @@ "refs": { } }, + "DetailedStatusCodesMetrics": { + "base": "

The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status code metrics generate metrics for HTTP status codes, such as 200 OK, 403 Forbidden, 503 Service Unavailable and others.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", + "refs": { + "AccountLevel$DetailedStatusCodesMetrics": "

A container for detailed status code metrics.

", + "BucketLevel$DetailedStatusCodesMetrics": "

A container for bucket-level detailed status code metrics for S3 Storage Lens.

" + } + }, "Endpoints": { "base": null, "refs": { @@ -918,8 +939,11 @@ "IsEnabled": { "base": null, "refs": { - "ActivityMetrics$IsEnabled": "

A container for whether the activity metrics are enabled.

", + "ActivityMetrics$IsEnabled": "

A container that indicates whether activity metrics are enabled.

", + "AdvancedCostOptimizationMetrics$IsEnabled": "

A container that indicates whether advanced cost-optimization metrics are enabled.

", + "AdvancedDataProtectionMetrics$IsEnabled": "

A container that indicates whether advanced data-protection metrics are enabled.

", "CloudWatchMetrics$IsEnabled": "

A container that indicates whether CloudWatch publishing for S3 Storage Lens metrics is enabled. A value of true indicates that CloudWatch publishing for S3 Storage Lens metrics is enabled.

", + "DetailedStatusCodesMetrics$IsEnabled": "

A container that indicates whether detailed status code metrics are enabled.

", "ListStorageLensConfigurationEntry$IsEnabled": "

A container for whether the S3 Storage Lens configuration is enabled. This property is required.

", "PrefixLevelStorageMetrics$IsEnabled": "

A container for whether prefix-level storage metrics are enabled.

", "StorageLensConfiguration$IsEnabled": "

A container for whether the S3 Storage Lens configuration is enabled.

" @@ -1668,7 +1692,7 @@ "PrefixLevel": { "base": "

A container for the prefix-level configuration.

", "refs": { - "BucketLevel$PrefixLevel": "

A container for the bucket-level prefix-level metrics for S3 Storage Lens

" + "BucketLevel$PrefixLevel": "

A container for the prefix-level metrics for S3 Storage Lens.

" } }, "PrefixLevelStorageMetrics": { @@ -1684,7 +1708,7 @@ } }, "PublicAccessBlockConfiguration": { - "base": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

This is not supported for Amazon S3 on Outposts.

", + "base": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

This data type is not supported for Amazon S3 on Outposts.

", "refs": { "CreateAccessPointRequest$PublicAccessBlockConfiguration": "

The PublicAccessBlock configuration that you want to apply to the access point.

", "CreateMultiRegionAccessPointInput$PublicAccessBlock": null, @@ -1891,7 +1915,7 @@ "Buckets$member": null, "JobReport$Bucket": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

", "S3BucketDestination$Arn": "

The Amazon Resource Name (ARN) of the bucket. This property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name

", - "S3CopyObjectOperation$TargetResource": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy objects to a bucket named \"destinationBucket\", set the TargetResource to \"arn:aws:s3:::destinationBucket\".

", + "S3CopyObjectOperation$TargetResource": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy objects to a bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

", "S3JobManifestGenerator$SourceBucket": "

The source bucket used by the ManifestGenerator.

", "S3ManifestOutputLocation$Bucket": "

The bucket ARN the generated manifest should be written to.

" } @@ -2081,9 +2105,9 @@ } }, "S3SetObjectAclOperation": { - "base": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations passes every object to the underlying PUT Object acl API. For more information about the parameters for this operation, see PUT Object acl.

", + "base": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations passes every object to the underlying PutObjectAcl API. For more information about the parameters for this operation, see PutObjectAcl .

", "refs": { - "JobOperation$S3PutObjectAcl": "

Directs the specified job to run a PUT Object acl call on every object in the manifest.

" + "JobOperation$S3PutObjectAcl": "

Directs the specified job to run a PutObjectAcl call on every object in the manifest.

" } }, "S3SetObjectLegalHoldOperation": { @@ -2111,7 +2135,7 @@ } }, "S3Tag": { - "base": "

", + "base": "

A container for a key-value name pair.

", "refs": { "LifecycleRuleFilter$Tag": null, "S3TagSet$member": null @@ -2175,10 +2199,10 @@ "Setting": { "base": null, "refs": { - "PublicAccessBlockConfiguration$BlockPublicAcls": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior:

Enabling this setting doesn't affect existing policies or ACLs.

This is not supported for Amazon S3 on Outposts.

", - "PublicAccessBlockConfiguration$IgnorePublicAcls": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

This is not supported for Amazon S3 on Outposts.

", - "PublicAccessBlockConfiguration$BlockPublicPolicy": "

Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

Enabling this setting doesn't affect existing bucket policies.

This is not supported for Amazon S3 on Outposts.

", - "PublicAccessBlockConfiguration$RestrictPublicBuckets": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only Amazon Web Service principals and authorized users within this account.

Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

This is not supported for Amazon S3 on Outposts.

" + "PublicAccessBlockConfiguration$BlockPublicAcls": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior:

Enabling this setting doesn't affect existing policies or ACLs.

This property is not supported for Amazon S3 on Outposts.

", + "PublicAccessBlockConfiguration$IgnorePublicAcls": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

This property is not supported for Amazon S3 on Outposts.

", + "PublicAccessBlockConfiguration$BlockPublicPolicy": "

Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

Enabling this setting doesn't affect existing bucket policies.

This property is not supported for Amazon S3 on Outposts.

", + "PublicAccessBlockConfiguration$RestrictPublicBuckets": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only Amazon Web Service principals and authorized users within this account.

Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

This property is not supported for Amazon S3 on Outposts.

" } }, "StorageLensArn": { @@ -2267,14 +2291,14 @@ "TagKeyString": { "base": null, "refs": { - "S3Tag$Key": "

", + "S3Tag$Key": "

Key of the tag

", "StorageLensTag$Key": "

" } }, "TagValueString": { "base": null, "refs": { - "S3Tag$Value": "

", + "S3Tag$Value": "

Value of the tag

", "StorageLensTag$Value": "

" } }, diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json index ffbc5f395b7..b94b62821a1 100644 --- a/models/apis/secretsmanager/2017-10-17/docs-2.json +++ b/models/apis/secretsmanager/2017-10-17/docs-2.json @@ -17,7 +17,7 @@ "RemoveRegionsFromReplication": "

For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RemoveRegionsFromReplication. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "ReplicateSecretToRegions": "

Replicates the secret to a new Regions. See Multi-Region secrets.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ReplicateSecretToRegions. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "RestoreSecret": "

Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. You can access a secret again after it has been restored.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RestoreSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "RotateSecret": "

Configures and starts the asynchronous process of rotating the secret. For more information about rotation, see Rotate secrets.

If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the secret value is in the JSON structure of a database secret. In particular, if you want to use the alternating users strategy, your secret must contain the ARN of a superuser secret.

To configure rotation, you also need the ARN of an Amazon Web Services Lambda function and the schedule for the rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the database or service to match. After testing the new credentials, the function marks the new secret version with the staging label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more information, see How rotation works.

You can create the Lambda rotation function based on the rotation function templates that Secrets Manager provides. Choose a template that matches your Rotation strategy.

When rotation is successful, the AWSPENDING staging label might be attached to the same version as the AWSCURRENT version, or it might not be attached to any version. If the AWSPENDING staging label is present but not attached to the same version as AWSCURRENT, then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction permissions on the rotation function. For more information, see Permissions for rotation.

", + "RotateSecret": "

Configures and starts the asynchronous process of rotating the secret. For more information about rotation, see Rotate secrets.

If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the secret value is in the JSON structure of a database secret. In particular, if you want to use the alternating users strategy, your secret must contain the ARN of a superuser secret.

To configure rotation, you also need the ARN of an Amazon Web Services Lambda function and the schedule for the rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the database or service to match. After testing the new credentials, the function marks the new secret version with the staging label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more information, see How rotation works.

You can create the Lambda rotation function based on the rotation function templates that Secrets Manager provides. Choose a template that matches your Rotation strategy.

When rotation is successful, the AWSPENDING staging label might be attached to the same version as the AWSCURRENT version, or it might not be attached to any version. If the AWSPENDING staging label is present but not attached to the same version as AWSCURRENT, then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

When rotation is unsuccessful, the AWSPENDING staging label might be attached to an empty secret version. For more information, see Troubleshoot rotation in the Secrets Manager User Guide.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction permissions on the rotation function. For more information, see Permissions for rotation.

", "StopReplicationToReplica": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

You must call this operation from the Region in which you want to promote the replica to a primary secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:StopReplicationToReplica. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "TagResource": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

The following restrictions apply to tags:

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "UntagResource": "

Removes specific tags from a secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UntagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", @@ -36,14 +36,14 @@ "AutomaticallyRotateAfterDaysType": { "base": null, "refs": { - "RotationRulesType$AutomaticallyAfterDays": "

The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.

In DescribeSecret and ListSecrets, this value is calculated from the rotation schedule after every successful rotation. In RotateSecret, you can set the rotation schedule in RotationRules with AutomaticallyAfterDays or ScheduleExpression, but not both.

" + "RotationRulesType$AutomaticallyAfterDays": "

The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.

In DescribeSecret and ListSecrets, this value is calculated from the rotation schedule after every successful rotation. In RotateSecret, you can set the rotation schedule in RotationRules with AutomaticallyAfterDays or ScheduleExpression, but not both. To set a rotation schedule in hours, use ScheduleExpression.

" } }, "BooleanType": { "base": null, "refs": { "CreateSecretRequest$ForceOverwriteReplicaSecret": "

Specifies whether to overwrite a secret with the same name in the destination Region.

", - "DeleteSecretRequest$ForceDeleteWithoutRecovery": "

Specifies whether to delete the secret without any recovery window. You can't use both this parameter and RecoveryWindowInDays in the same call. If you don't use either, then Secrets Manager defaults to a 30 day recovery window.

Secrets Manager performs the actual deletion with an asynchronous background process, so there might be a short delay before the secret is permanently deleted. If you delete a secret and then immediately create a secret with the same name, use appropriate back off and retry logic.

Use this parameter with caution. This parameter causes the operation to skip the normal recovery window before the permanent deletion that Secrets Manager would normally impose with the RecoveryWindowInDays parameter. If you delete a secret with the ForceDeleteWithouRecovery parameter, then you have no opportunity to recover the secret. You lose the secret permanently.

", + "DeleteSecretRequest$ForceDeleteWithoutRecovery": "

Specifies whether to delete the secret without any recovery window. You can't use both this parameter and RecoveryWindowInDays in the same call. If you don't use either, then Secrets Manager defaults to a 30 day recovery window.

Secrets Manager performs the actual deletion with an asynchronous background process, so there might be a short delay before the secret is permanently deleted. If you delete a secret and then immediately create a secret with the same name, use appropriate back off and retry logic.

Use this parameter with caution. This parameter causes the operation to skip the normal recovery window before the permanent deletion that Secrets Manager would normally impose with the RecoveryWindowInDays parameter. If you delete a secret with the ForceDeleteWithoutRecovery parameter, then you have no opportunity to recover the secret. You lose the secret permanently.

", "ListSecretVersionIdsRequest$IncludeDeprecated": "

Specifies whether to include versions of secrets that don't have any staging labels attached to them. Versions without staging labels are considered deprecated and are subject to deletion by Secrets Manager.

", "PutResourcePolicyRequest$BlockPublicPolicy": "

Specifies whether to block resource-based policies that allow broad access to the secret, for example those that use a wildcard for the principal.

", "ReplicateSecretToRegionsRequest$ForceOverwriteReplicaSecret": "

Specifies whether to overwrite a secret with the same name in the destination Region.

", @@ -147,7 +147,7 @@ "DurationType": { "base": null, "refs": { - "RotationRulesType$Duration": "

The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not go into the next UTC day. If you don't specify this value, the window automatically ends at the end of the UTC day. The window begins according to the ScheduleExpression. For more information, including examples, see Schedule expressions in Secrets Manager rotation.

" + "RotationRulesType$Duration": "

The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ScheduleExpression. If you don't specify a Duration, for a ScheduleExpression in hours, the window automatically closes after one hour. For a ScheduleExpression in days, the window automatically closes at the end of the UTC day. For more information, including examples, see Schedule expressions in Secrets Manager rotation in the Secrets Manager Users Guide.

" } }, "EncryptionFailure": { @@ -568,7 +568,7 @@ "ScheduleExpressionType": { "base": null, "refs": { - "RotationRulesType$ScheduleExpression": "

A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone.

Secrets Manager rate() expressions represent the interval in days that you want to rotate your secret, for example rate(10 days). If you use a rate() expression, the rotation window opens at midnight, and Secrets Manager rotates your secret any time that day after midnight. You can set a Duration to shorten the rotation window.

You can use a cron() expression to create rotation schedules that are more detailed than a rotation interval. For more information, including examples, see Schedule expressions in Secrets Manager rotation. If you use a cron() expression, Secrets Manager rotates your secret any time during that day after the window opens. For example, cron(0 8 1 * ? *) represents a rotation window that occurs on the first day of every month beginning at 8:00 AM UTC. Secrets Manager rotates the secret any time that day after 8:00 AM. You can set a Duration to shorten the rotation window.

" + "RotationRulesType$ScheduleExpression": "

A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone. Secrets Manager rotates your secret any time during a rotation window.

Secrets Manager rate() expressions represent the interval in hours or days that you want to rotate your secret, for example rate(12 hours) or rate(10 days). You can rotate a secret as often as every four hours. If you use a rate() expression, the rotation window starts at midnight. For a rate in hours, the default rotation window closes after one hour. For a rate in days, the default rotation window closes at the end of the day. You can set the Duration to change the rotation window. The rotation window must not extend into the next UTC day or into the next rotation window.

You can use a cron() expression to create a rotation schedule that is more detailed than a rotation interval. For more information, including examples, see Schedule expressions in Secrets Manager rotation in the Secrets Manager Users Guide. For a cron expression that represents a schedule in hours, the default rotation window closes after one hour. For a cron expression that represents a schedule in days, the default rotation window closes at the end of the day. You can set the Duration to change the rotation window. The rotation window must not extend into the next UTC day or into the next rotation window.

" } }, "SecretARNType": { @@ -721,7 +721,7 @@ "SortOrderType": { "base": null, "refs": { - "ListSecretsRequest$SortOrder": "

Lists secrets in the requested order.

" + "ListSecretsRequest$SortOrder": "

Secrets are listed by CreatedDate.

" } }, "StatusMessageType": { diff --git a/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json b/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json new file mode 100644 index 00000000000..870860755a2 --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://secretsmanager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://secretsmanager-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://secretsmanager.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://secretsmanager.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/secretsmanager/2017-10-17/endpoint-tests-1.json b/models/apis/secretsmanager/2017-10-17/endpoint-tests-1.json new file mode 100644 index 00000000000..38a628fcd12 --- /dev/null +++ b/models/apis/secretsmanager/2017-10-17/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-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": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "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": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "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": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "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": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "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": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://secretsmanager.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/securityhub/2018-10-26/api-2.json b/models/apis/securityhub/2018-10-26/api-2.json index c8ef16bc305..d2e2bf91976 100644 --- a/models/apis/securityhub/2018-10-26/api-2.json +++ b/models/apis/securityhub/2018-10-26/api-2.json @@ -3774,7 +3774,9 @@ "Timeout":{"shape":"Integer"}, "TracingConfig":{"shape":"AwsLambdaFunctionTracingConfig"}, "VpcConfig":{"shape":"AwsLambdaFunctionVpcConfig"}, - "Version":{"shape":"NonEmptyString"} + "Version":{"shape":"NonEmptyString"}, + "Architectures":{"shape":"NonEmptyStringList"}, + "PackageType":{"shape":"NonEmptyString"} } }, "AwsLambdaFunctionEnvironment":{ @@ -7366,7 +7368,9 @@ "PackageManager":{"shape":"NonEmptyString"}, "FilePath":{"shape":"NonEmptyString"}, "FixedInVersion":{"shape":"NonEmptyString"}, - "Remediation":{"shape":"NonEmptyString"} + "Remediation":{"shape":"NonEmptyString"}, + "SourceLayerHash":{"shape":"NonEmptyString"}, + "SourceLayerArn":{"shape":"NonEmptyString"} } }, "SoftwarePackageList":{ diff --git a/models/apis/securityhub/2018-10-26/docs-2.json b/models/apis/securityhub/2018-10-26/docs-2.json index a82ba7c1c1d..bcc5ac0cd6e 100644 --- a/models/apis/securityhub/2018-10-26/docs-2.json +++ b/models/apis/securityhub/2018-10-26/docs-2.json @@ -2200,7 +2200,7 @@ } }, "AwsLambdaFunctionDetails": { - "base": "

Details about a function's configuration.

", + "base": "

Details about an Lambda function's configuration.

", "refs": { "ResourceDetails$AwsLambdaFunction": "

Details about a Lambda function.

" } @@ -5376,6 +5376,7 @@ "AwsLambdaFunctionDetails$Role": "

The function's execution role.

", "AwsLambdaFunctionDetails$Runtime": "

The runtime environment for the Lambda function.

", "AwsLambdaFunctionDetails$Version": "

The version of the Lambda function.

", + "AwsLambdaFunctionDetails$PackageType": "

The type of deployment package that's used to deploy the function code to Lambda. Set to Image for a container image and Zip for a .zip file archive.

", "AwsLambdaFunctionEnvironmentError$ErrorCode": "

The error code.

", "AwsLambdaFunctionEnvironmentError$Message": "

The error message.

", "AwsLambdaFunctionLayer$Arn": "

The ARN of the function layer.

", @@ -5945,6 +5946,8 @@ "SoftwarePackage$FilePath": "

The file system path to the package manager inventory file.

", "SoftwarePackage$FixedInVersion": "

The version of the software package in which the vulnerability has been resolved.

", "SoftwarePackage$Remediation": "

Describes the actions a customer can take to resolve the vulnerability in the software package.

", + "SoftwarePackage$SourceLayerHash": "

The source layer hash of the vulnerable package.

", + "SoftwarePackage$SourceLayerArn": "

The Amazon Resource Name (ARN) of the source layer.

", "SortCriterion$Field": "

The finding attribute used to sort findings.

", "Standard$StandardsArn": "

The ARN of a standard.

", "Standard$Name": "

The name of the standard.

", @@ -6054,6 +6057,7 @@ "AwsElasticsearchDomainVPCOptions$AvailabilityZones": "

The list of Availability Zones associated with the VPC subnets.

", "AwsElasticsearchDomainVPCOptions$SecurityGroupIds": "

The list of security group IDs associated with the VPC endpoints for the domain.

", "AwsElasticsearchDomainVPCOptions$SubnetIds": "

A list of subnet IDs associated with the VPC endpoints for the domain.

", + "AwsLambdaFunctionDetails$Architectures": "

The instruction set architecture that the function uses. Valid values are x86_64 or arm64.

", "AwsLambdaFunctionVpcConfig$SecurityGroupIds": "

A list of VPC security groups IDs.

", "AwsLambdaFunctionVpcConfig$SubnetIds": "

A list of VPC subnet IDs.

", "AwsLambdaLayerVersionDetails$CompatibleRuntimes": "

The layer's compatible runtimes. Maximum number of five items.

Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 | provided

", diff --git a/models/apis/securityhub/2018-10-26/endpoint-tests-1.json b/models/apis/securityhub/2018-10-26/endpoint-tests-1.json index 28d9ea1eea7..9426063f069 100644 --- a/models/apis/securityhub/2018-10-26/endpoint-tests-1.json +++ b/models/apis/securityhub/2018-10-26/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { - "Region": "ap-south-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-south-1" } }, { @@ -21,9 +21,9 @@ } }, "params": { - "Region": "ap-south-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-south-1" } }, { @@ -34,9 +34,9 @@ } }, "params": { - "Region": "ap-south-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-south-1" } }, { @@ -47,9 +47,9 @@ } }, "params": { - "Region": "ap-south-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-south-1" } }, { @@ -60,9 +60,9 @@ } }, "params": { - "Region": "eu-south-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-south-1" } }, { @@ -73,9 +73,9 @@ } }, "params": { - "Region": "eu-south-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-south-1" } }, { @@ -86,9 +86,9 @@ } }, "params": { - "Region": "eu-south-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-south-1" } }, { @@ -99,9 +99,9 @@ } }, "params": { - "Region": "eu-south-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-south-1" } }, { @@ -112,9 +112,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -125,9 +125,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -138,9 +138,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -151,9 +151,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -164,9 +164,9 @@ } }, "params": { - "Region": "ca-central-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ca-central-1" } }, { @@ -177,9 +177,9 @@ } }, "params": { - "Region": "ca-central-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ca-central-1" } }, { @@ -190,9 +190,9 @@ } }, "params": { - "Region": "ca-central-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ca-central-1" } }, { @@ -203,9 +203,9 @@ } }, "params": { - "Region": "ca-central-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ca-central-1" } }, { @@ -216,9 +216,9 @@ } }, "params": { - "Region": "eu-central-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -229,9 +229,9 @@ } }, "params": { - "Region": "eu-central-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -242,9 +242,9 @@ } }, "params": { - "Region": "eu-central-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -255,9 +255,9 @@ } }, "params": { - "Region": "eu-central-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -268,9 +268,9 @@ } }, "params": { - "Region": "us-west-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-west-1" } }, { @@ -281,9 +281,9 @@ } }, "params": { - "Region": "us-west-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-west-1" } }, { @@ -294,9 +294,9 @@ } }, "params": { - "Region": "us-west-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-west-1" } }, { @@ -307,9 +307,9 @@ } }, "params": { - "Region": "us-west-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-west-1" } }, { @@ -320,9 +320,9 @@ } }, "params": { - "Region": "us-west-2", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -333,9 +333,9 @@ } }, "params": { - "Region": "us-west-2", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -346,9 +346,9 @@ } }, "params": { - "Region": "us-west-2", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -359,9 +359,9 @@ } }, "params": { - "Region": "us-west-2", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -372,9 +372,9 @@ } }, "params": { - "Region": "af-south-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "af-south-1" } }, { @@ -385,9 +385,9 @@ } }, "params": { - "Region": "af-south-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "af-south-1" } }, { @@ -398,9 +398,9 @@ } }, "params": { - "Region": "af-south-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "af-south-1" } }, { @@ -411,9 +411,9 @@ } }, "params": { - "Region": "af-south-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "af-south-1" } }, { @@ -424,9 +424,9 @@ } }, "params": { - "Region": "eu-north-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-north-1" } }, { @@ -437,9 +437,9 @@ } }, "params": { - "Region": "eu-north-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-north-1" } }, { @@ -450,9 +450,9 @@ } }, "params": { - "Region": "eu-north-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-north-1" } }, { @@ -463,9 +463,9 @@ } }, "params": { - "Region": "eu-north-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-north-1" } }, { @@ -476,9 +476,9 @@ } }, "params": { - "Region": "eu-west-3", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-west-3" } }, { @@ -489,9 +489,9 @@ } }, "params": { - "Region": "eu-west-3", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-west-3" } }, { @@ -502,9 +502,9 @@ } }, "params": { - "Region": "eu-west-3", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-west-3" } }, { @@ -515,9 +515,9 @@ } }, "params": { - "Region": "eu-west-3", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-west-3" } }, { @@ -528,9 +528,9 @@ } }, "params": { - "Region": "eu-west-2", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -541,9 +541,9 @@ } }, "params": { - "Region": "eu-west-2", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -554,9 +554,9 @@ } }, "params": { - "Region": "eu-west-2", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -567,9 +567,9 @@ } }, "params": { - "Region": "eu-west-2", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -580,9 +580,9 @@ } }, "params": { - "Region": "eu-west-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -593,9 +593,9 @@ } }, "params": { - "Region": "eu-west-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -606,9 +606,9 @@ } }, "params": { - "Region": "eu-west-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -619,9 +619,9 @@ } }, "params": { - "Region": "eu-west-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -632,9 +632,9 @@ } }, "params": { - "Region": "ap-northeast-3", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-northeast-3" } }, { @@ -645,9 +645,9 @@ } }, "params": { - "Region": "ap-northeast-3", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-northeast-3" } }, { @@ -658,9 +658,9 @@ } }, "params": { - "Region": "ap-northeast-3", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-northeast-3" } }, { @@ -671,9 +671,9 @@ } }, "params": { - "Region": "ap-northeast-3", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-northeast-3" } }, { @@ -684,9 +684,9 @@ } }, "params": { - "Region": "ap-northeast-2", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-northeast-2" } }, { @@ -697,9 +697,9 @@ } }, "params": { - "Region": "ap-northeast-2", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-northeast-2" } }, { @@ -710,9 +710,9 @@ } }, "params": { - "Region": "ap-northeast-2", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-northeast-2" } }, { @@ -723,9 +723,9 @@ } }, "params": { - "Region": "ap-northeast-2", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-northeast-2" } }, { @@ -736,9 +736,9 @@ } }, "params": { - "Region": "ap-northeast-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-northeast-1" } }, { @@ -749,9 +749,9 @@ } }, "params": { - "Region": "ap-northeast-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-northeast-1" } }, { @@ -762,9 +762,9 @@ } }, "params": { - "Region": "ap-northeast-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-northeast-1" } }, { @@ -775,9 +775,9 @@ } }, "params": { - "Region": "ap-northeast-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-northeast-1" } }, { @@ -788,9 +788,9 @@ } }, "params": { - "Region": "me-south-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "me-south-1" } }, { @@ -801,9 +801,9 @@ } }, "params": { - "Region": "me-south-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "me-south-1" } }, { @@ -814,9 +814,9 @@ } }, "params": { - "Region": "me-south-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "me-south-1" } }, { @@ -827,9 +827,9 @@ } }, "params": { - "Region": "me-south-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "me-south-1" } }, { @@ -840,9 +840,9 @@ } }, "params": { - "Region": "sa-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "sa-east-1" } }, { @@ -853,9 +853,9 @@ } }, "params": { - "Region": "sa-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "sa-east-1" } }, { @@ -866,9 +866,9 @@ } }, "params": { - "Region": "sa-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "sa-east-1" } }, { @@ -879,9 +879,9 @@ } }, "params": { - "Region": "sa-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "sa-east-1" } }, { @@ -892,9 +892,9 @@ } }, "params": { - "Region": "ap-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-east-1" } }, { @@ -905,9 +905,9 @@ } }, "params": { - "Region": "ap-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-east-1" } }, { @@ -918,9 +918,9 @@ } }, "params": { - "Region": "ap-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-east-1" } }, { @@ -931,9 +931,9 @@ } }, "params": { - "Region": "ap-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-east-1" } }, { @@ -944,9 +944,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "cn-north-1" } }, { @@ -957,9 +957,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "cn-north-1" } }, { @@ -970,9 +970,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "cn-north-1" } }, { @@ -983,9 +983,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "cn-north-1" } }, { @@ -996,9 +996,9 @@ } }, "params": { - "Region": "us-gov-west-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-gov-west-1" } }, { @@ -1009,9 +1009,9 @@ } }, "params": { - "Region": "us-gov-west-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-gov-west-1" } }, { @@ -1022,9 +1022,9 @@ } }, "params": { - "Region": "us-gov-west-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-gov-west-1" } }, { @@ -1035,9 +1035,9 @@ } }, "params": { - "Region": "us-gov-west-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-gov-west-1" } }, { @@ -1048,9 +1048,9 @@ } }, "params": { - "Region": "ap-southeast-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -1061,9 +1061,9 @@ } }, "params": { - "Region": "ap-southeast-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -1074,9 +1074,9 @@ } }, "params": { - "Region": "ap-southeast-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -1087,9 +1087,9 @@ } }, "params": { - "Region": "ap-southeast-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -1100,9 +1100,9 @@ } }, "params": { - "Region": "ap-southeast-2", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -1113,9 +1113,9 @@ } }, "params": { - "Region": "ap-southeast-2", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -1126,9 +1126,9 @@ } }, "params": { - "Region": "ap-southeast-2", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -1139,9 +1139,9 @@ } }, "params": { - "Region": "ap-southeast-2", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -1152,9 +1152,9 @@ } }, "params": { - "Region": "ap-southeast-3", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "ap-southeast-3" } }, { @@ -1165,9 +1165,9 @@ } }, "params": { - "Region": "ap-southeast-3", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "ap-southeast-3" } }, { @@ -1178,9 +1178,9 @@ } }, "params": { - "Region": "ap-southeast-3", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "ap-southeast-3" } }, { @@ -1191,9 +1191,9 @@ } }, "params": { - "Region": "ap-southeast-3", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "ap-southeast-3" } }, { @@ -1204,9 +1204,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -1217,9 +1217,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -1230,9 +1230,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -1243,9 +1243,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -1256,9 +1256,9 @@ } }, "params": { - "Region": "us-east-2", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -1269,9 +1269,9 @@ } }, "params": { - "Region": "us-east-2", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -1282,9 +1282,9 @@ } }, "params": { - "Region": "us-east-2", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -1295,9 +1295,9 @@ } }, "params": { - "Region": "us-east-2", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -1308,9 +1308,9 @@ } }, "params": { - "Region": "cn-northwest-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "cn-northwest-1" } }, { @@ -1321,9 +1321,9 @@ } }, "params": { - "Region": "cn-northwest-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "cn-northwest-1" } }, { @@ -1334,9 +1334,9 @@ } }, "params": { - "Region": "cn-northwest-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "cn-northwest-1" } }, { @@ -1347,9 +1347,9 @@ } }, "params": { - "Region": "cn-northwest-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "cn-northwest-1" } }, { @@ -1360,9 +1360,9 @@ } }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1372,9 +1372,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1384,9 +1384,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json b/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json index b3186089e7b..15261f6810c 100644 --- a/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json +++ b/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json @@ -178,6 +178,17 @@ {"shape":"ConflictException"} ] }, + "GetConfiguration":{ + "name":"GetConfiguration", + "http":{ + "method":"GET", + "requestUri":"/configuration" + }, + "output":{"shape":"GetConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"} + ] + }, "ListApplications":{ "name":"ListApplications", "http":{ @@ -265,6 +276,19 @@ {"shape":"InternalServerException"} ] }, + "PutConfiguration":{ + "name":"PutConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/configuration" + }, + "input":{"shape":"PutConfigurationRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, "SyncResource":{ "name":"SyncResource", "http":{ @@ -318,8 +342,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, - {"shape":"InternalServerException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} ] }, "UpdateAttributeGroup":{ @@ -339,6 +363,12 @@ } }, "shapes":{ + "AppRegistryConfiguration":{ + "type":"structure", + "members":{ + "tagQueryConfiguration":{"shape":"TagQueryConfiguration"} + } + }, "Application":{ "type":"structure", "members":{ @@ -471,7 +501,11 @@ "members":{ "id":{"shape":"AttributeGroupId"}, "arn":{"shape":"AttributeGroupArn"}, - "name":{"shape":"Name"} + "name":{ + "shape":"Name", + "deprecated":true, + "deprecatedMessage":"This field is deprecated. We recommend not using the field when using ListAttributeGroupsForApplication." + } } }, "AttributeGroupDetailsList":{ @@ -751,6 +785,12 @@ "tags":{"shape":"Tags"} } }, + "GetConfigurationResponse":{ + "type":"structure", + "members":{ + "configuration":{"shape":"AppRegistryConfiguration"} + } + }, "Integrations":{ "type":"structure", "members":{ @@ -918,7 +958,7 @@ }, "MaxResults":{ "type":"integer", - "max":25, + "max":100, "min":1 }, "Name":{ @@ -933,6 +973,13 @@ "min":1, "pattern":"[A-Za-z0-9+/=]+" }, + "PutConfigurationRequest":{ + "type":"structure", + "required":["configuration"], + "members":{ + "configuration":{"shape":"AppRegistryConfiguration"} + } + }, "Resource":{ "type":"structure", "members":{ @@ -942,6 +989,12 @@ "integrations":{"shape":"ResourceIntegrations"} } }, + "ResourceDetails":{ + "type":"structure", + "members":{ + "tagValue":{"shape":"TagValue"} + } + }, "ResourceGroup":{ "type":"structure", "members":{ @@ -965,7 +1018,9 @@ "type":"structure", "members":{ "name":{"shape":"ResourceSpecifier"}, - "arn":{"shape":"StackArn"} + "arn":{"shape":"Arn"}, + "resourceType":{"shape":"ResourceType"}, + "resourceDetails":{"shape":"ResourceDetails"} } }, "ResourceIntegrations":{ @@ -990,7 +1045,10 @@ }, "ResourceType":{ "type":"string", - "enum":["CFN_STACK"] + "enum":[ + "CFN_STACK", + "RESOURCE_TAG_VALUE" + ] }, "Resources":{ "type":"list", @@ -1047,7 +1105,13 @@ "type":"string", "max":128, "min":1, - "pattern":"(?!aws:)[a-zA-Z+-=._:/]+" + "pattern":"[a-zA-Z+-=._:/]+" + }, + "TagKeyConfig":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^(?!\\s+$)[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" }, "TagKeys":{ "type":"list", @@ -1055,6 +1119,12 @@ "max":50, "min":0 }, + "TagQueryConfiguration":{ + "type":"structure", + "members":{ + "tagKey":{"shape":"TagKeyConfig"} + } + }, "TagResourceRequest":{ "type":"structure", "required":[ diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json b/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json index a8a9abeb869..72d4cb00388 100644 --- a/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json +++ b/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json @@ -13,12 +13,14 @@ "GetApplication": "

Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.

", "GetAssociatedResource": "

Gets the resource associated with the application.

", "GetAttributeGroup": "

Retrieves an attribute group, either by its name or its ID. The attribute group can be specified either by its unique ID or by its name.

", + "GetConfiguration": "

Retrieves a TagKey configuration from an account.

", "ListApplications": "

Retrieves a list of all of your applications. Results are paginated.

", "ListAssociatedAttributeGroups": "

Lists all attribute groups that are associated with specified application. Results are paginated.

", - "ListAssociatedResources": "

Lists all resources that are associated with specified application. Results are paginated.

", + "ListAssociatedResources": "

Lists all of the resources that are associated with the specified application. Results are paginated.

If you share an application, and a consumer account associates a tag query to the application, all of the users who can access the application can also view the tag values in all accounts that are associated with it using this API.

", "ListAttributeGroups": "

Lists all attribute groups which you have access to. Results are paginated.

", "ListAttributeGroupsForApplication": "

Lists the details of all attribute groups associated with a specific application. The results display in pages.

", "ListTagsForResource": "

Lists all of the tags on the resource.

", + "PutConfiguration": "

Associates a TagKey configuration to an account.

", "SyncResource": "

Syncs the resource with current AppRegistry records.

Specifically, the resource’s AppRegistry system tags sync with its associated application. We remove the resource's AppRegistry system tags if it does not associate with the application. The caller must have permissions to read and update the resource.

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified resource.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value.

This operation returns an empty response if the call was successful.

", "UntagResource": "

Removes tags from a resource.

This operation returns an empty response if the call was successful.

", @@ -26,6 +28,13 @@ "UpdateAttributeGroup": "

Updates an existing attribute group with new details.

" }, "shapes": { + "AppRegistryConfiguration": { + "base": "

Includes all of the Service Catalog AppRegistry settings.

", + "refs": { + "GetConfigurationResponse$configuration": "

Retrieves TagKey configuration from an account.

", + "PutConfigurationRequest$configuration": "

Associates a TagKey configuration to an account.

" + } + }, "Application": { "base": "

Represents a Amazon Web Services Service Catalog AppRegistry application that is the top-level node in a hierarchy of related cloud resource abstractions.

", "refs": { @@ -90,6 +99,7 @@ "DisassociateResourceResponse$resourceArn": "

The Amazon resource name (ARN) that specifies the resource.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon resource name (ARN) that specifies the resource.

", "ResourceGroup$arn": "

The Amazon resource name (ARN) of the resource group.

", + "ResourceInfo$arn": "

The Amazon resource name (ARN) that specifies the resource across services.

", "SyncResourceResponse$resourceArn": "

The Amazon resource name (ARN) that specifies the resource.

", "TagResourceRequest$resourceArn": "

The Amazon resource name (ARN) that specifies the resource.

", "UntagResourceRequest$resourceArn": "

The Amazon resource name (ARN) that specifies the resource.

" @@ -148,7 +158,7 @@ "AttributeGroupDetailsList": { "base": null, "refs": { - "ListAttributeGroupsForApplicationResponse$attributeGroupsDetails": "

The details related to a specific AttributeGroup.

" + "ListAttributeGroupsForApplicationResponse$attributeGroupsDetails": "

The details related to a specific attribute group.

" } }, "AttributeGroupId": { @@ -315,10 +325,15 @@ "refs": { } }, + "GetConfigurationResponse": { + "base": null, + "refs": { + } + }, "Integrations": { "base": "

The information about the service integration.

", "refs": { - "GetApplicationResponse$integrations": "

The information about the integration of the application with other services, such as Resource Groups.

" + "GetApplicationResponse$integrations": "

The information about the integration of the application with other services, such as Resource Groups.

" } }, "InternalServerException": { @@ -402,7 +417,7 @@ "Application$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "ApplicationSummary$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "AttributeGroup$name": "

The name of the attribute group.

", - "AttributeGroupDetails$name": "

The name of the attribute group.

", + "AttributeGroupDetails$name": "

This field is no longer supported. We recommend you don't use the field when using ListAttributeGroupsForApplication.

The name of the attribute group.

", "AttributeGroupSummary$name": "

The name of the attribute group.

", "CreateApplicationRequest$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "CreateAttributeGroupRequest$name": "

The name of the attribute group.

", @@ -427,12 +442,23 @@ "ListAttributeGroupsResponse$nextToken": "

The token to use to get the next page of results after a previous API call.

" } }, + "PutConfigurationRequest": { + "base": null, + "refs": { + } + }, "Resource": { "base": "

The information about the resource.

", "refs": { "GetAssociatedResourceResponse$resource": "

The resource associated with the application.

" } }, + "ResourceDetails": { + "base": "

The details related to the resource.

", + "refs": { + "ResourceInfo$resourceDetails": "

The details related to the resource.

" + } + }, "ResourceGroup": { "base": "

The information about the resource group integration.

", "refs": { @@ -480,6 +506,7 @@ "AssociateResourceRequest$resourceType": "

The type of resource of which the application will be associated.

", "DisassociateResourceRequest$resourceType": "

The type of the resource that is being disassociated.

", "GetAssociatedResourceRequest$resourceType": "

The type of resource associated with the application.

", + "ResourceInfo$resourceType": "

Provides information about the Service Catalog App Registry resource type.

", "SyncResourceRequest$resourceType": "

The type of resource of which the application will be associated.

" } }, @@ -497,8 +524,7 @@ "StackArn": { "base": null, "refs": { - "Resource$arn": "

The Amazon resource name (ARN) of the resource.

", - "ResourceInfo$arn": "

The Amazon resource name (ARN) that specifies the resource across services.

" + "Resource$arn": "

The Amazon resource name (ARN) of the resource.

" } }, "String": { @@ -535,12 +561,24 @@ "Tags$key": null } }, + "TagKeyConfig": { + "base": null, + "refs": { + "TagQueryConfiguration$tagKey": "

Condition in the IAM policy that associates resources to an application.

" + } + }, "TagKeys": { "base": null, "refs": { "UntagResourceRequest$tagKeys": "

A list of the tag keys to remove from the specified resource.

" } }, + "TagQueryConfiguration": { + "base": "

The definition of tagQuery. Specifies which resources are associated with an application.

", + "refs": { + "AppRegistryConfiguration$tagQueryConfiguration": "

Includes the definition of a tagQuery.

" + } + }, "TagResourceRequest": { "base": null, "refs": { @@ -554,6 +592,7 @@ "TagValue": { "base": null, "refs": { + "ResourceDetails$tagValue": "

The value of the tag.

", "Tags$value": null } }, diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json b/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json new file mode 100644 index 00000000000..e2b677e60fb --- /dev/null +++ b/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://servicecatalog-appregistry.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://servicecatalog-appregistry.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://servicecatalog-appregistry.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-tests-1.json b/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-tests-1.json new file mode 100644 index 00000000000..07278e2be4a --- /dev/null +++ b/models/apis/servicecatalog-appregistry/2020-06-24/endpoint-tests-1.json @@ -0,0 +1,1291 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://servicecatalog-appregistry.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/sts/2011-06-15/docs-2.json b/models/apis/sts/2011-06-15/docs-2.json index 6aba17256b7..b15a74e729d 100644 --- a/models/apis/sts/2011-06-15/docs-2.json +++ b/models/apis/sts/2011-06-15/docs-2.json @@ -2,13 +2,13 @@ "version": "2.0", "service": "Security Token Service

Security Token Service (STS) enables you to request temporary, limited-privilege credentials for Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials.

", "operations": { - "AssumeRole": "

Returns a set of temporary security credentials that you can use to access Amazon Web Services resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the Amazon Web Services STS API operations in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any Amazon Web Services service with the following exception: You cannot call the Amazon Web Services 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 policies 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.

When you create a role, you create two policies: A role trust policy that specifies who can assume the role and a permissions policy that specifies what can be done with the role. You specify the trusted principal who is allowed to assume the role in the role trust policy.

To assume a role from a different account, your Amazon Web Services account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account.

To allow a user to assume a role in the same account, you can do either of the following:

You can do either because the role’s trust policy acts as an IAM resource-based policy. When a resource-based policy grants access to a principal in the same account, no additional identity-based policy is required. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

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.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

", - "AssumeRoleWithSAML": "

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 Comparing the Amazon Web Services STS API operations 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 policies 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 session policies 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:

", - "AssumeRoleWithWebIdentity": "

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 Overview in Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the Amazon Web Services SDK for iOS 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 Comparing the Amazon Web Services STS API operations 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 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.

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 policies 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 session policies 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 web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

", + "AssumeRole": "

Returns a set of temporary security credentials that you can use to access Amazon Web Services resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the Amazon Web Services STS API operations in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any Amazon Web Services service with the following exception: You cannot call the Amazon Web Services 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.

When you create a role, you create two policies: A role trust policy that specifies who can assume the role and a permissions policy that specifies what can be done with the role. You specify the trusted principal who is allowed to assume the role in the role trust policy.

To assume a role from a different account, your Amazon Web Services account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account.

To allow a user to assume a role in the same account, you can do either of the following:

You can do either because the role’s trust policy acts as an IAM resource-based policy. When a resource-based policy grants access to a principal in the same account, no additional identity-based policy is required. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

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.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

", + "AssumeRoleWithSAML": "

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 Comparing the Amazon Web Services STS API operations 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:

", + "AssumeRoleWithWebIdentity": "

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 Overview in Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the Amazon Web Services SDK for iOS 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 Comparing the Amazon Web Services STS API operations 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 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.

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 web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

", "DecodeAuthorizationMessage": "

Decodes additional information about the authorization status of a request from an encoded message returned in response to an Amazon Web Services request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some Amazon Web Services operations additionally return an encoded message that can provide details about this authorization failure.

Only certain Amazon Web Services operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can contain privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions through an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

", "GetAccessKeyInfo": "

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the Amazon Web Services account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the Amazon Web Services account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

", "GetCallerIdentity": "

Returns details about the IAM user or role whose credentials are used to call the operation.

No permissions are required to perform this operation. If an administrator adds a policy to your IAM user or role that explicitly denies access to the sts:GetCallerIdentity action, you can still perform this operation. Permissions are not required because the same information is returned when an IAM user or role is denied access. To view an example response, see I Am Not Authorized to Perform: iam:DeleteVirtualMFADevice in the IAM User Guide.

", - "GetFederationToken": "

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the Amazon Web Services STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials obtained by using the Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

You must pass an inline or managed session policy 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 policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

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.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

", + "GetFederationToken": "

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the Amazon Web Services STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials obtained by using the Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

You must pass an inline or managed session policy 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.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

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.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

", "GetSessionToken": "

Returns a set of temporary credentials for an Amazon Web Services account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific Amazon Web Services API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the Amazon Web Services STS API operations in the IAM User Guide.

No permissions are required for users to perform this operation. The purpose of the sts:GetSessionToken operation is to authenticate the user using MFA. You cannot use policies to control authentication operations. For more information, see Permissions for GetSessionToken in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term Amazon Web Services security credentials of the Amazon Web Services account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any Amazon Web Services service with the following exceptions:

We recommend that you do not call GetSessionToken with Amazon Web Services account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with Amazon Web Services.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using Amazon Web Services account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

" }, "shapes": { @@ -342,10 +342,10 @@ "policyDescriptorListType": { "base": null, "refs": { - "AssumeRoleRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies 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.

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.

", - "AssumeRoleWithSAMLRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies 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.

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.

", - "AssumeRoleWithWebIdentityRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies 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.

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.

", - "GetFederationTokenRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy 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 policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

An Amazon Web Services conversion compresses the passed session policies 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.

" + "AssumeRoleRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

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.

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.

", + "AssumeRoleWithSAMLRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

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.

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.

", + "AssumeRoleWithWebIdentityRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

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.

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.

", + "GetFederationTokenRequest$PolicyArns": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy 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. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

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.

" } }, "regionDisabledMessage": { @@ -379,10 +379,10 @@ "sessionPolicyDocumentType": { "base": null, "refs": { - "AssumeRoleRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies 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.

", - "AssumeRoleWithSAMLRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies 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.

", - "AssumeRoleWithWebIdentityRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies 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.

", - "GetFederationTokenRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy 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 policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies 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.

" + "AssumeRoleRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

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.

", + "AssumeRoleWithSAMLRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

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.

", + "AssumeRoleWithWebIdentityRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. 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.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

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.

", + "GetFederationTokenRequest$Policy": "

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy 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.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

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.

" } }, "sourceIdentityType": { @@ -410,8 +410,8 @@ "tagListType": { "base": null, "refs": { - "AssumeRoleRequest$Tags": "

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging Amazon Web Services STS Sessions in the IAM User Guide.

This parameter is optional. 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 session policies 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 already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

", - "GetFederationTokenRequest$Tags": "

A list of 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.

This parameter is optional. 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 session policies 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 already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

" + "AssumeRoleRequest$Tags": "

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging Amazon Web Services STS Sessions in the IAM User Guide.

This parameter is optional. 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 already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

", + "GetFederationTokenRequest$Tags": "

A list of 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.

This parameter is optional. 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 already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

" } }, "tagValueType": { diff --git a/models/apis/sts/2011-06-15/endpoint-rule-set-1.json b/models/apis/sts/2011-06-15/endpoint-rule-set-1.json new file mode 100644 index 00000000000..2f93d97a0c0 --- /dev/null +++ b/models/apis/sts/2011-06-15/endpoint-rule-set-1.json @@ -0,0 +1,876 @@ +{ + "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" + }, + "UseGlobalEndpoint": { + "builtIn": "AWS::STS::UseGlobalEndpoint", + "required": true, + "default": false, + "documentation": "Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.", + "type": "Boolean" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-northeast-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-south-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-southeast-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-southeast-2" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ca-central-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-central-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-north-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-2" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-3" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "sa-east-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-2" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-1" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-2" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://sts.{Region}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://sts.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "sts" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://sts.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/sts/2011-06-15/endpoint-tests-1.json b/models/apis/sts/2011-06-15/endpoint-tests-1.json new file mode 100644 index 00000000000..73956a2d456 --- /dev/null +++ b/models/apis/sts/2011-06-15/endpoint-tests-1.json @@ -0,0 +1,2546 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-south-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.me-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.me-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.me-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ca-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-central-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-iso-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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-central-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "aws-global" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.af-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.af-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-north-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.me-south-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.me-south-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.sa-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region ca-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ca-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ca-west-1" + } + }, + { + "documentation": "For region ca-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ca-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ca-west-1" + } + }, + { + "documentation": "For region ca-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ca-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ca-west-1" + } + }, + { + "documentation": "For region ca-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ca-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ca-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-west-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-2" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-3.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-4.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-5 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-5.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-5" + } + }, + { + "documentation": "For region ap-southeast-5 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-5.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-5" + } + }, + { + "documentation": "For region ap-southeast-5 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-5.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-5" + } + }, + { + "documentation": "For region ap-southeast-5 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-5.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-5" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region ap-southeast-6 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-6.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "ap-southeast-6" + } + }, + { + "documentation": "For region ap-southeast-6 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.ap-southeast-6.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "ap-southeast-6" + } + }, + { + "documentation": "For region ap-southeast-6 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-6.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "ap-southeast-6" + } + }, + { + "documentation": "For region ap-southeast-6 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.ap-southeast-6.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "ap-southeast-6" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.us-east-2.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-east-2.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://sts.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-northwest-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sts.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "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": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "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": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `ap-northeast-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "ap-northeast-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `ap-south-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "ap-south-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `ap-southeast-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "ap-southeast-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `ap-southeast-2`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "ap-southeast-2", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `aws-global`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "aws-global", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "aws-global", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `ca-central-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "ca-central-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `eu-central-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "eu-central-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `eu-north-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "eu-north-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `eu-west-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "eu-west-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `eu-west-2`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "eu-west-2", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `eu-west-3`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "eu-west-3", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `sa-east-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "sa-east-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `us-east-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `us-east-2`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-2", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `us-west-1`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-1", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region `us-west-2`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://sts.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with Non-legacy region `us-east-3`", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-3" + } + ] + }, + "url": "https://sts.us-east-3.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-3", + "AWS::STS::UseGlobalEndpoint": true + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-east-3", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true + } + }, + { + "documentation": "UseGlobalEndpoint with legacy region and custom endpoint", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-1", + "AWS::STS::UseGlobalEndpoint": true, + "SDK::Endpoint": "https://example.com" + }, + "operationName": "GetCallerIdentity" + } + ], + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/textract/2018-06-27/api-2.json b/models/apis/textract/2018-06-27/api-2.json index 6bbf8d69117..0c50bcf6c6f 100644 --- a/models/apis/textract/2018-06-27/api-2.json +++ b/models/apis/textract/2018-06-27/api-2.json @@ -330,7 +330,8 @@ "MERGED_CELL", "TITLE", "QUERY", - "QUERY_RESULT" + "QUERY_RESULT", + "SIGNATURE" ] }, "BoundingBox":{ @@ -485,7 +486,8 @@ "enum":[ "TABLES", "FORMS", - "QUERIES" + "QUERIES", + "SIGNATURES" ] }, "FeatureTypes":{ diff --git a/models/apis/textract/2018-06-27/docs-2.json b/models/apis/textract/2018-06-27/docs-2.json index 0ea7f2c483a..06d708d4fff 100644 --- a/models/apis/textract/2018-06-27/docs-2.json +++ b/models/apis/textract/2018-06-27/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "

Amazon Textract detects and analyzes text in documents and converts it into machine-readable text. This is the API reference documentation for Amazon Textract.

", "operations": { - "AnalyzeDocument": "

Analyzes an input document for relationships between detected items.

The types of information returned are as follows:

Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

You can choose which type of analysis to perform by specifying the FeatureTypes list.

The output is returned in a list of Block objects.

AnalyzeDocument is a synchronous operation. To analyze documents asynchronously, use StartDocumentAnalysis.

For more information, see Document Text Analysis.

", + "AnalyzeDocument": "

Analyzes an input document for relationships between detected items.

The types of information returned are as follows:

Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

You can choose which type of analysis to perform by specifying the FeatureTypes list.

The output is returned in a list of Block objects.

AnalyzeDocument is a synchronous operation. To analyze documents asynchronously, use StartDocumentAnalysis.

For more information, see Document Text Analysis.

", "AnalyzeExpense": "

AnalyzeExpense synchronously analyzes an input document for financially related relationships between text.

Information is returned as ExpenseDocuments and seperated as follows:

", "AnalyzeID": "

Analyzes identity documents for relevant information. This information is extracted and returned as IdentityDocumentFields, which records both the normalized field and value of the extracted text.Unlike other Amazon Textract operations, AnalyzeID doesn't return any Geometry data.

", "DetectDocumentText": "

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be in one of the following image formats: JPEG, PNG, PDF, or TIFF. DetectDocumentText returns the detected text in an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

For more information, see Document Text Detection.

", @@ -81,7 +81,7 @@ "BlockType": { "base": null, "refs": { - "Block$BlockType": "

The type of text item that's recognized. In operations for text detection, the following types are returned:

In text analysis operations, the following types are returned:

" + "Block$BlockType": "

The type of text item that's recognized. In operations for text detection, the following types are returned:

In text analysis operations, the following types are returned:

" } }, "BoundingBox": { @@ -244,7 +244,7 @@ "FeatureTypes": { "base": null, "refs": { - "AnalyzeDocumentRequest$FeatureTypes": "

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

", + "AnalyzeDocumentRequest$FeatureTypes": "

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. To perform both forms and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within form data and table data, add SIGNATURES to either TABLES or FORMS. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

", "StartDocumentAnalysisRequest$FeatureTypes": "

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

" } }, diff --git a/models/apis/textract/2018-06-27/endpoint-tests-1.json b/models/apis/textract/2018-06-27/endpoint-tests-1.json index 40ad9a46b82..b214b6b29ca 100644 --- a/models/apis/textract/2018-06-27/endpoint-tests-1.json +++ b/models/apis/textract/2018-06-27/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true + "Region": "ap-south-1" } }, { @@ -21,9 +21,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false + "Region": "ap-south-1" } }, { @@ -34,9 +34,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true + "Region": "ap-south-1" } }, { @@ -47,9 +47,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false + "Region": "ap-south-1" } }, { @@ -60,9 +60,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -73,9 +73,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -86,9 +86,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -99,9 +99,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -112,9 +112,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true + "Region": "ca-central-1" } }, { @@ -125,9 +125,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false + "Region": "ca-central-1" } }, { @@ -138,9 +138,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true + "Region": "ca-central-1" } }, { @@ -151,9 +151,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false + "Region": "ca-central-1" } }, { @@ -164,9 +164,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -177,9 +177,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -190,9 +190,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "Region": "eu-central-1" } }, { @@ -203,9 +203,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false + "Region": "eu-central-1" } }, { @@ -216,9 +216,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true + "Region": "us-west-1" } }, { @@ -229,9 +229,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false + "Region": "us-west-1" } }, { @@ -242,9 +242,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true + "Region": "us-west-1" } }, { @@ -255,9 +255,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false + "Region": "us-west-1" } }, { @@ -268,9 +268,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -281,9 +281,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -294,9 +294,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "Region": "us-west-2" } }, { @@ -307,9 +307,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false + "Region": "us-west-2" } }, { @@ -320,9 +320,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true + "Region": "eu-west-3" } }, { @@ -333,9 +333,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false + "Region": "eu-west-3" } }, { @@ -346,9 +346,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true + "Region": "eu-west-3" } }, { @@ -359,9 +359,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false + "Region": "eu-west-3" } }, { @@ -372,9 +372,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -385,9 +385,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -398,9 +398,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "Region": "eu-west-2" } }, { @@ -411,9 +411,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false + "Region": "eu-west-2" } }, { @@ -424,9 +424,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -437,9 +437,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -450,9 +450,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true + "Region": "eu-west-1" } }, { @@ -463,9 +463,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false + "Region": "eu-west-1" } }, { @@ -476,9 +476,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true + "Region": "ap-northeast-2" } }, { @@ -489,9 +489,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false + "Region": "ap-northeast-2" } }, { @@ -502,9 +502,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true + "Region": "ap-northeast-2" } }, { @@ -515,9 +515,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false + "Region": "ap-northeast-2" } }, { @@ -528,9 +528,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true + "Region": "us-gov-west-1" } }, { @@ -541,9 +541,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false + "Region": "us-gov-west-1" } }, { @@ -554,9 +554,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true + "Region": "us-gov-west-1" } }, { @@ -567,9 +567,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false + "Region": "us-gov-west-1" } }, { @@ -580,9 +580,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -593,9 +593,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -606,9 +606,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "ap-southeast-1" } }, { @@ -619,9 +619,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "ap-southeast-1" } }, { @@ -632,9 +632,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -645,9 +645,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -658,9 +658,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "ap-southeast-2" } }, { @@ -671,9 +671,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "ap-southeast-2" } }, { @@ -682,9 +682,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true + "Region": "us-iso-east-1" } }, { @@ -695,9 +695,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false + "Region": "us-iso-east-1" } }, { @@ -706,9 +706,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true + "Region": "us-iso-east-1" } }, { @@ -719,9 +719,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false + "Region": "us-iso-east-1" } }, { @@ -732,9 +732,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -745,9 +745,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -758,9 +758,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -771,9 +771,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -784,9 +784,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -797,9 +797,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -810,9 +810,9 @@ } }, "params": { + "UseDualStack": true, "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-east-2" } }, { @@ -823,9 +823,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "Region": "us-east-2" } }, { @@ -836,9 +836,9 @@ } }, "params": { + "UseDualStack": false, "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -848,9 +848,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "UseDualStack": false, "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -860,9 +860,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "UseDualStack": true, "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": true, "Endpoint": "https://example.com" } } diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index 9e11c582384..d6a3e325576 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -129,6 +129,22 @@ {"shape":"AccessDeniedException"} ] }, + "CreateStandbyWorkspaces":{ + "name":"CreateStandbyWorkspaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStandbyWorkspacesRequest"}, + "output":{"shape":"CreateStandbyWorkspacesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"} + ] + }, "CreateTags":{ "name":"CreateTags", "http":{ @@ -760,7 +776,8 @@ "errors":[ {"shape":"InvalidParameterValuesException"}, {"shape":"InvalidResourceStateException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotSupportedException"} ] }, "RebootWorkspaces":{ @@ -770,7 +787,10 @@ "requestUri":"/" }, "input":{"shape":"RebootWorkspacesRequest"}, - "output":{"shape":"RebootWorkspacesResult"} + "output":{"shape":"RebootWorkspacesResult"}, + "errors":[ + {"shape":"OperationNotSupportedException"} + ] }, "RebuildWorkspaces":{ "name":"RebuildWorkspaces", @@ -779,7 +799,10 @@ "requestUri":"/" }, "input":{"shape":"RebuildWorkspacesRequest"}, - "output":{"shape":"RebuildWorkspacesResult"} + "output":{"shape":"RebuildWorkspacesResult"}, + "errors":[ + {"shape":"OperationNotSupportedException"} + ] }, "RegisterWorkspaceDirectory":{ "name":"RegisterWorkspaceDirectory", @@ -811,7 +834,8 @@ "errors":[ {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"OperationNotSupportedException"} ] }, "RevokeIpRules":{ @@ -916,7 +940,8 @@ {"shape":"AccessDeniedException"}, {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceUnavailableException"} + {"shape":"ResourceUnavailableException"}, + {"shape":"OperationNotSupportedException"} ] }, "UpdateWorkspaceImagePermission":{ @@ -1081,6 +1106,13 @@ "member":{"shape":"WorkspaceBundle"} }, "BundleOwner":{"type":"string"}, + "BundleType":{ + "type":"string", + "enum":[ + "REGULAR", + "STANDBY" + ] + }, "CertificateAuthorityArn":{ "type":"string", "max":200, @@ -1352,6 +1384,24 @@ "GroupId":{"shape":"IpGroupId"} } }, + "CreateStandbyWorkspacesRequest":{ + "type":"structure", + "required":[ + "PrimaryRegion", + "StandbyWorkspaces" + ], + "members":{ + "PrimaryRegion":{"shape":"Region"}, + "StandbyWorkspaces":{"shape":"StandbyWorkspacesList"} + } + }, + "CreateStandbyWorkspacesResult":{ + "type":"structure", + "members":{ + "FailedStandbyRequests":{"shape":"FailedCreateStandbyWorkspacesRequestList"}, + "PendingStandbyRequests":{"shape":"PendingCreateStandbyWorkspacesRequestList"} + } + }, "CreateTagsRequest":{ "type":"structure", "required":[ @@ -1943,6 +1993,18 @@ "ErrorType":{"type":"string"}, "ExceptionErrorCode":{"type":"string"}, "ExceptionMessage":{"type":"string"}, + "FailedCreateStandbyWorkspacesRequest":{ + "type":"structure", + "members":{ + "StandbyWorkspaceRequest":{"shape":"StandbyWorkspace"}, + "ErrorCode":{"shape":"WorkspaceErrorCode"}, + "ErrorMessage":{"shape":"Description"} + } + }, + "FailedCreateStandbyWorkspacesRequestList":{ + "type":"list", + "member":{"shape":"FailedCreateStandbyWorkspacesRequest"} + }, "FailedCreateWorkspaceRequest":{ "type":"structure", "members":{ @@ -2387,6 +2449,19 @@ "max":2048, "min":1 }, + "PendingCreateStandbyWorkspacesRequest":{ + "type":"structure", + "members":{ + "UserName":{"shape":"UserName"}, + "DirectoryId":{"shape":"DirectoryId"}, + "State":{"shape":"WorkspaceState"}, + "WorkspaceId":{"shape":"WorkspaceId"} + } + }, + "PendingCreateStandbyWorkspacesRequestList":{ + "type":"list", + "member":{"shape":"PendingCreateStandbyWorkspacesRequest"} + }, "Protocol":{ "type":"string", "enum":[ @@ -2488,6 +2563,19 @@ "max":20, "min":1 }, + "RelatedWorkspaceProperties":{ + "type":"structure", + "members":{ + "WorkspaceId":{"shape":"WorkspaceId"}, + "Region":{"shape":"Region"}, + "State":{"shape":"WorkspaceState"}, + "Type":{"shape":"StandbyWorkspaceRelationshipType"} + } + }, + "RelatedWorkspaces":{ + "type":"list", + "member":{"shape":"RelatedWorkspaceProperties"} + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -2630,6 +2718,30 @@ "type":"list", "member":{"shape":"Snapshot"} }, + "StandbyWorkspace":{ + "type":"structure", + "required":[ + "PrimaryWorkspaceId", + "DirectoryId" + ], + "members":{ + "PrimaryWorkspaceId":{"shape":"WorkspaceId"}, + "VolumeEncryptionKey":{"shape":"VolumeEncryptionKey"}, + "DirectoryId":{"shape":"DirectoryId"}, + "Tags":{"shape":"TagList"} + } + }, + "StandbyWorkspaceRelationshipType":{ + "type":"string", + "enum":[ + "PRIMARY", + "STANDBY" + ] + }, + "StandbyWorkspacesList":{ + "type":"list", + "member":{"shape":"StandbyWorkspace"} + }, "StartRequest":{ "type":"structure", "members":{ @@ -2894,7 +3006,8 @@ "UserVolumeEncryptionEnabled":{"shape":"BooleanObject"}, "RootVolumeEncryptionEnabled":{"shape":"BooleanObject"}, "WorkspaceProperties":{"shape":"WorkspaceProperties"}, - "ModificationStates":{"shape":"ModificationStateList"} + "ModificationStates":{"shape":"ModificationStateList"}, + "RelatedWorkspaces":{"shape":"RelatedWorkspaces"} } }, "WorkspaceAccessProperties":{ @@ -2922,7 +3035,9 @@ "UserStorage":{"shape":"UserStorage"}, "ComputeType":{"shape":"ComputeType"}, "LastUpdatedTime":{"shape":"Timestamp"}, - "CreationTime":{"shape":"Timestamp"} + "CreationTime":{"shape":"Timestamp"}, + "State":{"shape":"WorkspaceBundleState"}, + "BundleType":{"shape":"BundleType"} } }, "WorkspaceBundleDescription":{ @@ -2937,6 +3052,14 @@ "min":1, "pattern":"^[a-zA-Z0-9_./()\\\\-]+$" }, + "WorkspaceBundleState":{ + "type":"string", + "enum":[ + "AVAILABLE", + "PENDING", + "ERROR" + ] + }, "WorkspaceConnectionStatus":{ "type":"structure", "members":{ diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 0e5d96f8f40..404ce8e4179 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -9,6 +9,7 @@ "CreateConnectClientAddIn": "

Creates a client-add-in for Amazon Connect within a directory. You can create only one Amazon Connect client add-in within a directory.

This client add-in allows WorkSpaces users to seamlessly connect to Amazon Connect.

", "CreateConnectionAlias": "

Creates the specified connection alias for use with cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

", "CreateIpGroup": "

Creates an IP access control group.

An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.

There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.

", + "CreateStandbyWorkspaces": "

Creates a Standby WorkSpace in a secondary region.

", "CreateTags": "

Creates the specified tags for the specified WorkSpaces resource.

", "CreateUpdatedWorkspaceImage": "

Creates a new updated WorkSpace image based on the specified source image. The new updated WorkSpace image has the latest drivers and other updates required by the Amazon WorkSpaces components.

To determine which WorkSpace images need to be updated with the latest Amazon WorkSpaces requirements, use DescribeWorkspaceImages.

", "CreateWorkspaceBundle": "

Creates the specified WorkSpace bundle. For more information about creating WorkSpace bundles, see Create a Custom WorkSpaces Image and Bundle.

", @@ -249,6 +250,12 @@ "WorkspaceBundle$Owner": "

The owner of the bundle. This is the account identifier of the owner, or AMAZON if the bundle is provided by Amazon Web Services.

" } }, + "BundleType": { + "base": null, + "refs": { + "WorkspaceBundle$BundleType": "

The type of WorkSpace bundle.

" + } + }, "CertificateAuthorityArn": { "base": null, "refs": { @@ -492,6 +499,16 @@ "refs": { } }, + "CreateStandbyWorkspacesRequest": { + "base": null, + "refs": { + } + }, + "CreateStandbyWorkspacesResult": { + "base": null, + "refs": { + } + }, "CreateTagsRequest": { "base": null, "refs": { @@ -888,6 +905,7 @@ "base": null, "refs": { "AccountModification$ErrorMessage": "

The text of the error message that is returned if the configuration of BYOL cannot be modified.

", + "FailedCreateStandbyWorkspacesRequest$ErrorMessage": "

The text of the error message that is returned if the Standby WorkSpace could not be created.

", "FailedCreateWorkspaceRequest$ErrorMessage": "

The text of the error message that is returned if the WorkSpace cannot be created.

", "FailedWorkspaceChangeRequest$ErrorMessage": "

The text of the error message that is returned if the WorkSpace cannot be rebooted.

", "Workspace$ErrorMessage": "

The text of the error message that is returned if the WorkSpace cannot be created.

", @@ -915,7 +933,9 @@ "ModifySelfservicePermissionsRequest$ResourceId": "

The identifier of the directory.

", "ModifyWorkspaceAccessPropertiesRequest$ResourceId": "

The identifier of the directory.

", "ModifyWorkspaceCreationPropertiesRequest$ResourceId": "

The identifier of the directory.

", + "PendingCreateStandbyWorkspacesRequest$DirectoryId": "

The identifier of the directory for the Standby WorkSpace.

", "RegisterWorkspaceDirectoryRequest$DirectoryId": "

The identifier of the directory. You cannot register a directory if it does not have a status of Active. If the directory does not have a status of Active, you will receive an InvalidResourceStateException error. If you have already registered the maximum number of directories that you can register with Amazon WorkSpaces, you will receive a ResourceLimitExceededException error. Deregister directories that you are not using for WorkSpaces, and try again.

", + "StandbyWorkspace$DirectoryId": "

The identifier of the directory for the Standby WorkSpace.

", "UpdateConnectClientAddInRequest$ResourceId": "

The directory identifier for which the client add-in is configured.

", "Workspace$DirectoryId": "

The identifier of the Directory Service directory for the WorkSpace.

", "WorkspaceDirectory$DirectoryId": "

The directory identifier.

", @@ -1004,6 +1024,18 @@ "WorkspacesDefaultRoleNotFoundException$message": null } }, + "FailedCreateStandbyWorkspacesRequest": { + "base": "

Describes the Standby WorkSpace that could not be created.

", + "refs": { + "FailedCreateStandbyWorkspacesRequestList$member": null + } + }, + "FailedCreateStandbyWorkspacesRequestList": { + "base": null, + "refs": { + "CreateStandbyWorkspacesResult$FailedStandbyRequests": "

Information about the Standby WorkSpace that could not be created.

" + } + }, "FailedCreateWorkspaceRequest": { "base": "

Describes a WorkSpace that cannot be created.

", "refs": { @@ -1458,6 +1490,18 @@ "ListAvailableManagementCidrRangesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" } }, + "PendingCreateStandbyWorkspacesRequest": { + "base": "

Information about the Standby WorkSpace.

", + "refs": { + "PendingCreateStandbyWorkspacesRequestList$member": null + } + }, + "PendingCreateStandbyWorkspacesRequestList": { + "base": null, + "refs": { + "CreateStandbyWorkspacesResult$PendingStandbyRequests": "

Information about the Standby WorkSpace that was created.

" + } + }, "Protocol": { "base": null, "refs": { @@ -1528,7 +1572,9 @@ "Region": { "base": null, "refs": { - "CopyWorkspaceImageRequest$SourceRegion": "

The identifier of the source Region.

" + "CopyWorkspaceImageRequest$SourceRegion": "

The identifier of the source Region.

", + "CreateStandbyWorkspacesRequest$PrimaryRegion": "

The Region of the primary WorkSpace.

", + "RelatedWorkspaceProperties$Region": "

The Region of the related WorkSpace.

" } }, "RegisterWorkspaceDirectoryRequest": { @@ -1547,6 +1593,18 @@ "WorkspaceDirectory$RegistrationCode": "

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

" } }, + "RelatedWorkspaceProperties": { + "base": "

Describes the related WorkSpace. The related WorkSpace could be a Standby WorkSpace or Primary WorkSpace related to the specified WorkSpace.

", + "refs": { + "RelatedWorkspaces$member": null + } + }, + "RelatedWorkspaces": { + "base": null, + "refs": { + "Workspace$RelatedWorkspaces": "

The Standby WorkSpace or Primary WorkSpace related to the specified WorkSpace.

" + } + }, "ResourceAlreadyExistsException": { "base": "

The specified resource already exists.

", "refs": { @@ -1675,6 +1733,25 @@ "DescribeWorkspaceSnapshotsResult$RestoreSnapshots": "

Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.

" } }, + "StandbyWorkspace": { + "base": "

Describes a Standby WorkSpace.

", + "refs": { + "FailedCreateStandbyWorkspacesRequest$StandbyWorkspaceRequest": "

Information about the Standby WorkSpace that could not be created.

", + "StandbyWorkspacesList$member": null + } + }, + "StandbyWorkspaceRelationshipType": { + "base": null, + "refs": { + "RelatedWorkspaceProperties$Type": "

Indicates the type of WorkSpace.

" + } + }, + "StandbyWorkspacesList": { + "base": null, + "refs": { + "CreateStandbyWorkspacesRequest$StandbyWorkspaces": "

Information about the Standby WorkSpace to be created.

" + } + }, "StartRequest": { "base": "

Information used to start a WorkSpace.

", "refs": { @@ -1764,6 +1841,7 @@ "DescribeTagsResult$TagList": "

The tags.

", "ImportWorkspaceImageRequest$Tags": "

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

", "RegisterWorkspaceDirectoryRequest$Tags": "

The tags associated with the directory.

", + "StandbyWorkspace$Tags": "

The tags associated with the Standby WorkSpace.

", "WorkspaceRequest$Tags": "

The tags for the WorkSpace.

" } }, @@ -1897,6 +1975,7 @@ "base": null, "refs": { "DescribeWorkspacesRequest$UserName": "

The name of the directory user. You must specify this parameter with DirectoryId.

", + "PendingCreateStandbyWorkspacesRequest$UserName": "

Describes the Standby WorkSpace that was created.

Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call DescribeWorkspaces before the WorkSpace is created, the information returned can be incomplete.

", "Workspace$UserName": "

The user for the WorkSpace.

", "WorkspaceDirectory$CustomerUserName": "

The user name for the service account.

", "WorkspaceRequest$UserName": "

The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.

" @@ -1918,6 +1997,7 @@ "VolumeEncryptionKey": { "base": null, "refs": { + "StandbyWorkspace$VolumeEncryptionKey": "

The volume encryption key of the Standby WorkSpace.

", "Workspace$VolumeEncryptionKey": "

The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

", "WorkspaceRequest$VolumeEncryptionKey": "

The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.

" } @@ -1954,6 +2034,12 @@ "CreateWorkspaceBundleRequest$BundleName": "

The name of the bundle.

" } }, + "WorkspaceBundleState": { + "base": null, + "refs": { + "WorkspaceBundle$State": "

The state of the WorkSpace bundle.

" + } + }, "WorkspaceConnectionStatus": { "base": "

Describes the connection status of a WorkSpace.

", "refs": { @@ -1994,6 +2080,7 @@ "base": null, "refs": { "AccountModification$ErrorCode": "

The error code that is returned if the configuration of BYOL cannot be modified.

", + "FailedCreateStandbyWorkspacesRequest$ErrorCode": "

The error code that is returned if the Standby WorkSpace could not be created.

", "Workspace$ErrorCode": "

The error code that is returned if the WorkSpace cannot be created.

" } }, @@ -2008,9 +2095,12 @@ "MigrateWorkspaceResult$TargetWorkspaceId": "

The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.

", "ModifyWorkspacePropertiesRequest$WorkspaceId": "

The identifier of the WorkSpace.

", "ModifyWorkspaceStateRequest$WorkspaceId": "

The identifier of the WorkSpace.

", + "PendingCreateStandbyWorkspacesRequest$WorkspaceId": "

The identifier of the Standby WorkSpace.

", "RebootRequest$WorkspaceId": "

The identifier of the WorkSpace.

", "RebuildRequest$WorkspaceId": "

The identifier of the WorkSpace.

", + "RelatedWorkspaceProperties$WorkspaceId": "

The identifier of the related WorkSpace.

", "RestoreWorkspaceRequest$WorkspaceId": "

The identifier of the WorkSpace.

", + "StandbyWorkspace$PrimaryWorkspaceId": "

The identifier of the Standby WorkSpace.

", "StartRequest$WorkspaceId": "

The identifier of the WorkSpace.

", "StopRequest$WorkspaceId": "

The identifier of the WorkSpace.

", "TerminateRequest$WorkspaceId": "

The identifier of the WorkSpace.

", @@ -2143,6 +2233,8 @@ "WorkspaceState": { "base": null, "refs": { + "PendingCreateStandbyWorkspacesRequest$State": "

The operational state of the Standby WorkSpace.

", + "RelatedWorkspaceProperties$State": "

Indicates the state of the WorkSpace.

", "Workspace$State": "

The operational state of the WorkSpace.

After a WorkSpace is terminated, the TERMINATED state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.

" } }, diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 9d88cbb411e..7c243a1b204 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -4506,6 +4506,7 @@ "deprecated" : true, "hostname" : "ds-fips.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { @@ -14628,18 +14629,28 @@ "eu-central-1" : { }, "eu-west-2" : { }, "fips-us-east-1" : { - "deprecated" : true + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "voiceid-fips.us-east-1.amazonaws.com" }, "fips-us-west-2" : { - "deprecated" : true + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "voiceid-fips.us-west-2.amazonaws.com" }, "us-east-1" : { "variants" : [ { + "hostname" : "voiceid-fips.us-east-1.amazonaws.com", "tags" : [ "fips" ] } ] }, "us-west-2" : { "variants" : [ { + "hostname" : "voiceid-fips.us-west-2.amazonaws.com", "tags" : [ "fips" ] } ] } @@ -18676,6 +18687,11 @@ } } }, + "ingest.timestream" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "inspector" : { "endpoints" : { "fips-us-gov-east-1" : { diff --git a/service/amplify/api.go b/service/amplify/api.go index 6309e5ac89c..90766e87d1d 100644 --- a/service/amplify/api.go +++ b/service/amplify/api.go @@ -3413,7 +3413,10 @@ type App struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The platform for the Amplify app. + // The platform for the Amplify app. For a static app, set the platform type + // to WEB. For a dynamic server-side rendered (SSR) app, set the platform type + // to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support + // only, set the platform type to WEB_DYNAMIC. // // Platform is a required field Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` @@ -4360,7 +4363,10 @@ type CreateAppInput struct { // String and GoString methods. OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"` - // The platform or framework for an Amplify app. + // The platform for the Amplify app. For a static app, set the platform type + // to WEB. For a dynamic server-side rendered (SSR) app, set the platform type + // to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support + // only, set the platform type to WEB_DYNAMIC. Platform *string `locationName:"platform" type:"string" enum:"Platform"` // The repository for an Amplify app. @@ -9436,7 +9442,10 @@ type UpdateAppInput struct { // String and GoString methods. OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"` - // The platform for an Amplify app. + // The platform for the Amplify app. For a static app, set the platform type + // to WEB. For a dynamic server-side rendered (SSR) app, set the platform type + // to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support + // only, set the platform type to WEB_DYNAMIC. Platform *string `locationName:"platform" type:"string" enum:"Platform"` // The name of the repository for an Amplify app @@ -10362,6 +10371,9 @@ const ( // PlatformWebDynamic is a Platform enum value PlatformWebDynamic = "WEB_DYNAMIC" + + // PlatformWebCompute is a Platform enum value + PlatformWebCompute = "WEB_COMPUTE" ) // Platform_Values returns all elements of the Platform enum @@ -10369,6 +10381,7 @@ func Platform_Values() []string { return []string{ PlatformWeb, PlatformWebDynamic, + PlatformWebCompute, } } diff --git a/service/appflow/api.go b/service/appflow/api.go index 0f5e929895f..5084f5577e2 100644 --- a/service/appflow/api.go +++ b/service/appflow/api.go @@ -2402,6 +2402,12 @@ type AggregationConfig struct { // Specifies whether Amazon AppFlow aggregates the flow records into a single // file, or leave them unaggregated. AggregationType *string `locationName:"aggregationType" type:"string" enum:"AggregationType"` + + // The desired file size, in MB, for each output file that Amazon AppFlow writes + // to the flow destination. For each file, Amazon AppFlow attempts to achieve + // the size that you specify. The actual file sizes might differ from this target + // based on the number and size of the records that each file contains. + TargetFileSize *int64 `locationName:"targetFileSize" type:"long"` } // String returns the string representation. @@ -2428,6 +2434,12 @@ func (s *AggregationConfig) SetAggregationType(v string) *AggregationConfig { return s } +// SetTargetFileSize sets the TargetFileSize field's value. +func (s *AggregationConfig) SetTargetFileSize(v int64) *AggregationConfig { + s.TargetFileSize = &v + return s +} + // The connector-specific credentials required when using Amplitude. type AmplitudeConnectorProfileCredentials struct { _ struct{} `type:"structure"` @@ -5098,6 +5110,11 @@ type CreateFlowInput struct { // uses the Amazon AppFlow-managed KMS key. KmsArn *string `locationName:"kmsArn" min:"20" type:"string"` + // Specifies the configuration that Amazon AppFlow uses when it catalogs the + // data that's transferred by the associated flow. When Amazon AppFlow catalogs + // the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig *MetadataCatalogConfig `locationName:"metadataCatalogConfig" type:"structure"` + // The configuration that controls how Amazon AppFlow retrieves data from the // source connector. // @@ -5168,6 +5185,11 @@ func (s *CreateFlowInput) Validate() error { } } } + if s.MetadataCatalogConfig != nil { + if err := s.MetadataCatalogConfig.Validate(); err != nil { + invalidParams.AddNested("MetadataCatalogConfig", err.(request.ErrInvalidParams)) + } + } if s.SourceFlowConfig != nil { if err := s.SourceFlowConfig.Validate(); err != nil { invalidParams.AddNested("SourceFlowConfig", err.(request.ErrInvalidParams)) @@ -5219,6 +5241,12 @@ func (s *CreateFlowInput) SetKmsArn(v string) *CreateFlowInput { return s } +// SetMetadataCatalogConfig sets the MetadataCatalogConfig field's value. +func (s *CreateFlowInput) SetMetadataCatalogConfig(v *MetadataCatalogConfig) *CreateFlowInput { + s.MetadataCatalogConfig = v + return s +} + // SetSourceFlowConfig sets the SourceFlowConfig field's value. func (s *CreateFlowInput) SetSourceFlowConfig(v *SourceFlowConfig) *CreateFlowInput { s.SourceFlowConfig = v @@ -6742,12 +6770,32 @@ type DescribeFlowOutput struct { // Describes the details of the most recent flow run. LastRunExecutionDetails *ExecutionDetails `locationName:"lastRunExecutionDetails" type:"structure"` + // Describes the metadata catalog, metadata table, and data partitions that + // Amazon AppFlow used for the associated flow run. + LastRunMetadataCatalogDetails []*MetadataCatalogDetail `locationName:"lastRunMetadataCatalogDetails" type:"list"` + // Specifies when the flow was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // Specifies the user name of the account that performed the most recent update. LastUpdatedBy *string `locationName:"lastUpdatedBy" type:"string"` + // Specifies the configuration that Amazon AppFlow uses when it catalogs the + // data that's transferred by the associated flow. When Amazon AppFlow catalogs + // the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig *MetadataCatalogConfig `locationName:"metadataCatalogConfig" type:"structure"` + + // The version number of your data schema. Amazon AppFlow assigns this version + // number. The version number increases by one when you change any of the following + // settings in your flow configuration: + // + // * Source-to-destination field mappings + // + // * Field data types + // + // * Partition keys + SchemaVersion *int64 `locationName:"schemaVersion" type:"long"` + // The configuration that controls how Amazon AppFlow retrieves data from the // source connector. SourceFlowConfig *SourceFlowConfig `locationName:"sourceFlowConfig" type:"structure"` @@ -6841,6 +6889,12 @@ func (s *DescribeFlowOutput) SetLastRunExecutionDetails(v *ExecutionDetails) *De return s } +// SetLastRunMetadataCatalogDetails sets the LastRunMetadataCatalogDetails field's value. +func (s *DescribeFlowOutput) SetLastRunMetadataCatalogDetails(v []*MetadataCatalogDetail) *DescribeFlowOutput { + s.LastRunMetadataCatalogDetails = v + return s +} + // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *DescribeFlowOutput) SetLastUpdatedAt(v time.Time) *DescribeFlowOutput { s.LastUpdatedAt = &v @@ -6853,6 +6907,18 @@ func (s *DescribeFlowOutput) SetLastUpdatedBy(v string) *DescribeFlowOutput { return s } +// SetMetadataCatalogConfig sets the MetadataCatalogConfig field's value. +func (s *DescribeFlowOutput) SetMetadataCatalogConfig(v *MetadataCatalogConfig) *DescribeFlowOutput { + s.MetadataCatalogConfig = v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DescribeFlowOutput) SetSchemaVersion(v int64) *DescribeFlowOutput { + s.SchemaVersion = &v + return s +} + // SetSourceFlowConfig sets the SourceFlowConfig field's value. func (s *DescribeFlowOutput) SetSourceFlowConfig(v *SourceFlowConfig) *DescribeFlowOutput { s.SourceFlowConfig = v @@ -7694,6 +7760,10 @@ type ExecutionRecord struct { // Specifies the time of the most recent update. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + // Describes the metadata catalog, metadata table, and data partitions that + // Amazon AppFlow used for the associated flow run. + MetadataCatalogDetails []*MetadataCatalogDetail `locationName:"metadataCatalogDetails" type:"list"` + // Specifies the start time of the flow run. StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` } @@ -7752,6 +7822,12 @@ func (s *ExecutionRecord) SetLastUpdatedAt(v time.Time) *ExecutionRecord { return s } +// SetMetadataCatalogDetails sets the MetadataCatalogDetails field's value. +func (s *ExecutionRecord) SetMetadataCatalogDetails(v []*MetadataCatalogDetail) *ExecutionRecord { + s.MetadataCatalogDetails = v + return s +} + // SetStartedAt sets the StartedAt field's value. func (s *ExecutionRecord) SetStartedAt(v time.Time) *ExecutionRecord { s.StartedAt = &v @@ -8071,6 +8147,99 @@ func (s *FlowDefinition) SetTriggerType(v string) *FlowDefinition { return s } +// Specifies the configuration that Amazon AppFlow uses when it catalogs your +// data with the Glue Data Catalog. When Amazon AppFlow catalogs your data, +// it stores metadata in Data Catalog tables. This metadata represents the data +// that's transferred by the flow that you configure with these settings. +// +// You can configure a flow with these settings only when the flow destination +// is Amazon S3. +type GlueDataCatalogConfig struct { + _ struct{} `type:"structure"` + + // The name of the Data Catalog database that stores the metadata tables that + // Amazon AppFlow creates in your Amazon Web Services account. These tables + // contain metadata for the data that's transferred by the flow that you configure + // with this parameter. + // + // When you configure a new flow with this parameter, you must specify an existing + // database. + // + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow + // the permissions it needs to create Data Catalog tables, databases, and partitions. + // + // For an example IAM policy that has the required permissions, see Identity-based + // policy examples for Amazon AppFlow (https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html). + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // A naming prefix for each Data Catalog table that Amazon AppFlow creates for + // the flow that you configure with this setting. Amazon AppFlow adds the prefix + // to the beginning of the each table name. + // + // TablePrefix is a required field + TablePrefix *string `locationName:"tablePrefix" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GlueDataCatalogConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GlueDataCatalogConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GlueDataCatalogConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlueDataCatalogConfig"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.TablePrefix == nil { + invalidParams.Add(request.NewErrParamRequired("TablePrefix")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GlueDataCatalogConfig) SetDatabaseName(v string) *GlueDataCatalogConfig { + s.DatabaseName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *GlueDataCatalogConfig) SetRoleArn(v string) *GlueDataCatalogConfig { + s.RoleArn = &v + return s +} + +// SetTablePrefix sets the TablePrefix field's value. +func (s *GlueDataCatalogConfig) SetTablePrefix(v string) *GlueDataCatalogConfig { + s.TablePrefix = &v + return s +} + // The connector-specific profile credentials required by Google Analytics. type GoogleAnalyticsConnectorProfileCredentials struct { _ struct{} `type:"structure"` @@ -9469,6 +9638,130 @@ func (s *MarketoSourceProperties) SetObject(v string) *MarketoSourceProperties { return s } +// Specifies the configuration that Amazon AppFlow uses when it catalogs your +// data. When Amazon AppFlow catalogs your data, it stores metadata in a data +// catalog. +type MetadataCatalogConfig struct { + _ struct{} `type:"structure"` + + // Specifies the configuration that Amazon AppFlow uses when it catalogs your + // data with the Glue Data Catalog. + GlueDataCatalog *GlueDataCatalogConfig `locationName:"glueDataCatalog" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataCatalogConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataCatalogConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MetadataCatalogConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetadataCatalogConfig"} + if s.GlueDataCatalog != nil { + if err := s.GlueDataCatalog.Validate(); err != nil { + invalidParams.AddNested("GlueDataCatalog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlueDataCatalog sets the GlueDataCatalog field's value. +func (s *MetadataCatalogConfig) SetGlueDataCatalog(v *GlueDataCatalogConfig) *MetadataCatalogConfig { + s.GlueDataCatalog = v + return s +} + +// Describes the metadata catalog, metadata table, and data partitions that +// Amazon AppFlow used for the associated flow run. +type MetadataCatalogDetail struct { + _ struct{} `type:"structure"` + + // The type of metadata catalog that Amazon AppFlow used for the associated + // flow run. This parameter returns the following value: + // + // GLUE + // + // The metadata catalog is provided by the Glue Data Catalog. Glue includes + // the Glue Data Catalog as a component. + CatalogType *string `locationName:"catalogType" type:"string" enum:"CatalogType"` + + // Describes the status of the attempt from Amazon AppFlow to register the data + // partitions with the metadata catalog. The data partitions organize the flow + // output into a hierarchical path, such as a folder path in an S3 bucket. Amazon + // AppFlow creates the partitions (if they don't already exist) based on your + // flow configuration. + PartitionRegistrationOutput *RegistrationOutput_ `locationName:"partitionRegistrationOutput" type:"structure"` + + // The name of the table that stores the metadata for the associated flow run. + // The table stores metadata that represents the data that the flow transferred. + // Amazon AppFlow stores the table in the metadata catalog. + TableName *string `locationName:"tableName" type:"string"` + + // Describes the status of the attempt from Amazon AppFlow to register the metadata + // table with the metadata catalog. Amazon AppFlow creates or updates this table + // for the associated flow run. + TableRegistrationOutput *RegistrationOutput_ `locationName:"tableRegistrationOutput" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataCatalogDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MetadataCatalogDetail) GoString() string { + return s.String() +} + +// SetCatalogType sets the CatalogType field's value. +func (s *MetadataCatalogDetail) SetCatalogType(v string) *MetadataCatalogDetail { + s.CatalogType = &v + return s +} + +// SetPartitionRegistrationOutput sets the PartitionRegistrationOutput field's value. +func (s *MetadataCatalogDetail) SetPartitionRegistrationOutput(v *RegistrationOutput_) *MetadataCatalogDetail { + s.PartitionRegistrationOutput = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *MetadataCatalogDetail) SetTableName(v string) *MetadataCatalogDetail { + s.TableName = &v + return s +} + +// SetTableRegistrationOutput sets the TableRegistrationOutput field's value. +func (s *MetadataCatalogDetail) SetTableRegistrationOutput(v *RegistrationOutput_) *MetadataCatalogDetail { + s.TableRegistrationOutput = v + return s +} + // The OAuth 2.0 credentials required for OAuth 2.0 authentication. type OAuth2Credentials struct { _ struct{} `type:"structure"` @@ -9949,13 +10242,33 @@ func (s *OAuthProperties) SetTokenUrl(v string) *OAuthProperties { return s } -// Determines the prefix that Amazon AppFlow applies to the destination folder -// name. You can name your destination folders according to the flow frequency -// and date. +// Specifies elements that Amazon AppFlow includes in the file and folder names +// in the flow destination. type PrefixConfig struct { _ struct{} `type:"structure"` - // Determines the level of granularity that's included in the prefix. + // Specifies whether the destination file path includes either or both of the + // following elements: + // + // EXECUTION_ID + // + // The ID that Amazon AppFlow assigns to the flow run. + // + // SCHEMA_VERSION + // + // The version number of your data schema. Amazon AppFlow assigns this version + // number. The version number increases by one when you change any of the following + // settings in your flow configuration: + // + // * Source-to-destination field mappings + // + // * Field data types + // + // * Partition keys + PathPrefixHierarchy []*string `locationName:"pathPrefixHierarchy" type:"list" enum:"PathPrefix"` + + // Determines the level of granularity for the date and time that's included + // in the prefix. PrefixFormat *string `locationName:"prefixFormat" type:"string" enum:"PrefixFormat"` // Determines the format of the prefix, and whether it applies to the file name, @@ -9981,6 +10294,12 @@ func (s PrefixConfig) GoString() string { return s.String() } +// SetPathPrefixHierarchy sets the PathPrefixHierarchy field's value. +func (s *PrefixConfig) SetPathPrefixHierarchy(v []*string) *PrefixConfig { + s.PathPrefixHierarchy = v + return s +} + // SetPrefixFormat sets the PrefixFormat field's value. func (s *PrefixConfig) SetPrefixFormat(v string) *PrefixConfig { s.PrefixFormat = &v @@ -10460,6 +10779,63 @@ func (s *RegisterConnectorOutput) SetConnectorArn(v string) *RegisterConnectorOu return s } +// Describes the status of an attempt from Amazon AppFlow to register a resource. +// +// When you run a flow that you've configured to use a metadata catalog, Amazon +// AppFlow registers a metadata table and data partitions with that catalog. +// This operation provides the status of that registration attempt. The operation +// also indicates how many related resources Amazon AppFlow created or updated. +type RegistrationOutput_ struct { + _ struct{} `type:"structure"` + + // Explains the status of the registration attempt from Amazon AppFlow. If the + // attempt fails, the message explains why. + Message *string `locationName:"message" type:"string"` + + // Indicates the number of resources that Amazon AppFlow created or updated. + // Possible resources include metadata tables and data partitions. + Result *string `locationName:"result" type:"string"` + + // Indicates the status of the registration attempt from Amazon AppFlow. + Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegistrationOutput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegistrationOutput_) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *RegistrationOutput_) SetMessage(v string) *RegistrationOutput_ { + s.Message = &v + return s +} + +// SetResult sets the Result field's value. +func (s *RegistrationOutput_) SetResult(v string) *RegistrationOutput_ { + s.Result = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RegistrationOutput_) SetStatus(v string) *RegistrationOutput_ { + s.Status = &v + return s +} + // The resource specified in the request (such as the source or destination // connector profile) is not found. type ResourceNotFoundException struct { @@ -14131,6 +14507,11 @@ type UpdateFlowInput struct { // FlowName is a required field FlowName *string `locationName:"flowName" type:"string" required:"true"` + // Specifies the configuration that Amazon AppFlow uses when it catalogs the + // data that's transferred by the associated flow. When Amazon AppFlow catalogs + // the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig *MetadataCatalogConfig `locationName:"metadataCatalogConfig" type:"structure"` + // Contains information about the configuration of the source connector used // in the flow. // @@ -14195,6 +14576,11 @@ func (s *UpdateFlowInput) Validate() error { } } } + if s.MetadataCatalogConfig != nil { + if err := s.MetadataCatalogConfig.Validate(); err != nil { + invalidParams.AddNested("MetadataCatalogConfig", err.(request.ErrInvalidParams)) + } + } if s.SourceFlowConfig != nil { if err := s.SourceFlowConfig.Validate(); err != nil { invalidParams.AddNested("SourceFlowConfig", err.(request.ErrInvalidParams)) @@ -14240,6 +14626,12 @@ func (s *UpdateFlowInput) SetFlowName(v string) *UpdateFlowInput { return s } +// SetMetadataCatalogConfig sets the MetadataCatalogConfig field's value. +func (s *UpdateFlowInput) SetMetadataCatalogConfig(v *MetadataCatalogConfig) *UpdateFlowInput { + s.MetadataCatalogConfig = v + return s +} + // SetSourceFlowConfig sets the SourceFlowConfig field's value. func (s *UpdateFlowInput) SetSourceFlowConfig(v *SourceFlowConfig) *UpdateFlowInput { s.SourceFlowConfig = v @@ -14406,9 +14798,8 @@ type UpsolverS3OutputFormatConfig struct { // S3 bucket. FileType *string `locationName:"fileType" type:"string" enum:"FileType"` - // Determines the prefix that Amazon AppFlow applies to the destination folder - // name. You can name your destination folders according to the flow frequency - // and date. + // Specifies elements that Amazon AppFlow includes in the file and folder names + // in the flow destination. // // PrefixConfig is a required field PrefixConfig *PrefixConfig `locationName:"prefixConfig" type:"structure" required:"true"` @@ -15098,6 +15489,18 @@ func AuthenticationType_Values() []string { } } +const ( + // CatalogTypeGlue is a CatalogType enum value + CatalogTypeGlue = "GLUE" +) + +// CatalogType_Values returns all elements of the CatalogType enum +func CatalogType_Values() []string { + return []string{ + CatalogTypeGlue, + } +} + const ( // ConnectionModePublic is a ConnectionMode enum value ConnectionModePublic = "Public" @@ -15779,6 +16182,9 @@ const ( // OperatorPropertiesKeysIncludeNewFields is a OperatorPropertiesKeys enum value OperatorPropertiesKeysIncludeNewFields = "INCLUDE_NEW_FIELDS" + + // OperatorPropertiesKeysOrderedPartitionKeysList is a OperatorPropertiesKeys enum value + OperatorPropertiesKeysOrderedPartitionKeysList = "ORDERED_PARTITION_KEYS_LIST" ) // OperatorPropertiesKeys_Values returns all elements of the OperatorPropertiesKeys enum @@ -15800,6 +16206,7 @@ func OperatorPropertiesKeys_Values() []string { OperatorPropertiesKeysSubfieldCategoryMap, OperatorPropertiesKeysExcludeSourceFieldsList, OperatorPropertiesKeysIncludeNewFields, + OperatorPropertiesKeysOrderedPartitionKeysList, } } @@ -15895,6 +16302,22 @@ func Operators_Values() []string { } } +const ( + // PathPrefixExecutionId is a PathPrefix enum value + PathPrefixExecutionId = "EXECUTION_ID" + + // PathPrefixSchemaVersion is a PathPrefix enum value + PathPrefixSchemaVersion = "SCHEMA_VERSION" +) + +// PathPrefix_Values returns all elements of the PathPrefix enum +func PathPrefix_Values() []string { + return []string{ + PathPrefixExecutionId, + PathPrefixSchemaVersion, + } +} + const ( // PrefixFormatYear is a PrefixFormat enum value PrefixFormatYear = "YEAR" @@ -16598,6 +17021,9 @@ const ( // TaskTypeValidate is a TaskType enum value TaskTypeValidate = "Validate" + + // TaskTypePartition is a TaskType enum value + TaskTypePartition = "Partition" ) // TaskType_Values returns all elements of the TaskType enum @@ -16612,6 +17038,7 @@ func TaskType_Values() []string { TaskTypePassthrough, TaskTypeTruncate, TaskTypeValidate, + TaskTypePartition, } } diff --git a/service/appregistry/api.go b/service/appregistry/api.go index 003f45f6b63..f5bba716924 100644 --- a/service/appregistry/api.go +++ b/service/appregistry/api.go @@ -998,6 +998,84 @@ func (c *AppRegistry) GetAttributeGroupWithContext(ctx aws.Context, input *GetAt return out, req.Send() } +const opGetConfiguration = "GetConfiguration" + +// GetConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConfiguration for more information on using the GetConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetConfigurationRequest method. +// req, resp := client.GetConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/GetConfiguration +func (c *AppRegistry) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) { + op := &request.Operation{ + Name: opGetConfiguration, + HTTPMethod: "GET", + HTTPPath: "/configuration", + } + + if input == nil { + input = &GetConfigurationInput{} + } + + output = &GetConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfiguration API operation for AWS Service Catalog App Registry. +// +// Retrieves a TagKey configuration from an account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Service Catalog App Registry's +// API operation GetConfiguration for usage and error information. +// +// Returned Error Types: +// - InternalServerException +// The service is experiencing internal problems. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/GetConfiguration +func (c *AppRegistry) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + return out, req.Send() +} + +// GetConfigurationWithContext is the same as GetConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppRegistry) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListApplications = "ListApplications" // ListApplicationsRequest generates a "aws/request.Request" representing the @@ -1329,8 +1407,13 @@ func (c *AppRegistry) ListAssociatedResourcesRequest(input *ListAssociatedResour // ListAssociatedResources API operation for AWS Service Catalog App Registry. // -// Lists all resources that are associated with specified application. Results -// are paginated. +// Lists all of the resources that are associated with the specified application. +// Results are paginated. +// +// If you share an application, and a consumer account associates a tag query +// to the application, all of the users who can access the application can also +// view the tag values in all accounts that are associated with it using this +// API. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1790,6 +1873,93 @@ func (c *AppRegistry) ListTagsForResourceWithContext(ctx aws.Context, input *Lis return out, req.Send() } +const opPutConfiguration = "PutConfiguration" + +// PutConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutConfiguration for more information on using the PutConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutConfigurationRequest method. +// req, resp := client.PutConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/PutConfiguration +func (c *AppRegistry) PutConfigurationRequest(input *PutConfigurationInput) (req *request.Request, output *PutConfigurationOutput) { + op := &request.Operation{ + Name: opPutConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/configuration", + } + + if input == nil { + input = &PutConfigurationInput{} + } + + output = &PutConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutConfiguration API operation for AWS Service Catalog App Registry. +// +// Associates a TagKey configuration to an account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Service Catalog App Registry's +// API operation PutConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// There was a conflict when processing the request (for example, a resource +// with the given name already exists within the account). +// +// - InternalServerException +// The service is experiencing internal problems. +// +// - ValidationException +// The request has invalid or missing parameters. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/PutConfiguration +func (c *AppRegistry) PutConfiguration(input *PutConfigurationInput) (*PutConfigurationOutput, error) { + req, out := c.PutConfigurationRequest(input) + return out, req.Send() +} + +// PutConfigurationWithContext is the same as PutConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See PutConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppRegistry) PutConfigurationWithContext(ctx aws.Context, input *PutConfigurationInput, opts ...request.Option) (*PutConfigurationOutput, error) { + req, out := c.PutConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSyncResource = "SyncResource" // SyncResourceRequest generates a "aws/request.Request" representing the @@ -2121,12 +2291,12 @@ func (c *AppRegistry) UpdateApplicationRequest(input *UpdateApplicationInput) (r // There was a conflict when processing the request (for example, a resource // with the given name already exists within the account). // -// - InternalServerException -// The service is experiencing internal problems. -// // - ValidationException // The request has invalid or missing parameters. // +// - InternalServerException +// The service is experiencing internal problems. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/UpdateApplication func (c *AppRegistry) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) @@ -2238,6 +2408,38 @@ func (c *AppRegistry) UpdateAttributeGroupWithContext(ctx aws.Context, input *Up return out, req.Send() } +// Includes all of the Service Catalog AppRegistry settings. +type AppRegistryConfiguration struct { + _ struct{} `type:"structure"` + + // Includes the definition of a tagQuery. + TagQueryConfiguration *TagQueryConfiguration `locationName:"tagQueryConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppRegistryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppRegistryConfiguration) GoString() string { + return s.String() +} + +// SetTagQueryConfiguration sets the TagQueryConfiguration field's value. +func (s *AppRegistryConfiguration) SetTagQueryConfiguration(v *TagQueryConfiguration) *AppRegistryConfiguration { + s.TagQueryConfiguration = v + return s +} + // Represents a Amazon Web Services Service Catalog AppRegistry application // that is the top-level node in a hierarchy of related cloud resource abstractions. type Application struct { @@ -2739,8 +2941,14 @@ type AttributeGroupDetails struct { // The unique identifier of the attribute group. Id *string `locationName:"id" min:"26" type:"string"` + // + // This field is no longer supported. We recommend you don't use the field when + // using ListAttributeGroupsForApplication. + // // The name of the attribute group. - Name *string `locationName:"name" min:"1" type:"string"` + // + // Deprecated: This field is deprecated. We recommend not using the field when using ListAttributeGroupsForApplication. + Name *string `locationName:"name" min:"1" deprecated:"true" type:"string"` } // String returns the string representation. @@ -3979,6 +4187,59 @@ func (s *GetAttributeGroupOutput) SetTags(v map[string]*string) *GetAttributeGro return s } +type GetConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationInput) GoString() string { + return s.String() +} + +type GetConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Retrieves TagKey configuration from an account. + Configuration *AppRegistryConfiguration `locationName:"configuration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GetConfigurationOutput) SetConfiguration(v *AppRegistryConfiguration) *GetConfigurationOutput { + s.Configuration = v + return s +} + // The information about the service integration. type Integrations struct { _ struct{} `type:"structure"` @@ -4477,7 +4738,7 @@ func (s *ListAttributeGroupsForApplicationInput) SetNextToken(v string) *ListAtt type ListAttributeGroupsForApplicationOutput struct { _ struct{} `type:"structure"` - // The details related to a specific AttributeGroup. + // The details related to a specific attribute group. AttributeGroupsDetails []*AttributeGroupDetails `locationName:"attributeGroupsDetails" type:"list"` // The token to use to get the next page of results after a previous API call. @@ -4691,6 +4952,74 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } +type PutConfigurationInput struct { + _ struct{} `type:"structure"` + + // Associates a TagKey configuration to an account. + // + // Configuration is a required field + Configuration *AppRegistryConfiguration `locationName:"configuration" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutConfigurationInput"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *PutConfigurationInput) SetConfiguration(v *AppRegistryConfiguration) *PutConfigurationInput { + s.Configuration = v + return s +} + +type PutConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfigurationOutput) GoString() string { + return s.String() +} + // The information about the resource. type Resource struct { _ struct{} `type:"structure"` @@ -4750,6 +5079,38 @@ func (s *Resource) SetName(v string) *Resource { return s } +// The details related to the resource. +type ResourceDetails struct { + _ struct{} `type:"structure"` + + // The value of the tag. + TagValue *string `locationName:"tagValue" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceDetails) GoString() string { + return s.String() +} + +// SetTagValue sets the TagValue field's value. +func (s *ResourceDetails) SetTagValue(v string) *ResourceDetails { + s.TagValue = &v + return s +} + // The information about the resource group integration. type ResourceGroup struct { _ struct{} `type:"structure"` @@ -4818,10 +5179,16 @@ type ResourceInfo struct { _ struct{} `type:"structure"` // The Amazon resource name (ARN) that specifies the resource across services. - Arn *string `locationName:"arn" type:"string"` + Arn *string `locationName:"arn" min:"1" type:"string"` // The name of the resource. Name *string `locationName:"name" min:"1" type:"string"` + + // The details related to the resource. + ResourceDetails *ResourceDetails `locationName:"resourceDetails" type:"structure"` + + // Provides information about the Service Catalog App Registry resource type. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` } // String returns the string representation. @@ -4854,6 +5221,18 @@ func (s *ResourceInfo) SetName(v string) *ResourceInfo { return s } +// SetResourceDetails sets the ResourceDetails field's value. +func (s *ResourceInfo) SetResourceDetails(v *ResourceDetails) *ResourceInfo { + s.ResourceDetails = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceInfo) SetResourceType(v string) *ResourceInfo { + s.ResourceType = &v + return s +} + // The service integration information about the resource. type ResourceIntegrations struct { _ struct{} `type:"structure"` @@ -5132,6 +5511,39 @@ func (s *SyncResourceOutput) SetResourceArn(v string) *SyncResourceOutput { return s } +// The definition of tagQuery. Specifies which resources are associated with +// an application. +type TagQueryConfiguration struct { + _ struct{} `type:"structure"` + + // Condition in the IAM policy that associates resources to an application. + TagKey *string `locationName:"tagKey" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagQueryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagQueryConfiguration) GoString() string { + return s.String() +} + +// SetTagKey sets the TagKey field's value. +func (s *TagQueryConfiguration) SetTagKey(v string) *TagQueryConfiguration { + s.TagKey = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -5625,12 +6037,16 @@ func ResourceGroupState_Values() []string { const ( // ResourceTypeCfnStack is a ResourceType enum value ResourceTypeCfnStack = "CFN_STACK" + + // ResourceTypeResourceTagValue is a ResourceType enum value + ResourceTypeResourceTagValue = "RESOURCE_TAG_VALUE" ) // ResourceType_Values returns all elements of the ResourceType enum func ResourceType_Values() []string { return []string{ ResourceTypeCfnStack, + ResourceTypeResourceTagValue, } } diff --git a/service/appregistry/appregistryiface/interface.go b/service/appregistry/appregistryiface/interface.go index aec4313f9e9..be173b43b43 100644 --- a/service/appregistry/appregistryiface/interface.go +++ b/service/appregistry/appregistryiface/interface.go @@ -104,6 +104,10 @@ type AppRegistryAPI interface { GetAttributeGroupWithContext(aws.Context, *appregistry.GetAttributeGroupInput, ...request.Option) (*appregistry.GetAttributeGroupOutput, error) GetAttributeGroupRequest(*appregistry.GetAttributeGroupInput) (*request.Request, *appregistry.GetAttributeGroupOutput) + GetConfiguration(*appregistry.GetConfigurationInput) (*appregistry.GetConfigurationOutput, error) + GetConfigurationWithContext(aws.Context, *appregistry.GetConfigurationInput, ...request.Option) (*appregistry.GetConfigurationOutput, error) + GetConfigurationRequest(*appregistry.GetConfigurationInput) (*request.Request, *appregistry.GetConfigurationOutput) + ListApplications(*appregistry.ListApplicationsInput) (*appregistry.ListApplicationsOutput, error) ListApplicationsWithContext(aws.Context, *appregistry.ListApplicationsInput, ...request.Option) (*appregistry.ListApplicationsOutput, error) ListApplicationsRequest(*appregistry.ListApplicationsInput) (*request.Request, *appregistry.ListApplicationsOutput) @@ -143,6 +147,10 @@ type AppRegistryAPI interface { ListTagsForResourceWithContext(aws.Context, *appregistry.ListTagsForResourceInput, ...request.Option) (*appregistry.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*appregistry.ListTagsForResourceInput) (*request.Request, *appregistry.ListTagsForResourceOutput) + PutConfiguration(*appregistry.PutConfigurationInput) (*appregistry.PutConfigurationOutput, error) + PutConfigurationWithContext(aws.Context, *appregistry.PutConfigurationInput, ...request.Option) (*appregistry.PutConfigurationOutput, error) + PutConfigurationRequest(*appregistry.PutConfigurationInput) (*request.Request, *appregistry.PutConfigurationOutput) + SyncResource(*appregistry.SyncResourceInput) (*appregistry.SyncResourceOutput, error) SyncResourceWithContext(aws.Context, *appregistry.SyncResourceInput, ...request.Option) (*appregistry.SyncResourceOutput, error) SyncResourceRequest(*appregistry.SyncResourceInput) (*request.Request, *appregistry.SyncResourceOutput) diff --git a/service/appsync/api.go b/service/appsync/api.go index 8399be6bc65..6bb01c9e8c2 100644 --- a/service/appsync/api.go +++ b/service/appsync/api.go @@ -739,6 +739,10 @@ func (c *AppSync) CreateResolverRequest(input *CreateResolverInput) (req *reques // - InternalFailureException // An internal AppSync error occurred. Try your request again. // +// - BadRequestException +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver func (c *AppSync) CreateResolver(input *CreateResolverInput) (*CreateResolverOutput, error) { req, out := c.CreateResolverRequest(input) @@ -1489,6 +1493,10 @@ func (c *AppSync) DeleteResolverRequest(input *DeleteResolverInput) (req *reques // - InternalFailureException // An internal AppSync error occurred. Try your request again. // +// - BadRequestException +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver func (c *AppSync) DeleteResolver(input *DeleteResolverInput) (*DeleteResolverOutput, error) { req, out := c.DeleteResolverRequest(input) @@ -1701,6 +1709,98 @@ func (c *AppSync) DisassociateApiWithContext(ctx aws.Context, input *Disassociat return out, req.Send() } +const opEvaluateCode = "EvaluateCode" + +// EvaluateCodeRequest generates a "aws/request.Request" representing the +// client's request for the EvaluateCode operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EvaluateCode for more information on using the EvaluateCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the EvaluateCodeRequest method. +// req, resp := client.EvaluateCodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/EvaluateCode +func (c *AppSync) EvaluateCodeRequest(input *EvaluateCodeInput) (req *request.Request, output *EvaluateCodeOutput) { + op := &request.Operation{ + Name: opEvaluateCode, + HTTPMethod: "POST", + HTTPPath: "/v1/dataplane-evaluatecode", + } + + if input == nil { + input = &EvaluateCodeInput{} + } + + output = &EvaluateCodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// EvaluateCode API operation for AWS AppSync. +// +// Evaluates the given code and returns the response. The code definition requirements +// depend on the specified runtime. For APPSYNC_JS runtimes, the code defines +// the request and response functions. The request function takes the incoming +// request after a GraphQL operation is parsed and converts it into a request +// configuration for the selected data source operation. The response function +// interprets responses from the data source and maps it to the shape of the +// GraphQL field output type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS AppSync's +// API operation EvaluateCode for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have access to perform this operation on this resource. +// +// - InternalFailureException +// An internal AppSync error occurred. Try your request again. +// +// - BadRequestException +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/EvaluateCode +func (c *AppSync) EvaluateCode(input *EvaluateCodeInput) (*EvaluateCodeOutput, error) { + req, out := c.EvaluateCodeRequest(input) + return out, req.Send() +} + +// EvaluateCodeWithContext is the same as EvaluateCode with the addition of +// the ability to pass a context and additional request options. +// +// See EvaluateCode for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppSync) EvaluateCodeWithContext(ctx aws.Context, input *EvaluateCodeInput, opts ...request.Option) (*EvaluateCodeOutput, error) { + req, out := c.EvaluateCodeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEvaluateMappingTemplate = "EvaluateMappingTemplate" // EvaluateMappingTemplateRequest generates a "aws/request.Request" representing the @@ -4539,6 +4639,10 @@ func (c *AppSync) UpdateResolverRequest(input *UpdateResolverInput) (req *reques // - InternalFailureException // An internal AppSync error occurred. Try your request again. // +// - BadRequestException +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver func (c *AppSync) UpdateResolver(input *UpdateResolverInput) (*UpdateResolverOutput, error) { req, out := c.UpdateResolverRequest(input) @@ -5299,6 +5403,70 @@ func (s *ApiLimitExceededException) RequestID() string { return s.RespMetadata.RequestID } +// Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync +// function. Specifies the name and version of the runtime to use. Note that +// if a runtime is specified, code must also be specified. +type AppSyncRuntime struct { + _ struct{} `type:"structure"` + + // The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true" enum:"RuntimeName"` + + // The version of the runtime to use. Currently, the only allowed version is + // 1.0.0. + // + // RuntimeVersion is a required field + RuntimeVersion *string `locationName:"runtimeVersion" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppSyncRuntime) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppSyncRuntime) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AppSyncRuntime) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AppSyncRuntime"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.RuntimeVersion == nil { + invalidParams.Add(request.NewErrParamRequired("RuntimeVersion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AppSyncRuntime) SetName(v string) *AppSyncRuntime { + s.Name = &v + return s +} + +// SetRuntimeVersion sets the RuntimeVersion field's value. +func (s *AppSyncRuntime) SetRuntimeVersion(v string) *AppSyncRuntime { + s.RuntimeVersion = &v + return s +} + type AssociateApiInput struct { _ struct{} `type:"structure"` @@ -5492,13 +5660,54 @@ func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig { return s } +// Provides further details for the reason behind the bad request. For reason +// type CODE_ERROR, the detail will contain a list of code errors. +type BadRequestDetail struct { + _ struct{} `type:"structure"` + + // Contains the list of errors in the request. + CodeErrors []*CodeError `locationName:"codeErrors" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestDetail) GoString() string { + return s.String() +} + +// SetCodeErrors sets the CodeErrors field's value. +func (s *BadRequestDetail) SetCodeErrors(v []*CodeError) *BadRequestDetail { + s.CodeErrors = v + return s +} + // The request is not well formed. For example, a value is invalid or a required // field is missing. Check the field values, and then try again. type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Provides further details for the reason behind the bad request. For reason + // type CODE_ERROR, the detail will contain a list of code errors. + Detail *BadRequestDetail `locationName:"detail" type:"structure"` + Message_ *string `locationName:"message" type:"string"` + + // Provides context for the cause of the bad request. The only supported value + // is CODE_ERROR. + Reason *string `locationName:"reason" type:"string" enum:"BadRequestReason"` } // String returns the string representation. @@ -5544,7 +5753,7 @@ func (s *BadRequestException) OrigErr() error { } func (s *BadRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -5618,6 +5827,111 @@ func (s *CachingConfig) SetTtl(v int64) *CachingConfig { return s } +// Describes an AppSync error. +type CodeError struct { + _ struct{} `type:"structure"` + + // The type of code error. + // + // Examples include, but aren't limited to: LINT_ERROR, PARSER_ERROR. + ErrorType *string `locationName:"errorType" type:"string"` + + // The line, column, and span location of the error in the code. + Location *CodeErrorLocation `locationName:"location" type:"structure"` + + // A user presentable error. + // + // Examples include, but aren't limited to: Parsing error: Unterminated string + // literal. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CodeError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CodeError) GoString() string { + return s.String() +} + +// SetErrorType sets the ErrorType field's value. +func (s *CodeError) SetErrorType(v string) *CodeError { + s.ErrorType = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *CodeError) SetLocation(v *CodeErrorLocation) *CodeError { + s.Location = v + return s +} + +// SetValue sets the Value field's value. +func (s *CodeError) SetValue(v string) *CodeError { + s.Value = &v + return s +} + +// Describes the location of the error in a code sample. +type CodeErrorLocation struct { + _ struct{} `type:"structure"` + + // The column number in the code. Defaults to 0 if unknown. + Column *int64 `locationName:"column" type:"integer"` + + // The line number in the code. Defaults to 0 if unknown. + Line *int64 `locationName:"line" type:"integer"` + + // The span/length of the error. Defaults to -1 if unknown. + Span *int64 `locationName:"span" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CodeErrorLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CodeErrorLocation) GoString() string { + return s.String() +} + +// SetColumn sets the Column field's value. +func (s *CodeErrorLocation) SetColumn(v int64) *CodeErrorLocation { + s.Column = &v + return s +} + +// SetLine sets the Line field's value. +func (s *CodeErrorLocation) SetLine(v int64) *CodeErrorLocation { + s.Line = &v + return s +} + +// SetSpan sets the Span field's value. +func (s *CodeErrorLocation) SetSpan(v int64) *CodeErrorLocation { + s.Span = &v + return s +} + // Describes an Amazon Cognito user pool configuration. type CognitoUserPoolConfig struct { _ struct{} `type:"structure"` @@ -6370,6 +6684,10 @@ type CreateFunctionInput struct { // ApiId is a required field ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + // The function code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The Function DataSource name. // // DataSourceName is a required field @@ -6379,10 +6697,9 @@ type CreateFunctionInput struct { Description *string `locationName:"description" type:"string"` // The version of the request mapping template. Currently, the supported value - // is 2018-05-29. - // - // FunctionVersion is a required field - FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"` + // is 2018-05-29. Note that when using VTL and mapping templates, the functionVersion + // is required. + FunctionVersion *string `locationName:"functionVersion" type:"string"` // The maximum batching size for a resolver. MaxBatchSize *int64 `locationName:"maxBatchSize" type:"integer"` @@ -6399,6 +6716,11 @@ type CreateFunctionInput struct { // The Function response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // Describes a Sync configuration for a resolver. // // Specifies which Conflict Detection strategy and Resolution strategy to use @@ -6433,15 +6755,15 @@ func (s *CreateFunctionInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.Code != nil && len(*s.Code) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Code", 1)) + } if s.DataSourceName == nil { invalidParams.Add(request.NewErrParamRequired("DataSourceName")) } if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) } - if s.FunctionVersion == nil { - invalidParams.Add(request.NewErrParamRequired("FunctionVersion")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -6454,6 +6776,11 @@ func (s *CreateFunctionInput) Validate() error { if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1)) } + if s.Runtime != nil { + if err := s.Runtime.Validate(); err != nil { + invalidParams.AddNested("Runtime", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6467,6 +6794,12 @@ func (s *CreateFunctionInput) SetApiId(v string) *CreateFunctionInput { return s } +// SetCode sets the Code field's value. +func (s *CreateFunctionInput) SetCode(v string) *CreateFunctionInput { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *CreateFunctionInput) SetDataSourceName(v string) *CreateFunctionInput { s.DataSourceName = &v @@ -6509,6 +6842,12 @@ func (s *CreateFunctionInput) SetResponseMappingTemplate(v string) *CreateFuncti return s } +// SetRuntime sets the Runtime field's value. +func (s *CreateFunctionInput) SetRuntime(v *AppSyncRuntime) *CreateFunctionInput { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *CreateFunctionInput) SetSyncConfig(v *SyncConfig) *CreateFunctionInput { s.SyncConfig = v @@ -6745,6 +7084,10 @@ type CreateResolverInput struct { // The caching configuration for the resolver. CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The resolver code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The name of the data source for which the resolver is being created. DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` @@ -6784,6 +7127,11 @@ type CreateResolverInput struct { // The mapping template to use for responses from the data source. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // The SyncConfig for a resolver attached to a versioned data source. SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` @@ -6820,6 +7168,9 @@ func (s *CreateResolverInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.Code != nil && len(*s.Code) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Code", 1)) + } if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) } @@ -6846,6 +7197,11 @@ func (s *CreateResolverInput) Validate() error { invalidParams.AddNested("CachingConfig", err.(request.ErrInvalidParams)) } } + if s.Runtime != nil { + if err := s.Runtime.Validate(); err != nil { + invalidParams.AddNested("Runtime", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6865,6 +7221,12 @@ func (s *CreateResolverInput) SetCachingConfig(v *CachingConfig) *CreateResolver return s } +// SetCode sets the Code field's value. +func (s *CreateResolverInput) SetCode(v string) *CreateResolverInput { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput { s.DataSourceName = &v @@ -6907,6 +7269,12 @@ func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolv return s } +// SetRuntime sets the Runtime field's value. +func (s *CreateResolverInput) SetRuntime(v *AppSyncRuntime) *CreateResolverInput { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *CreateResolverInput) SetSyncConfig(v *SyncConfig) *CreateResolverInput { s.SyncConfig = v @@ -8220,8 +8588,8 @@ func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchData return s } -// Contains the list of errors generated when attempting to evaluate a mapping -// template. +// Contains the list of errors generated. When using JavaScript, this will apply +// to the request or response function evaluation. type ErrorDetail struct { _ struct{} `type:"structure"` @@ -8253,6 +8621,195 @@ func (s *ErrorDetail) SetMessage(v string) *ErrorDetail { return s } +// Contains the list of errors from a code evaluation response. +type EvaluateCodeErrorDetail struct { + _ struct{} `type:"structure"` + + // Contains the list of CodeError objects. + CodeErrors []*CodeError `locationName:"codeErrors" type:"list"` + + // The error payload. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeErrorDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeErrorDetail) GoString() string { + return s.String() +} + +// SetCodeErrors sets the CodeErrors field's value. +func (s *EvaluateCodeErrorDetail) SetCodeErrors(v []*CodeError) *EvaluateCodeErrorDetail { + s.CodeErrors = v + return s +} + +// SetMessage sets the Message field's value. +func (s *EvaluateCodeErrorDetail) SetMessage(v string) *EvaluateCodeErrorDetail { + s.Message = &v + return s +} + +type EvaluateCodeInput struct { + _ struct{} `type:"structure"` + + // The code definition to be evaluated. Note that code and runtime are both + // required for this action. The runtime value must be APPSYNC_JS. + // + // Code is a required field + Code *string `locationName:"code" min:"1" type:"string" required:"true"` + + // The map that holds all of the contextual information for your resolver invocation. + // A context is required for this action. + // + // Context is a required field + Context *string `locationName:"context" min:"2" type:"string" required:"true"` + + // The function within the code to be evaluated. If provided, the valid values + // are request and response. + Function *string `locationName:"function" type:"string"` + + // The runtime to be used when evaluating the code. Currently, only the APPSYNC_JS + // runtime is supported. + // + // Runtime is a required field + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluateCodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluateCodeInput"} + if s.Code == nil { + invalidParams.Add(request.NewErrParamRequired("Code")) + } + if s.Code != nil && len(*s.Code) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Code", 1)) + } + if s.Context == nil { + invalidParams.Add(request.NewErrParamRequired("Context")) + } + if s.Context != nil && len(*s.Context) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Context", 2)) + } + if s.Runtime == nil { + invalidParams.Add(request.NewErrParamRequired("Runtime")) + } + if s.Runtime != nil { + if err := s.Runtime.Validate(); err != nil { + invalidParams.AddNested("Runtime", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCode sets the Code field's value. +func (s *EvaluateCodeInput) SetCode(v string) *EvaluateCodeInput { + s.Code = &v + return s +} + +// SetContext sets the Context field's value. +func (s *EvaluateCodeInput) SetContext(v string) *EvaluateCodeInput { + s.Context = &v + return s +} + +// SetFunction sets the Function field's value. +func (s *EvaluateCodeInput) SetFunction(v string) *EvaluateCodeInput { + s.Function = &v + return s +} + +// SetRuntime sets the Runtime field's value. +func (s *EvaluateCodeInput) SetRuntime(v *AppSyncRuntime) *EvaluateCodeInput { + s.Runtime = v + return s +} + +type EvaluateCodeOutput struct { + _ struct{} `type:"structure"` + + // Contains the payload of the response error. + Error *EvaluateCodeErrorDetail `locationName:"error" type:"structure"` + + // The result of the evaluation operation. + EvaluationResult *string `locationName:"evaluationResult" type:"string"` + + // A list of logs that were generated by calls to util.log.info and util.log.error + // in the evaluated code. + Logs []*string `locationName:"logs" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluateCodeOutput) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *EvaluateCodeOutput) SetError(v *EvaluateCodeErrorDetail) *EvaluateCodeOutput { + s.Error = v + return s +} + +// SetEvaluationResult sets the EvaluationResult field's value. +func (s *EvaluateCodeOutput) SetEvaluationResult(v string) *EvaluateCodeOutput { + s.EvaluationResult = &v + return s +} + +// SetLogs sets the Logs field's value. +func (s *EvaluateCodeOutput) SetLogs(v []*string) *EvaluateCodeOutput { + s.Logs = v + return s +} + type EvaluateMappingTemplateInput struct { _ struct{} `type:"structure"` @@ -8329,6 +8886,10 @@ type EvaluateMappingTemplateOutput struct { // The mapping template; this can be a request or response template. EvaluationResult *string `locationName:"evaluationResult" type:"string"` + + // A list of logs that were generated by calls to util.log.info and util.log.error + // in the evaluated code. + Logs []*string `locationName:"logs" type:"list"` } // String returns the string representation. @@ -8361,6 +8922,12 @@ func (s *EvaluateMappingTemplateOutput) SetEvaluationResult(v string) *EvaluateM return s } +// SetLogs sets the Logs field's value. +func (s *EvaluateMappingTemplateOutput) SetLogs(v []*string) *EvaluateMappingTemplateOutput { + s.Logs = v + return s +} + // Represents the input of a FlushApiCache operation. type FlushApiCacheInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -8439,6 +9006,10 @@ func (s FlushApiCacheOutput) GoString() string { type FunctionConfiguration struct { _ struct{} `type:"structure"` + // The function code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The name of the DataSource. DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` @@ -8468,6 +9039,11 @@ type FunctionConfiguration struct { // The Function response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // Describes a Sync configuration for a resolver. // // Specifies which Conflict Detection strategy and Resolution strategy to use @@ -8493,6 +9069,12 @@ func (s FunctionConfiguration) GoString() string { return s.String() } +// SetCode sets the Code field's value. +func (s *FunctionConfiguration) SetCode(v string) *FunctionConfiguration { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *FunctionConfiguration) SetDataSourceName(v string) *FunctionConfiguration { s.DataSourceName = &v @@ -8547,6 +9129,12 @@ func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionCo return s } +// SetRuntime sets the Runtime field's value. +func (s *FunctionConfiguration) SetRuntime(v *AppSyncRuntime) *FunctionConfiguration { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *FunctionConfiguration) SetSyncConfig(v *SyncConfig) *FunctionConfiguration { s.SyncConfig = v @@ -11465,6 +12053,10 @@ type Resolver struct { // The caching configuration for the resolver. CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The resolver code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The resolver data source name. DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` @@ -11497,6 +12089,11 @@ type Resolver struct { // The response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // The SyncConfig for a resolver attached to a versioned data source. SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` @@ -11528,6 +12125,12 @@ func (s *Resolver) SetCachingConfig(v *CachingConfig) *Resolver { return s } +// SetCode sets the Code field's value. +func (s *Resolver) SetCode(v string) *Resolver { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *Resolver) SetDataSourceName(v string) *Resolver { s.DataSourceName = &v @@ -11576,6 +12179,12 @@ func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver { return s } +// SetRuntime sets the Runtime field's value. +func (s *Resolver) SetRuntime(v *AppSyncRuntime) *Resolver { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *Resolver) SetSyncConfig(v *SyncConfig) *Resolver { s.SyncConfig = v @@ -12648,6 +13257,10 @@ type UpdateFunctionInput struct { // ApiId is a required field ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + // The function code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The Function DataSource name. // // DataSourceName is a required field @@ -12662,10 +13275,9 @@ type UpdateFunctionInput struct { FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"` // The version of the request mapping template. Currently, the supported value - // is 2018-05-29. - // - // FunctionVersion is a required field - FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"` + // is 2018-05-29. Note that when using VTL and mapping templates, the functionVersion + // is required. + FunctionVersion *string `locationName:"functionVersion" type:"string"` // The maximum batching size for a resolver. MaxBatchSize *int64 `locationName:"maxBatchSize" type:"integer"` @@ -12682,6 +13294,11 @@ type UpdateFunctionInput struct { // The Function request mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // Describes a Sync configuration for a resolver. // // Specifies which Conflict Detection strategy and Resolution strategy to use @@ -12716,6 +13333,9 @@ func (s *UpdateFunctionInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.Code != nil && len(*s.Code) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Code", 1)) + } if s.DataSourceName == nil { invalidParams.Add(request.NewErrParamRequired("DataSourceName")) } @@ -12728,9 +13348,6 @@ func (s *UpdateFunctionInput) Validate() error { if s.FunctionId != nil && len(*s.FunctionId) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1)) } - if s.FunctionVersion == nil { - invalidParams.Add(request.NewErrParamRequired("FunctionVersion")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12743,6 +13360,11 @@ func (s *UpdateFunctionInput) Validate() error { if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1)) } + if s.Runtime != nil { + if err := s.Runtime.Validate(); err != nil { + invalidParams.AddNested("Runtime", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12756,6 +13378,12 @@ func (s *UpdateFunctionInput) SetApiId(v string) *UpdateFunctionInput { return s } +// SetCode sets the Code field's value. +func (s *UpdateFunctionInput) SetCode(v string) *UpdateFunctionInput { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *UpdateFunctionInput) SetDataSourceName(v string) *UpdateFunctionInput { s.DataSourceName = &v @@ -12804,6 +13432,12 @@ func (s *UpdateFunctionInput) SetResponseMappingTemplate(v string) *UpdateFuncti return s } +// SetRuntime sets the Runtime field's value. +func (s *UpdateFunctionInput) SetRuntime(v *AppSyncRuntime) *UpdateFunctionInput { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *UpdateFunctionInput) SetSyncConfig(v *SyncConfig) *UpdateFunctionInput { s.SyncConfig = v @@ -13039,6 +13673,10 @@ type UpdateResolverInput struct { // The caching configuration for the resolver. CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The resolver code that contains the request and response functions. When + // code is used, the runtime is required. The runtime value must be APPSYNC_JS. + Code *string `locationName:"code" min:"1" type:"string"` + // The new data source name. DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` @@ -13078,6 +13716,11 @@ type UpdateResolverInput struct { // The new response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync + // function. Specifies the name and version of the runtime to use. Note that + // if a runtime is specified, code must also be specified. + Runtime *AppSyncRuntime `locationName:"runtime" type:"structure"` + // The SyncConfig for a resolver attached to a versioned data source. SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` @@ -13114,6 +13757,9 @@ func (s *UpdateResolverInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.Code != nil && len(*s.Code) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Code", 1)) + } if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) } @@ -13140,6 +13786,11 @@ func (s *UpdateResolverInput) Validate() error { invalidParams.AddNested("CachingConfig", err.(request.ErrInvalidParams)) } } + if s.Runtime != nil { + if err := s.Runtime.Validate(); err != nil { + invalidParams.AddNested("Runtime", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13159,6 +13810,12 @@ func (s *UpdateResolverInput) SetCachingConfig(v *CachingConfig) *UpdateResolver return s } +// SetCode sets the Code field's value. +func (s *UpdateResolverInput) SetCode(v string) *UpdateResolverInput { + s.Code = &v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput { s.DataSourceName = &v @@ -13201,6 +13858,12 @@ func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolv return s } +// SetRuntime sets the Runtime field's value. +func (s *UpdateResolverInput) SetRuntime(v *AppSyncRuntime) *UpdateResolverInput { + s.Runtime = v + return s +} + // SetSyncConfig sets the SyncConfig field's value. func (s *UpdateResolverInput) SetSyncConfig(v *SyncConfig) *UpdateResolverInput { s.SyncConfig = v @@ -13623,6 +14286,20 @@ func AuthorizationType_Values() []string { } } +// Provides context for the cause of the bad request. The only supported value +// is CODE_ERROR. +const ( + // BadRequestReasonCodeError is a BadRequestReason enum value + BadRequestReasonCodeError = "CODE_ERROR" +) + +// BadRequestReason_Values returns all elements of the BadRequestReason enum +func BadRequestReason_Values() []string { + return []string{ + BadRequestReasonCodeError, + } +} + const ( // ConflictDetectionTypeVersion is a ConflictDetectionType enum value ConflictDetectionTypeVersion = "VERSION" @@ -13779,6 +14456,18 @@ func ResolverKind_Values() []string { } } +const ( + // RuntimeNameAppsyncJs is a RuntimeName enum value + RuntimeNameAppsyncJs = "APPSYNC_JS" +) + +// RuntimeName_Values returns all elements of the RuntimeName enum +func RuntimeName_Values() []string { + return []string{ + RuntimeNameAppsyncJs, + } +} + const ( // SchemaStatusProcessing is a SchemaStatus enum value SchemaStatusProcessing = "PROCESSING" diff --git a/service/appsync/appsynciface/interface.go b/service/appsync/appsynciface/interface.go index d177084cb9f..44462afcd49 100644 --- a/service/appsync/appsynciface/interface.go +++ b/service/appsync/appsynciface/interface.go @@ -132,6 +132,10 @@ type AppSyncAPI interface { DisassociateApiWithContext(aws.Context, *appsync.DisassociateApiInput, ...request.Option) (*appsync.DisassociateApiOutput, error) DisassociateApiRequest(*appsync.DisassociateApiInput) (*request.Request, *appsync.DisassociateApiOutput) + EvaluateCode(*appsync.EvaluateCodeInput) (*appsync.EvaluateCodeOutput, error) + EvaluateCodeWithContext(aws.Context, *appsync.EvaluateCodeInput, ...request.Option) (*appsync.EvaluateCodeOutput, error) + EvaluateCodeRequest(*appsync.EvaluateCodeInput) (*request.Request, *appsync.EvaluateCodeOutput) + EvaluateMappingTemplate(*appsync.EvaluateMappingTemplateInput) (*appsync.EvaluateMappingTemplateOutput, error) EvaluateMappingTemplateWithContext(aws.Context, *appsync.EvaluateMappingTemplateInput, ...request.Option) (*appsync.EvaluateMappingTemplateOutput, error) EvaluateMappingTemplateRequest(*appsync.EvaluateMappingTemplateInput) (*request.Request, *appsync.EvaluateMappingTemplateOutput) diff --git a/service/cloudwatchrum/api.go b/service/cloudwatchrum/api.go index 8a4b1442393..5e2961e107d 100644 --- a/service/cloudwatchrum/api.go +++ b/service/cloudwatchrum/api.go @@ -73,15 +73,19 @@ func (c *CloudWatchRUM) BatchCreateRumMetricDefinitionsRequest(input *BatchCreat // The maximum number of metric definitions that you can specify in one BatchCreateRumMetricDefinitions // operation is 200. // -//

The maximum number of metric definitions that one destination can contain -// is 2000.

Extended metrics sent are charged as CloudWatch custom -// metrics. Each combination of additional dimension name and dimension value -// counts as a custom metric. For more information, see Amazon -// CloudWatch Pricing.

You must have already created a destination -// for the metrics before you send them. For more information, see PutRumMetricsDestination.

-//

If some metric definitions specified in a BatchCreateRumMetricDefinitions -// operations are not valid, those metric definitions fail and return errors, -// but all valid metric definitions in the same operation still succeed.

+// The maximum number of metric definitions that one destination can contain +// is 2000. +// +// Extended metrics sent are charged as CloudWatch custom metrics. Each combination +// of additional dimension name and dimension value counts as a custom metric. +// For more information, see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// +// You must have already created a destination for the metrics before you send +// them. For more information, see PutRumMetricsDestination (https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_PutRumMetricsDestination.html). +// +// If some metric definitions specified in a BatchCreateRumMetricDefinitions +// operations are not valid, those metric definitions fail and return errors, +// but all valid metric definitions in the same operation still succeed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1972,6 +1976,12 @@ type AppMonitor struct { // The date and time that this app monitor was created. Created *string `min:"19" type:"string"` + // Specifies whether this app monitor allows the web client to define and send + // custom events. + // + // For more information about custom events, see Send custom events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-custom-events.html). + CustomEvents *CustomEvents `type:"structure"` + // A structure that contains information about whether this app monitor stores // a copy of the telemetry data that RUM collects using CloudWatch Logs. DataStorage *DataStorage `type:"structure"` @@ -2026,6 +2036,12 @@ func (s *AppMonitor) SetCreated(v string) *AppMonitor { return s } +// SetCustomEvents sets the CustomEvents field's value. +func (s *AppMonitor) SetCustomEvents(v *CustomEvents) *AppMonitor { + s.CustomEvents = v + return s +} + // SetDataStorage sets the DataStorage field's value. func (s *AppMonitor) SetDataStorage(v *DataStorage) *AppMonitor { s.DataStorage = v @@ -2106,8 +2122,7 @@ type AppMonitorConfiguration struct { // If this app monitor is to collect data from only certain pages in your application, // this structure lists those pages. // - //

You can't include both ExcludedPages and IncludedPages - // in the same operation.

+ // You can't include both ExcludedPages and IncludedPages in the same operation. IncludedPages []*string `type:"list"` // Specifies the portion of user sessions to use for RUM data collection. Choosing @@ -2967,6 +2982,12 @@ type CreateAppMonitorInput struct { // the user sessions. AppMonitorConfiguration *AppMonitorConfiguration `type:"structure"` + // Specifies whether this app monitor allows the web client to define and send + // custom events. If you omit this parameter, custom events are DISABLED. + // + // For more information about custom events, see Send custom events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-custom-events.html). + CustomEvents *CustomEvents `type:"structure"` + // Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter // specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch // Logs in your account. This enables you to keep the telemetry data for more @@ -2995,9 +3016,9 @@ type CreateAppMonitorInput struct { // 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 an app monitor.

For - // more information, see Tagging - // Amazon Web Services resources.

+ // You can associate as many as 50 tags with an app monitor. + // + // For more information, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). Tags map[string]*string `type:"map"` } @@ -3052,6 +3073,12 @@ func (s *CreateAppMonitorInput) SetAppMonitorConfiguration(v *AppMonitorConfigur return s } +// SetCustomEvents sets the CustomEvents field's value. +func (s *CreateAppMonitorInput) SetCustomEvents(v *CustomEvents) *CreateAppMonitorInput { + s.CustomEvents = v + return s +} + // SetCwLogEnabled sets the CwLogEnabled field's value. func (s *CreateAppMonitorInput) SetCwLogEnabled(v bool) *CreateAppMonitorInput { s.CwLogEnabled = &v @@ -3107,6 +3134,39 @@ func (s *CreateAppMonitorOutput) SetId(v string) *CreateAppMonitorOutput { return s } +// A structure that contains information about custom events for this app monitor. +type CustomEvents struct { + _ struct{} `type:"structure"` + + // Specifies whether this app monitor allows the web client to define and send + // custom events. The default is for custom events to be DISABLED. + Status *string `type:"string" enum:"CustomEventsStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomEvents) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomEvents) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CustomEvents) SetStatus(v string) *CustomEvents { + s.Status = &v + return s +} + // A structure that contains the information about whether the app monitor stores // copies of the data that RUM collects in CloudWatch Logs. If it does, this // structure also contains the name of the log group. @@ -4104,7 +4164,7 @@ type MetricDefinitionRequest struct { // // * "event_details.fileType": "FileType" // - //

All dimensions listed in this field must also be included in EventPattern.

+ // All dimensions listed in this field must also be included in EventPattern. DimensionKeys map[string]*string `type:"map"` // The pattern that defines the metric, specified as a JSON object. RUM checks @@ -5153,6 +5213,12 @@ type UpdateAppMonitorInput struct { // Authorize your application to send data to Amazon Web Services (https://docs.aws.amazon.com/monitoring/CloudWatch-RUM-get-started-authorization.html). AppMonitorConfiguration *AppMonitorConfiguration `type:"structure"` + // Specifies whether this app monitor allows the web client to define and send + // custom events. The default is for custom events to be DISABLED. + // + // For more information about custom events, see Send custom events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-custom-events.html). + CustomEvents *CustomEvents `type:"structure"` + // Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter // specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch // Logs in your account. This enables you to keep the telemetry data for more @@ -5217,6 +5283,12 @@ func (s *UpdateAppMonitorInput) SetAppMonitorConfiguration(v *AppMonitorConfigur return s } +// SetCustomEvents sets the CustomEvents field's value. +func (s *UpdateAppMonitorInput) SetCustomEvents(v *CustomEvents) *UpdateAppMonitorInput { + s.CustomEvents = v + return s +} + // SetCwLogEnabled sets the CwLogEnabled field's value. func (s *UpdateAppMonitorInput) SetCwLogEnabled(v bool) *UpdateAppMonitorInput { s.CwLogEnabled = &v @@ -5503,6 +5575,22 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // CustomEventsStatusEnabled is a CustomEventsStatus enum value + CustomEventsStatusEnabled = "ENABLED" + + // CustomEventsStatusDisabled is a CustomEventsStatus enum value + CustomEventsStatusDisabled = "DISABLED" +) + +// CustomEventsStatus_Values returns all elements of the CustomEventsStatus enum +func CustomEventsStatus_Values() []string { + return []string{ + CustomEventsStatusEnabled, + CustomEventsStatusDisabled, + } +} + const ( // MetricDestinationCloudWatch is a MetricDestination enum value MetricDestinationCloudWatch = "CloudWatch" diff --git a/service/cloudwatchrum/doc.go b/service/cloudwatchrum/doc.go index 3fde690e978..a3c66903177 100644 --- a/service/cloudwatchrum/doc.go +++ b/service/cloudwatchrum/doc.go @@ -10,12 +10,12 @@ // together and also see breakdowns by the browsers and devices that your customers // use. // -//

You can use the collected data to quickly identify and debug client-side -// performance issues. CloudWatch RUM helps you visualize anomalies in your -// application performance and find relevant debugging data such as error -// messages, stack traces, and user sessions. You can also use RUM to understand -// the range of end-user impact including the number of users, geolocations, -// and browsers used.

+// You can use the collected data to quickly identify and debug client-side +// performance issues. CloudWatch RUM helps you visualize anomalies in your +// application performance and find relevant debugging data such as error messages, +// stack traces, and user sessions. You can also use RUM to understand the range +// of end-user impact including the number of users, geolocations, and browsers +// used. // // See https://docs.aws.amazon.com/goto/WebAPI/rum-2018-05-10 for more information on this service. // diff --git a/service/databasemigrationservice/api.go b/service/databasemigrationservice/api.go index 837713ae8ae..9bae03e9be4 100644 --- a/service/databasemigrationservice/api.go +++ b/service/databasemigrationservice/api.go @@ -8052,8 +8052,9 @@ type CreateEndpointInput struct { // The type of engine for the endpoint. Valid values, depending on the EndpointType // value, include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", - // "opensearch", "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", - // "kinesis", "kafka", "elasticsearch", "docdb", "sqlserver", and "neptune". + // "opensearch", "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", + // "mongodb", "kinesis", "kafka", "elasticsearch", "docdb", "sqlserver", "neptune", + // and "babelfish". // // EngineName is a required field EngineName *string `type:"string" required:"true"` @@ -8845,6 +8846,11 @@ type CreateReplicationInstanceInput struct { // to true. MultiAZ *bool `type:"boolean"` + // The type of IP address protocol used by a replication instance, such as IPv4 + // only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only + // is not yet supported. + NetworkType *string `type:"string"` + // The weekly time range during which system maintenance can occur, in Universal // Coordinated Time (UTC). // @@ -8988,6 +8994,12 @@ func (s *CreateReplicationInstanceInput) SetMultiAZ(v bool) *CreateReplicationIn return s } +// SetNetworkType sets the NetworkType field's value. +func (s *CreateReplicationInstanceInput) SetNetworkType(v string) *CreateReplicationInstanceInput { + s.NetworkType = &v + return s +} + // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. func (s *CreateReplicationInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationInstanceInput { s.PreferredMaintenanceWindow = &v @@ -14039,13 +14051,14 @@ type Endpoint struct { EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"` // The expanded name for the engine name. For example, if the EngineName parameter - // is "aurora," this value would be "Amazon Aurora MySQL." + // is "aurora", this value would be "Amazon Aurora MySQL". EngineDisplayName *string `type:"string"` // The database engine name. Valid values, depending on the EndpointType, include // "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", - // "opensearch", "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", - // "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". + // "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", + // "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", "neptune", + // and "babelfish". EngineName *string `type:"string"` // Value returned by a call to CreateEndpoint that can be used for cross-account @@ -16862,10 +16875,11 @@ type ModifyEndpointInput struct { // The type of endpoint. Valid values are source and target. EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"` - // The type of engine for the endpoint. Valid values, depending on the EndpointType, - // include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", - // "opensearch", "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", - // "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". + // The database engine name. Valid values, depending on the EndpointType, include + // "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", + // "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", + // "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", "neptune", + // and "babelfish". EngineName *string `type:"string"` // If this attribute is Y, the current call to ModifyEndpoint replaces all existing @@ -17448,6 +17462,11 @@ type ModifyReplicationInstanceInput struct { // to true. MultiAZ *bool `type:"boolean"` + // The type of IP address protocol used by a replication instance, such as IPv4 + // only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only + // is not yet supported. + NetworkType *string `type:"string"` + // The weekly time range (in UTC) during which system maintenance can occur, // which might result in an outage. Changing this parameter does not result // in an outage, except in the following situation, and the change is asynchronously @@ -17555,6 +17574,12 @@ func (s *ModifyReplicationInstanceInput) SetMultiAZ(v bool) *ModifyReplicationIn return s } +// SetNetworkType sets the NetworkType field's value. +func (s *ModifyReplicationInstanceInput) SetNetworkType(v string) *ModifyReplicationInstanceInput { + s.NetworkType = &v + return s +} + // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. func (s *ModifyReplicationInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationInstanceInput { s.PreferredMaintenanceWindow = &v @@ -18552,8 +18577,8 @@ type OracleSettings struct { ArchivedLogDestId *int64 `type:"integer"` // When this field is set to Y, DMS only accesses the archived redo logs. If - // the archived redo logs are stored on Oracle ASM only, the DMS user account - // needs to be granted ASM privileges. + // the archived redo logs are stored on Automatic Storage Management (ASM) only, + // the DMS user account needs to be granted ASM privileges. ArchivedLogsOnly *bool `type:"boolean"` // For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) @@ -18701,7 +18726,7 @@ type OracleSettings struct { // in the Database Migration Service User Guide. SecretsManagerAccessRoleArn *string `type:"string"` - // Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). + // Required only if your Oracle endpoint uses Automatic Storage Management (ASM). // The full ARN of the IAM role that specifies DMS as the trusted entity and // grants the required permissions to access the SecretsManagerOracleAsmSecret. // This SecretsManagerOracleAsmSecret has the secret value that allows access @@ -18717,7 +18742,7 @@ type OracleSettings struct { // in the Database Migration Service User Guide. SecretsManagerOracleAsmAccessRoleArn *string `type:"string"` - // Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). + // Required only if your Oracle endpoint uses Automatic Storage Management (ASM). // The full ARN, partial ARN, or friendly name of the SecretsManagerOracleAsmSecret // that contains the Oracle ASM connection details for the Oracle endpoint. SecretsManagerOracleAsmSecretId *string `type:"string"` @@ -20557,6 +20582,11 @@ type ReplicationInstance struct { // to true. MultiAZ *bool `type:"boolean"` + // The type of IP address protocol used by a replication instance, such as IPv4 + // only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only + // is not yet supported. + NetworkType *string `type:"string"` + // The pending modification values. PendingModifiedValues *ReplicationPendingModifiedValues `type:"structure"` @@ -20595,6 +20625,9 @@ type ReplicationInstance struct { // Example: myrepinstance ReplicationInstanceIdentifier *string `type:"string"` + // One or more IPv6 addresses for the replication instance. + ReplicationInstanceIpv6Addresses []*string `type:"list"` + // The private IP address of the replication instance. // // Deprecated: ReplicationInstancePrivateIpAddress has been deprecated @@ -20722,6 +20755,12 @@ func (s *ReplicationInstance) SetMultiAZ(v bool) *ReplicationInstance { return s } +// SetNetworkType sets the NetworkType field's value. +func (s *ReplicationInstance) SetNetworkType(v string) *ReplicationInstance { + s.NetworkType = &v + return s +} + // SetPendingModifiedValues sets the PendingModifiedValues field's value. func (s *ReplicationInstance) SetPendingModifiedValues(v *ReplicationPendingModifiedValues) *ReplicationInstance { s.PendingModifiedValues = v @@ -20758,6 +20797,12 @@ func (s *ReplicationInstance) SetReplicationInstanceIdentifier(v string) *Replic return s } +// SetReplicationInstanceIpv6Addresses sets the ReplicationInstanceIpv6Addresses field's value. +func (s *ReplicationInstance) SetReplicationInstanceIpv6Addresses(v []*string) *ReplicationInstance { + s.ReplicationInstanceIpv6Addresses = v + return s +} + // SetReplicationInstancePrivateIpAddress sets the ReplicationInstancePrivateIpAddress field's value. func (s *ReplicationInstance) SetReplicationInstancePrivateIpAddress(v string) *ReplicationInstance { s.ReplicationInstancePrivateIpAddress = &v @@ -20874,6 +20919,11 @@ type ReplicationPendingModifiedValues struct { // to true. MultiAZ *bool `type:"boolean"` + // The type of IP address protocol used by a replication instance, such as IPv4 + // only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only + // is not yet supported. + NetworkType *string `type:"string"` + // The compute and memory capacity of the replication instance as defined for // the specified replication instance class. // @@ -20919,6 +20969,12 @@ func (s *ReplicationPendingModifiedValues) SetMultiAZ(v bool) *ReplicationPendin return s } +// SetNetworkType sets the NetworkType field's value. +func (s *ReplicationPendingModifiedValues) SetNetworkType(v string) *ReplicationPendingModifiedValues { + s.NetworkType = &v + return s +} + // SetReplicationInstanceClass sets the ReplicationInstanceClass field's value. func (s *ReplicationPendingModifiedValues) SetReplicationInstanceClass(v string) *ReplicationPendingModifiedValues { s.ReplicationInstanceClass = &v @@ -20942,6 +20998,11 @@ type ReplicationSubnetGroup struct { // The subnets that are in the subnet group. Subnets []*Subnet `type:"list"` + // The IP addressing protocol supported by the subnet group. This is used by + // a replication instance with values such as IPv4 only or Dual-stack that supports + // both IPv4 and IPv6 addressing. IPv6 only is not yet supported. + SupportedNetworkTypes []*string `type:"list"` + // The ID of the VPC. VpcId *string `type:"string"` } @@ -20988,6 +21049,12 @@ func (s *ReplicationSubnetGroup) SetSubnets(v []*Subnet) *ReplicationSubnetGroup return s } +// SetSupportedNetworkTypes sets the SupportedNetworkTypes field's value. +func (s *ReplicationSubnetGroup) SetSupportedNetworkTypes(v []*string) *ReplicationSubnetGroup { + s.SupportedNetworkTypes = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *ReplicationSubnetGroup) SetVpcId(v string) *ReplicationSubnetGroup { s.VpcId = &v @@ -22414,7 +22481,7 @@ type S3Settings struct { // The default value is 60 seconds. CdcMaxBatchInterval *int64 `type:"integer"` - // Minimum file size, defined in megabytes, to reach for a file output to Amazon + // Minimum file size, defined in kilobytes, to reach for a file output to Amazon // S3. // // When CdcMinFileSize and CdcMaxBatchInterval are both specified, the file @@ -24049,13 +24116,14 @@ type SupportedEndpointType struct { EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"` // The expanded name for the engine name. For example, if the EngineName parameter - // is "aurora," this value would be "Amazon Aurora MySQL." + // is "aurora", this value would be "Amazon Aurora MySQL". EngineDisplayName *string `type:"string"` // The database engine name. Valid values, depending on the EndpointType, include // "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", - // "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", - // "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". + // "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", + // "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", "neptune", + // and "babelfish". EngineName *string `type:"string"` // The earliest DMS engine version that supports this endpoint engine. Note @@ -24224,6 +24292,19 @@ func (s *SybaseSettings) SetUsername(v string) *SybaseSettings { type TableStatistics struct { _ struct{} `type:"structure"` + // The number of data definition language (DDL) statements used to build and + // modify the structure of your tables applied on the target. + AppliedDdls *int64 `type:"long"` + + // The number of delete actions applied on a target table. + AppliedDeletes *int64 `type:"long"` + + // The number of insert actions applied on a target table. + AppliedInserts *int64 `type:"long"` + + // The number of update actions applied on a target table. + AppliedUpdates *int64 `type:"long"` + // The data definition language (DDL) used to build and modify the structure // of your tables. Ddls *int64 `type:"long"` @@ -24338,6 +24419,30 @@ func (s TableStatistics) GoString() string { return s.String() } +// SetAppliedDdls sets the AppliedDdls field's value. +func (s *TableStatistics) SetAppliedDdls(v int64) *TableStatistics { + s.AppliedDdls = &v + return s +} + +// SetAppliedDeletes sets the AppliedDeletes field's value. +func (s *TableStatistics) SetAppliedDeletes(v int64) *TableStatistics { + s.AppliedDeletes = &v + return s +} + +// SetAppliedInserts sets the AppliedInserts field's value. +func (s *TableStatistics) SetAppliedInserts(v int64) *TableStatistics { + s.AppliedInserts = &v + return s +} + +// SetAppliedUpdates sets the AppliedUpdates field's value. +func (s *TableStatistics) SetAppliedUpdates(v int64) *TableStatistics { + s.AppliedUpdates = &v + return s +} + // SetDdls sets the Ddls field's value. func (s *TableStatistics) SetDdls(v int64) *TableStatistics { s.Ddls = &v diff --git a/service/ec2/api.go b/service/ec2/api.go index 356345e9359..feb5047fce4 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -64469,10 +64469,12 @@ type CreateFlowLogsInput struct { LogDestinationType *string `type:"string" enum:"LogDestinationType"` // The fields to include in the flow log record. List the fields in the order - // in which they should appear. For more information about the available fields, - // see Flow log records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records). - // If you omit this parameter, the flow log is created using the default format. - // If you specify this parameter, you must include at least one field. + // in which they should appear. If you omit this parameter, the flow log is + // created using the default format. If you specify this parameter, you must + // include at least one field. For more information about the available fields, + // see Flow log records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) + // in the Amazon VPC User Guide or Transit Gateway Flow Log records (https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) + // in the Amazon Web Services Transit Gateway Guide. // // Specify the fields using the ${field-id} format, separated by spaces. For // the CLI, surround this parameter value with single quotes on Linux or double @@ -64486,8 +64488,9 @@ type CreateFlowLogsInput struct { LogGroupName *string `type:"string"` // The maximum interval of time during which a flow of packets is captured and - // aggregated into a flow log record. You can specify 60 seconds (1 minute) - // or 600 seconds (10 minutes). + // aggregated into a flow log record. The possible values are 60 seconds (1 + // minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for + // transit gateway resource types. // // When a network interface is attached to a Nitro-based instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances), // the aggregation interval is always 60 seconds or less, regardless of the @@ -64499,7 +64502,8 @@ type CreateFlowLogsInput struct { // The IDs of the resources to monitor. For example, if the resource type is // VPC, specify the IDs of the VPCs. // - // Constraints: Maximum of 1000 resources + // Constraints: Maximum of 25 for transit gateway resource types. Maximum of + // 1000 for the other resource types. // // ResourceIds is a required field ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"` @@ -64513,7 +64517,8 @@ type CreateFlowLogsInput struct { TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The type of traffic to monitor (accepted traffic, rejected traffic, or all - // traffic). + // traffic). This parameter is not supported for transit gateway resource types. + // It is required for the other resource types. TrafficType *string `type:"string" enum:"TrafficType"` } @@ -66941,6 +66946,10 @@ type CreateNatGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The private IPv4 address to assign to the NAT gateway. If you don't provide + // an address, a private IPv4 address will be automatically assigned. + PrivateIpAddress *string `type:"string"` + // The subnet in which to create the NAT gateway. // // SubnetId is a required field @@ -67005,6 +67014,12 @@ func (s *CreateNatGatewayInput) SetDryRun(v bool) *CreateNatGatewayInput { return s } +// SetPrivateIpAddress sets the PrivateIpAddress field's value. +func (s *CreateNatGatewayInput) SetPrivateIpAddress(v string) *CreateNatGatewayInput { + s.PrivateIpAddress = &v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput { s.SubnetId = &v @@ -155411,44 +155426,27 @@ type SpotFleetRequestConfigData struct { // For more information, see Allocation strategies for Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) // in the Amazon EC2 User Guide. // - // priceCapacityOptimized (recommended) - // - // Spot Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. Spot Fleet then requests Spot Instances from the lowest - // priced of these pools. - // - // capacityOptimized - // - // Spot Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. To give certain instance types a higher chance of launching - // first, use capacityOptimizedPrioritized. Set a priority for each instance - // type by using the Priority parameter for LaunchTemplateOverrides. You can - // assign the same priority to different LaunchTemplateOverrides. EC2 implements - // the priorities on a best-effort basis, but optimizes for capacity first. - // capacityOptimizedPrioritized is supported only if your Spot Fleet uses a - // launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, - // the same priority is applied when fulfilling On-Demand capacity. - // - // diversified - // - // Spot Fleet requests instances from all of the Spot Instance pools that you - // specify. - // - // lowestPrice - // - // Spot Fleet requests instances from the lowest priced Spot Instance pool that - // has available capacity. If the lowest priced pool doesn't have available - // capacity, the Spot Instances come from the next lowest priced pool that has - // available capacity. If a pool runs out of capacity before fulfilling your - // desired capacity, Spot Fleet will continue to fulfill your request by drawing - // from the next lowest priced pool. To ensure that your desired capacity is - // met, you might receive Spot Instances from several pools. Because this strategy - // only considers instance price and not capacity availability, it might lead - // to high interruption rates. + // lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance + // pool that has available capacity. If the cheapest pool doesn't have available + // capacity, the Spot Instances come from the next cheapest pool that has available + // capacity. If a pool runs out of capacity before fulfilling your desired capacity, + // Spot Fleet will continue to fulfill your request by drawing from the next + // cheapest pool. To ensure that your desired capacity is met, you might receive + // Spot Instances from several pools. + // + // diversified - Spot Fleet launches instances from all of the Spot Instance + // pools that you specify. + // + // capacityOptimized (recommended) - Spot Fleet launches instances from Spot + // Instance pools with optimal capacity for the number of instances that are + // launching. To give certain instance types a higher chance of launching first, + // use capacityOptimizedPrioritized. Set a priority for each instance type by + // using the Priority parameter for LaunchTemplateOverrides. You can assign + // the same priority to different LaunchTemplateOverrides. EC2 implements the + // priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized + // is supported only if your Spot Fleet uses a launch template. Note that if + // the OnDemandAllocationStrategy is set to prioritized, the same priority is + // applied when fulfilling On-Demand capacity. // // Default: lowestPrice AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"` @@ -156312,44 +156310,27 @@ type SpotOptions struct { // For more information, see Allocation strategies for Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html) // in the Amazon EC2 User Guide. // - // price-capacity-optimized (recommended) - // - // EC2 Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. EC2 Fleet then requests Spot Instances from the lowest - // priced of these pools. - // - // capacity-optimized - // - // EC2 Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. To give certain instance types a higher chance of launching - // first, use capacity-optimized-prioritized. Set a priority for each instance - // type by using the Priority parameter for LaunchTemplateOverrides. You can - // assign the same priority to different LaunchTemplateOverrides. EC2 implements - // the priorities on a best-effort basis, but optimizes for capacity first. - // capacity-optimized-prioritized is supported only if your EC2 Fleet uses a - // launch template. Note that if the On-Demand AllocationStrategy is set to - // prioritized, the same priority is applied when fulfilling On-Demand capacity. - // - // diversified - // - // EC2 Fleet requests instances from all of the Spot Instance pools that you - // specify. - // - // lowest-price - // - // EC2 Fleet requests instances from the lowest priced Spot Instance pool that - // has available capacity. If the lowest priced pool doesn't have available - // capacity, the Spot Instances come from the next lowest priced pool that has - // available capacity. If a pool runs out of capacity before fulfilling your - // desired capacity, EC2 Fleet will continue to fulfill your request by drawing - // from the next lowest priced pool. To ensure that your desired capacity is - // met, you might receive Spot Instances from several pools. Because this strategy - // only considers instance price and not capacity availability, it might lead - // to high interruption rates. + // lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance + // pool that has available capacity. If the cheapest pool doesn't have available + // capacity, the Spot Instances come from the next cheapest pool that has available + // capacity. If a pool runs out of capacity before fulfilling your desired capacity, + // EC2 Fleet will continue to fulfill your request by drawing from the next + // cheapest pool. To ensure that your desired capacity is met, you might receive + // Spot Instances from several pools. + // + // diversified - EC2 Fleet launches instances from all of the Spot Instance + // pools that you specify. + // + // capacity-optimized (recommended) - EC2 Fleet launches instances from Spot + // Instance pools with optimal capacity for the number of instances that are + // launching. To give certain instance types a higher chance of launching first, + // use capacity-optimized-prioritized. Set a priority for each instance type + // by using the Priority parameter for LaunchTemplateOverrides. You can assign + // the same priority to different LaunchTemplateOverrides. EC2 implements the + // priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized + // is supported only if your fleet uses a launch template. Note that if the + // On-Demand AllocationStrategy is set to prioritized, the same priority is + // applied when fulfilling On-Demand capacity. // // Default: lowest-price AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"` @@ -156484,44 +156465,27 @@ type SpotOptionsRequest struct { // For more information, see Allocation strategies for Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html) // in the Amazon EC2 User Guide. // - // price-capacity-optimized (recommended) - // - // EC2 Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. EC2 Fleet then requests Spot Instances from the lowest - // priced of these pools. - // - // capacity-optimized - // - // EC2 Fleet identifies the pools with the highest capacity availability for - // the number of instances that are launching. This means that we will request - // Spot Instances from the pools that we believe have the lowest chance of interruption - // in the near term. To give certain instance types a higher chance of launching - // first, use capacity-optimized-prioritized. Set a priority for each instance - // type by using the Priority parameter for LaunchTemplateOverrides. You can - // assign the same priority to different LaunchTemplateOverrides. EC2 implements - // the priorities on a best-effort basis, but optimizes for capacity first. - // capacity-optimized-prioritized is supported only if your EC2 Fleet uses a - // launch template. Note that if the On-Demand AllocationStrategy is set to - // prioritized, the same priority is applied when fulfilling On-Demand capacity. - // - // diversified - // - // EC2 Fleet requests instances from all of the Spot Instance pools that you - // specify. - // - // lowest-price - // - // EC2 Fleet requests instances from the lowest priced Spot Instance pool that - // has available capacity. If the lowest priced pool doesn't have available - // capacity, the Spot Instances come from the next lowest priced pool that has - // available capacity. If a pool runs out of capacity before fulfilling your - // desired capacity, EC2 Fleet will continue to fulfill your request by drawing - // from the next lowest priced pool. To ensure that your desired capacity is - // met, you might receive Spot Instances from several pools. Because this strategy - // only considers instance price and not capacity availability, it might lead - // to high interruption rates. + // lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance + // pool that has available capacity. If the cheapest pool doesn't have available + // capacity, the Spot Instances come from the next cheapest pool that has available + // capacity. If a pool runs out of capacity before fulfilling your desired capacity, + // EC2 Fleet will continue to fulfill your request by drawing from the next + // cheapest pool. To ensure that your desired capacity is met, you might receive + // Spot Instances from several pools. + // + // diversified - EC2 Fleet launches instances from all of the Spot Instance + // pools that you specify. + // + // capacity-optimized (recommended) - EC2 Fleet launches instances from Spot + // Instance pools with optimal capacity for the number of instances that are + // launching. To give certain instance types a higher chance of launching first, + // use capacity-optimized-prioritized. Set a priority for each instance type + // by using the Priority parameter for LaunchTemplateOverrides. You can assign + // the same priority to different LaunchTemplateOverrides. EC2 implements the + // priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized + // is supported only if your fleet uses a launch template. Note that if the + // On-Demand AllocationStrategy is set to prioritized, the same priority is + // applied when fulfilling On-Demand capacity. // // Default: lowest-price AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"` diff --git a/service/elbv2/api.go b/service/elbv2/api.go index 5f572a841f3..74b09dec696 100644 --- a/service/elbv2/api.go +++ b/service/elbv2/api.go @@ -2655,9 +2655,6 @@ func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *re // Modifies the health checks used when evaluating the health state of the targets // in the specified target group. // -// If the protocol of the target group is TCP, TLS, UDP, or TCP_UDP, you can't -// modify the health check protocol, interval, timeout, or success codes. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4805,11 +4802,10 @@ type CreateTargetGroupInput struct { HealthCheckEnabled *bool `type:"boolean"` // The approximate amount of time, in seconds, between health checks of an individual - // target. If the target group protocol is HTTP or HTTPS, the default is 30 - // seconds. If the target group protocol is TCP, TLS, UDP, or TCP_UDP, the supported - // values are 10 and 30 seconds and the default is 30 seconds. If the target - // group protocol is GENEVE, the default is 10 seconds. If the target type is - // lambda, the default is 35 seconds. + // target. The range is 5-300. If the target group protocol is TCP, TLS, UDP, + // TCP_UDP, HTTP or HTTPS, the default is 30 seconds. If the target group protocol + // is GENEVE, the default is 10 seconds. If the target type is lambda, the default + // is 35 seconds. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` // [HTTP/HTTPS health checks] The destination for health checks on the targets. @@ -4834,17 +4830,18 @@ type CreateTargetGroupInput struct { HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` // The amount of time, in seconds, during which no response from a target means - // a failed health check. For target groups with a protocol of HTTP, HTTPS, - // or GENEVE, the default is 5 seconds. For target groups with a protocol of - // TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds - // for TCP and HTTPS health checks. If the target type is lambda, the default - // is 30 seconds. + // a failed health check. The range is 2–120 seconds. For target groups with + // a protocol of HTTP, the default is 6 seconds. For target groups with a protocol + // of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a + // protocol of GENEVE, the default is 5 seconds. If the target type is lambda, + // the default is 30 seconds. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` - // The number of consecutive health checks successes required before considering - // an unhealthy target healthy. For target groups with a protocol of HTTP or - // HTTPS, the default is 5. For target groups with a protocol of TCP, TLS, or - // GENEVE, the default is 3. If the target type is lambda, the default is 5. + // The number of consecutive health check successes required before considering + // a target healthy. The range is 2-10. If the target group protocol is TCP, + // TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 5. For target groups with + // a protocol of GENEVE, the default is 3. If the target type is lambda, the + // default is 5. HealthyThresholdCount *int64 `min:"2" type:"integer"` // The type of IP address used for this target group. The possible values are @@ -4853,7 +4850,10 @@ type CreateTargetGroupInput struct { IpAddressType *string `type:"string" enum:"TargetGroupIpAddressTypeEnum"` // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for - // a successful response from a target. + // a successful response from a target. For target groups with a protocol of + // TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol + // of HTTP or HTTPS, the range is 200-499. For target groups with a protocol + // of GENEVE, the range is 200-399. Matcher *Matcher `type:"structure"` // The name of the target group. @@ -4905,10 +4905,10 @@ type CreateTargetGroupInput struct { TargetType *string `type:"string" enum:"TargetTypeEnum"` // The number of consecutive health check failures required before considering - // a target unhealthy. If the target group protocol is HTTP or HTTPS, the default - // is 2. If the target group protocol is TCP or TLS, this value must be the - // same as the healthy threshold count. If the target group protocol is GENEVE, - // the default is 3. If the target type is lambda, the default is 2. + // a target unhealthy. The range is 2-10. If the target group protocol is TCP, + // TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with + // a protocol of GENEVE, the default is 3. If the target type is lambda, the + // default is 5. UnhealthyThresholdCount *int64 `min:"2" type:"integer"` // The identifier of the virtual private cloud (VPC). If the target is a Lambda @@ -6659,8 +6659,8 @@ type ForwardActionConfig struct { // The target group stickiness for the rule. TargetGroupStickinessConfig *TargetGroupStickinessConfig `type:"structure"` - // One or more target groups. For Network Load Balancers, you can specify a - // single target group. + // The target groups. For Network Load Balancers, you can specify a single target + // group. TargetGroups []*TargetGroupTuple `type:"list"` } @@ -6698,9 +6698,9 @@ func (s *ForwardActionConfig) SetTargetGroups(v []*TargetGroupTuple) *ForwardAct type HostHeaderConditionConfig struct { _ struct{} `type:"structure"` - // One or more host names. The maximum size of each name is 128 characters. - // The comparison is case insensitive. The following wildcard characters are - // supported: * (matches 0 or more characters) and ? (matches exactly 1 character). + // The host names. The maximum size of each name is 128 characters. The comparison + // is case insensitive. The following wildcard characters are supported: * (matches + // 0 or more characters) and ? (matches exactly 1 character). // // If you specify multiple strings, the condition is satisfied if one of the // strings matches the host name. @@ -6746,10 +6746,10 @@ type HttpHeaderConditionConfig struct { // to specify a host header condition. HttpHeaderName *string `type:"string"` - // One or more strings to compare against the value of the HTTP header. The - // maximum size of each string is 128 characters. The comparison strings are - // case insensitive. The following wildcard characters are supported: * (matches - // 0 or more characters) and ? (matches exactly 1 character). + // The strings to compare against the value of the HTTP header. The maximum + // size of each string is 128 characters. The comparison strings are case insensitive. + // The following wildcard characters are supported: * (matches 0 or more characters) + // and ? (matches exactly 1 character). // // If the same header appears multiple times in the request, we search them // in order until a match is found. @@ -7226,11 +7226,16 @@ type LoadBalancerAttribute struct { // The name of the attribute. // - // The following attribute is supported by all load balancers: + // The following attributes are supported by all load balancers: // // * deletion_protection.enabled - Indicates whether deletion protection // is enabled. The value is true or false. The default is false. // + // * load_balancing.cross_zone.enabled - Indicates whether cross-zone load + // balancing is enabled. The possible values are true and false. The default + // for Network Load Balancers and Gateway Load Balancers is false. The default + // for Application Load Balancers is true, and cannot be changed. + // // The following attributes are supported by both Application Load Balancers // and Network Load Balancers: // @@ -7305,13 +7310,6 @@ type LoadBalancerAttribute struct { // balancer to route requests to targets if it is unable to forward the request // to Amazon Web Services WAF. The possible values are true and false. The // default is false. - // - // The following attribute is supported by Network Load Balancers and Gateway - // Load Balancers: - // - // * load_balancing.cross_zone.enabled - Indicates whether cross-zone load - // balancing is enabled. The possible values are true and false. The default - // is false. Key *string `type:"string"` // The value of the attribute. @@ -7405,10 +7403,14 @@ type Matcher struct { GrpcCode *string `type:"string"` // For Application Load Balancers, you can specify values between 200 and 499, - // and the default value is 200. You can specify multiple values (for example, + // with the default value being 200. You can specify multiple values (for example, + // "200,202") or a range of values (for example, "200-299"). + // + // For Network Load Balancers, you can specify values between 200 and 599, with + // the default value being 200-399. You can specify multiple values (for example, // "200,202") or a range of values (for example, "200-299"). // - // For Network Load Balancers and Gateway Load Balancers, this must be "200–399". + // For Gateway Load Balancers, this must be "200–399". // // Note that when using shorthand syntax, some values such as commas need to // be escaped. @@ -7909,7 +7911,7 @@ type ModifyTargetGroupInput struct { HealthCheckEnabled *bool `type:"boolean"` // The approximate amount of time, in seconds, between health checks of an individual - // target. For TCP health checks, the supported values are 10 or 30 seconds. + // target. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` // [HTTP/HTTPS health checks] The destination for health checks on the targets. @@ -7941,7 +7943,10 @@ type ModifyTargetGroupInput struct { HealthyThresholdCount *int64 `min:"2" type:"integer"` // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for - // a successful response from a target. + // a successful response from a target. For target groups with a protocol of + // TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol + // of HTTP or HTTPS, the range is 200-499. For target groups with a protocol + // of GENEVE, the range is 200-399. Matcher *Matcher `type:"structure"` // The Amazon Resource Name (ARN) of the target group. @@ -7950,8 +7955,7 @@ type ModifyTargetGroupInput struct { TargetGroupArn *string `type:"string" required:"true"` // The number of consecutive health check failures required before considering - // the target unhealthy. For target groups with a protocol of TCP or TLS, this - // value must be the same as the healthy threshold count. + // the target unhealthy. UnhealthyThresholdCount *int64 `min:"2" type:"integer"` } @@ -8096,10 +8100,10 @@ func (s *ModifyTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *ModifyTarge type PathPatternConditionConfig struct { _ struct{} `type:"structure"` - // One or more path patterns to compare against the request URL. The maximum - // size of each string is 128 characters. The comparison is case sensitive. - // The following wildcard characters are supported: * (matches 0 or more characters) - // and ? (matches exactly 1 character). + // The path patterns to compare against the request URL. The maximum size of + // each string is 128 characters. The comparison is case sensitive. The following + // wildcard characters are supported: * (matches 0 or more characters) and ? + // (matches exactly 1 character). // // If you specify multiple strings, the condition is satisfied if one of them // matches the request URL. The path pattern is compared only to the path of @@ -8141,9 +8145,9 @@ func (s *PathPatternConditionConfig) SetValues(v []*string) *PathPatternConditio type QueryStringConditionConfig struct { _ struct{} `type:"structure"` - // One or more key/value pairs or values to find in the query string. The maximum - // size of each string is 128 characters. The comparison is case insensitive. - // The following wildcard characters are supported: * (matches 0 or more characters) + // The key/value pairs or values to find in the query string. The maximum size + // of each string is 128 characters. The comparison is case insensitive. The + // following wildcard characters are supported: * (matches 0 or more characters) // and ? (matches exactly 1 character). To search for a literal '*' or '?' character // in a query string, you must escape these characters in Values using a '\' // character. @@ -9292,8 +9296,8 @@ func (s *SetSubnetsOutput) SetIpAddressType(v string) *SetSubnetsOutput { type SourceIpConditionConfig struct { _ struct{} `type:"structure"` - // One or more source IP addresses, in CIDR format. You can use both IPv4 and - // IPv6 addresses. Wildcards are not supported. + // The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. + // Wildcards are not supported. // // If you specify multiple addresses, the condition is satisfied if the source // IP address of the request matches one of the CIDR blocks. This condition @@ -9553,6 +9557,10 @@ type TargetDescription struct { // traffic from the load balancer nodes in the specified Availability Zone or // from all enabled Availability Zones for the load balancer. // + // For Application Load Balancer target groups, the specified Availability Zone + // value is only applicable when cross-zone load balancing is off. Otherwise + // the parameter is ignored and treated as all. + // // This parameter is not supported if the target type of the target group is // instance or alb. // @@ -9561,8 +9569,10 @@ type TargetDescription struct { // parameter is optional. If the IP address is outside the VPC, this parameter // is required. // - // With an Application Load Balancer, if the target type is ip and the IP address - // is outside the VPC for the target group, the only supported value is all. + // For Application Load Balancer target groups with cross-zone load balancing + // off, if the target type is ip and the IP address is outside of the VPC for + // the target group, this should be an Availability Zone inside the VPC for + // the target group. // // If the target type is lambda, this parameter is optional and the only supported // value is all. @@ -9842,7 +9852,7 @@ type TargetGroupAttribute struct { // The name of the attribute. // - // The following attribute is supported by all load balancers: + // The following attributes are supported by all load balancers: // // * deregistration_delay.timeout_seconds - The amount of time, in seconds, // for Elastic Load Balancing to wait before changing the state of a deregistering @@ -9850,9 +9860,6 @@ type TargetGroupAttribute struct { // value is 300 seconds. If the target is a Lambda function, this attribute // is not supported. // - // The following attributes are supported by Application Load Balancers, Network - // Load Balancers, and Gateway Load Balancers: - // // * stickiness.enabled - Indicates whether target stickiness is enabled. // The value is true or false. The default is false. // @@ -9861,6 +9868,37 @@ type TargetGroupAttribute struct { // for Network Load Balancers. source_ip_dest_ip and source_ip_dest_ip_proto // for Gateway Load Balancers. // + // The following attributes are supported by Application Load Balancers and + // Network Load Balancers: + // + // * load_balancing.cross_zone.enabled - Indicates whether cross zone load + // balancing is enabled. The value is true, false or use_load_balancer_configuration. + // The default is use_load_balancer_configuration. + // + // * target_group_health.dns_failover.minimum_healthy_targets.count - The + // minimum number of targets that must be healthy. If the number of healthy + // targets is below this value, mark the zone as unhealthy in DNS, so that + // traffic is routed only to healthy zones. The possible values are off or + // an integer from 1 to the maximum number of targets. The default is off. + // + // * target_group_health.dns_failover.minimum_healthy_targets.percentage + // - The minimum percentage of targets that must be healthy. If the percentage + // of healthy targets is below this value, mark the zone as unhealthy in + // DNS, so that traffic is routed only to healthy zones. The possible values + // are off or an integer from 1 to 100. The default is off. + // + // * target_group_health.unhealthy_state_routing.minimum_healthy_targets.count + // - The minimum number of targets that must be healthy. If the number of + // healthy targets is below this value, send traffic to all targets, including + // unhealthy targets. The possible values are 1 to the maximum number of + // targets. The default is 1. + // + // * target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage + // - The minimum percentage of targets that must be healthy. If the percentage + // of healthy targets is below this value, send traffic to all targets, including + // unhealthy targets. The possible values are off or an integer from 1 to + // 100. The default is off. + // // The following attributes are supported only if the load balancer is an Application // Load Balancer and the target is an instance or an IP address: // diff --git a/service/emrserverless/api.go b/service/emrserverless/api.go index db9dd7cdb91..49a6e9bbe24 100644 --- a/service/emrserverless/api.go +++ b/service/emrserverless/api.go @@ -1428,6 +1428,9 @@ type Application struct { // ApplicationId is a required field ApplicationId *string `locationName:"applicationId" min:"1" type:"string" required:"true"` + // The CPU architecture of an application. + Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"` + // The ARN of the application. // // Arn is a required field @@ -1510,6 +1513,12 @@ func (s *Application) SetApplicationId(v string) *Application { return s } +// SetArchitecture sets the Architecture field's value. +func (s *Application) SetArchitecture(v string) *Application { + s.Architecture = &v + return s +} + // SetArn sets the Arn field's value. func (s *Application) SetArn(v string) *Application { s.Arn = &v @@ -1598,6 +1607,9 @@ func (s *Application) SetUpdatedAt(v time.Time) *Application { type ApplicationSummary struct { _ struct{} `type:"structure"` + // The CPU architecture of an application. + Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"` + // The ARN of the application. // // Arn is a required field @@ -1658,6 +1670,12 @@ func (s ApplicationSummary) GoString() string { return s.String() } +// SetArchitecture sets the Architecture field's value. +func (s *ApplicationSummary) SetArchitecture(v string) *ApplicationSummary { + s.Architecture = &v + return s +} + // SetArn sets the Arn field's value. func (s *ApplicationSummary) SetArn(v string) *ApplicationSummary { s.Arn = &v @@ -2131,6 +2149,9 @@ func (s *ConflictException) RequestID() string { type CreateApplicationInput struct { _ struct{} `type:"structure"` + // The CPU architecture of an application. + Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"` + // The configuration for an application to automatically start on job submission. AutoStartConfiguration *AutoStartConfig `locationName:"autoStartConfiguration" type:"structure"` @@ -2237,6 +2258,12 @@ func (s *CreateApplicationInput) Validate() error { return nil } +// SetArchitecture sets the Architecture field's value. +func (s *CreateApplicationInput) SetArchitecture(v string) *CreateApplicationInput { + s.Architecture = &v + return s +} + // SetAutoStartConfiguration sets the AutoStartConfiguration field's value. func (s *CreateApplicationInput) SetAutoStartConfiguration(v *AutoStartConfig) *CreateApplicationInput { s.AutoStartConfiguration = v @@ -4746,6 +4773,9 @@ type UpdateApplicationInput struct { // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + // The CPU architecture of an application. + Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"` + // The configuration for an application to automatically start on job submission. AutoStartConfiguration *AutoStartConfig `locationName:"autoStartConfiguration" type:"structure"` @@ -4833,6 +4863,12 @@ func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationIn return s } +// SetArchitecture sets the Architecture field's value. +func (s *UpdateApplicationInput) SetArchitecture(v string) *UpdateApplicationInput { + s.Architecture = &v + return s +} + // SetAutoStartConfiguration sets the AutoStartConfiguration field's value. func (s *UpdateApplicationInput) SetAutoStartConfiguration(v *AutoStartConfig) *UpdateApplicationInput { s.AutoStartConfiguration = v @@ -5082,6 +5118,22 @@ func ApplicationState_Values() []string { } } +const ( + // ArchitectureArm64 is a Architecture enum value + ArchitectureArm64 = "ARM64" + + // ArchitectureX8664 is a Architecture enum value + ArchitectureX8664 = "X86_64" +) + +// Architecture_Values returns all elements of the Architecture enum +func Architecture_Values() []string { + return []string{ + ArchitectureArm64, + ArchitectureX8664, + } +} + const ( // JobRunStateSubmitted is a JobRunState enum value JobRunStateSubmitted = "SUBMITTED" diff --git a/service/ivschat/api.go b/service/ivschat/api.go index 3523285a492..031e5bd0085 100644 --- a/service/ivschat/api.go +++ b/service/ivschat/api.go @@ -56,9 +56,20 @@ func (c *Ivschat) CreateChatTokenRequest(input *CreateChatTokenInput) (req *requ // CreateChatToken API operation for Amazon Interactive Video Service Chat. // -// Creates an encrypted token that is used to establish an individual WebSocket -// connection to a room. The token is valid for one minute, and a connection -// (session) established with the token is valid for the specified duration. +// Creates an encrypted token that is used by a chat participant to establish +// an individual WebSocket chat connection to a room. When the token is used +// to connect to chat, the connection is valid for the session duration specified +// in the request. The token becomes invalid at the token-expiration timestamp +// included in the response. +// +// Use the capabilities field to permit an end user to send messages or moderate +// a room. +// +// The attributes field securely attaches structured data to the chat session; +// the data is included within each message sent by the end user and received +// by other participants in the room. Common use cases for attributes include +// passing end-user profile data like an icon, display name, colors, badges, +// and other display features. // // Encryption keys are owned by Amazon IVS Chat and never used directly by your // application. @@ -102,6 +113,95 @@ func (c *Ivschat) CreateChatTokenWithContext(ctx aws.Context, input *CreateChatT return out, req.Send() } +const opCreateLoggingConfiguration = "CreateLoggingConfiguration" + +// CreateLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLoggingConfiguration for more information on using the CreateLoggingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateLoggingConfigurationRequest method. +// req, resp := client.CreateLoggingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/CreateLoggingConfiguration +func (c *Ivschat) CreateLoggingConfigurationRequest(input *CreateLoggingConfigurationInput) (req *request.Request, output *CreateLoggingConfigurationOutput) { + op := &request.Operation{ + Name: opCreateLoggingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/CreateLoggingConfiguration", + } + + if input == nil { + input = &CreateLoggingConfigurationInput{} + } + + output = &CreateLoggingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLoggingConfiguration API operation for Amazon Interactive Video Service Chat. +// +// Creates a logging configuration that allows clients to store and record sent +// messages. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service Chat's +// API operation CreateLoggingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// +// - AccessDeniedException +// +// - ResourceNotFoundException +// +// - ServiceQuotaExceededException +// +// - PendingVerification +// +// - ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/CreateLoggingConfiguration +func (c *Ivschat) CreateLoggingConfiguration(input *CreateLoggingConfigurationInput) (*CreateLoggingConfigurationOutput, error) { + req, out := c.CreateLoggingConfigurationRequest(input) + return out, req.Send() +} + +// CreateLoggingConfigurationWithContext is the same as CreateLoggingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLoggingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) CreateLoggingConfigurationWithContext(ctx aws.Context, input *CreateLoggingConfigurationInput, opts ...request.Option) (*CreateLoggingConfigurationOutput, error) { + req, out := c.CreateLoggingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRoom = "CreateRoom" // CreateRoomRequest generates a "aws/request.Request" representing the @@ -190,6 +290,93 @@ func (c *Ivschat) CreateRoomWithContext(ctx aws.Context, input *CreateRoomInput, return out, req.Send() } +const opDeleteLoggingConfiguration = "DeleteLoggingConfiguration" + +// DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteLoggingConfigurationRequest method. +// req, resp := client.DeleteLoggingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/DeleteLoggingConfiguration +func (c *Ivschat) DeleteLoggingConfigurationRequest(input *DeleteLoggingConfigurationInput) (req *request.Request, output *DeleteLoggingConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteLoggingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/DeleteLoggingConfiguration", + } + + if input == nil { + input = &DeleteLoggingConfigurationInput{} + } + + output = &DeleteLoggingConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLoggingConfiguration API operation for Amazon Interactive Video Service Chat. +// +// Deletes the specified logging configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service Chat's +// API operation DeleteLoggingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// +// - AccessDeniedException +// +// - ResourceNotFoundException +// +// - PendingVerification +// +// - ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/DeleteLoggingConfiguration +func (c *Ivschat) DeleteLoggingConfiguration(input *DeleteLoggingConfigurationInput) (*DeleteLoggingConfigurationOutput, error) { + req, out := c.DeleteLoggingConfigurationRequest(input) + return out, req.Send() +} + +// DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLoggingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *DeleteLoggingConfigurationInput, opts ...request.Option) (*DeleteLoggingConfigurationOutput, error) { + req, out := c.DeleteLoggingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMessage = "DeleteMessage" // DeleteMessageRequest generates a "aws/request.Request" representing the @@ -450,6 +637,88 @@ func (c *Ivschat) DisconnectUserWithContext(ctx aws.Context, input *DisconnectUs return out, req.Send() } +const opGetLoggingConfiguration = "GetLoggingConfiguration" + +// GetLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLoggingConfiguration for more information on using the GetLoggingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetLoggingConfigurationRequest method. +// req, resp := client.GetLoggingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/GetLoggingConfiguration +func (c *Ivschat) GetLoggingConfigurationRequest(input *GetLoggingConfigurationInput) (req *request.Request, output *GetLoggingConfigurationOutput) { + op := &request.Operation{ + Name: opGetLoggingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/GetLoggingConfiguration", + } + + if input == nil { + input = &GetLoggingConfigurationInput{} + } + + output = &GetLoggingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLoggingConfiguration API operation for Amazon Interactive Video Service Chat. +// +// Gets the specified logging configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service Chat's +// API operation GetLoggingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// +// - ResourceNotFoundException +// +// - ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/GetLoggingConfiguration +func (c *Ivschat) GetLoggingConfiguration(input *GetLoggingConfigurationInput) (*GetLoggingConfigurationOutput, error) { + req, out := c.GetLoggingConfigurationRequest(input) + return out, req.Send() +} + +// GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetLoggingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) GetLoggingConfigurationWithContext(ctx aws.Context, input *GetLoggingConfigurationInput, opts ...request.Option) (*GetLoggingConfigurationOutput, error) { + req, out := c.GetLoggingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetRoom = "GetRoom" // GetRoomRequest generates a "aws/request.Request" representing the @@ -532,36 +801,36 @@ func (c *Ivschat) GetRoomWithContext(ctx aws.Context, input *GetRoomInput, opts return out, req.Send() } -const opListRooms = "ListRooms" +const opListLoggingConfigurations = "ListLoggingConfigurations" -// ListRoomsRequest generates a "aws/request.Request" representing the -// client's request for the ListRooms operation. The "output" return +// ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListLoggingConfigurations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListRooms for more information on using the ListRooms +// See ListLoggingConfigurations for more information on using the ListLoggingConfigurations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListRoomsRequest method. -// req, resp := client.ListRoomsRequest(params) +// // Example sending a request using the ListLoggingConfigurationsRequest method. +// req, resp := client.ListLoggingConfigurationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListRooms -func (c *Ivschat) ListRoomsRequest(input *ListRoomsInput) (req *request.Request, output *ListRoomsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListLoggingConfigurations +func (c *Ivschat) ListLoggingConfigurationsRequest(input *ListLoggingConfigurationsInput) (req *request.Request, output *ListLoggingConfigurationsOutput) { op := &request.Operation{ - Name: opListRooms, + Name: opListLoggingConfigurations, HTTPMethod: "POST", - HTTPPath: "/ListRooms", + HTTPPath: "/ListLoggingConfigurations", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -571,92 +840,90 @@ func (c *Ivschat) ListRoomsRequest(input *ListRoomsInput) (req *request.Request, } if input == nil { - input = &ListRoomsInput{} + input = &ListLoggingConfigurationsInput{} } - output = &ListRoomsOutput{} + output = &ListLoggingConfigurationsOutput{} req = c.newRequest(op, input, output) return } -// ListRooms API operation for Amazon Interactive Video Service Chat. +// ListLoggingConfigurations API operation for Amazon Interactive Video Service Chat. // -// Gets summary information about all your rooms in the AWS region where the -// API request is processed. Results are sorted in descending order of updateTime. +// Gets summary information about all your logging configurations in the AWS +// region where the API request is processed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Interactive Video Service Chat's -// API operation ListRooms for usage and error information. +// API operation ListLoggingConfigurations for usage and error information. // // Returned Error Types: // // - AccessDeniedException // -// - ResourceNotFoundException -// // - ValidationException // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListRooms -func (c *Ivschat) ListRooms(input *ListRoomsInput) (*ListRoomsOutput, error) { - req, out := c.ListRoomsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListLoggingConfigurations +func (c *Ivschat) ListLoggingConfigurations(input *ListLoggingConfigurationsInput) (*ListLoggingConfigurationsOutput, error) { + req, out := c.ListLoggingConfigurationsRequest(input) return out, req.Send() } -// ListRoomsWithContext is the same as ListRooms with the addition of +// ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of // the ability to pass a context and additional request options. // -// See ListRooms for details on how to use this API operation. +// See ListLoggingConfigurations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Ivschat) ListRoomsWithContext(ctx aws.Context, input *ListRoomsInput, opts ...request.Option) (*ListRoomsOutput, error) { - req, out := c.ListRoomsRequest(input) +func (c *Ivschat) ListLoggingConfigurationsWithContext(ctx aws.Context, input *ListLoggingConfigurationsInput, opts ...request.Option) (*ListLoggingConfigurationsOutput, error) { + req, out := c.ListLoggingConfigurationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListRoomsPages iterates over the pages of a ListRooms operation, +// ListLoggingConfigurationsPages iterates over the pages of a ListLoggingConfigurations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListRooms method for more information on how to use this operation. +// See ListLoggingConfigurations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListRooms operation. +// // Example iterating over at most 3 pages of a ListLoggingConfigurations operation. // pageNum := 0 -// err := client.ListRoomsPages(params, -// func(page *ivschat.ListRoomsOutput, lastPage bool) bool { +// err := client.ListLoggingConfigurationsPages(params, +// func(page *ivschat.ListLoggingConfigurationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Ivschat) ListRoomsPages(input *ListRoomsInput, fn func(*ListRoomsOutput, bool) bool) error { - return c.ListRoomsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Ivschat) ListLoggingConfigurationsPages(input *ListLoggingConfigurationsInput, fn func(*ListLoggingConfigurationsOutput, bool) bool) error { + return c.ListLoggingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListRoomsPagesWithContext same as ListRoomsPages except +// ListLoggingConfigurationsPagesWithContext same as ListLoggingConfigurationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Ivschat) ListRoomsPagesWithContext(ctx aws.Context, input *ListRoomsInput, fn func(*ListRoomsOutput, bool) bool, opts ...request.Option) error { +func (c *Ivschat) ListLoggingConfigurationsPagesWithContext(ctx aws.Context, input *ListLoggingConfigurationsInput, fn func(*ListLoggingConfigurationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListRoomsInput + var inCpy *ListLoggingConfigurationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListRoomsRequest(inCpy) + req, _ := c.ListLoggingConfigurationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -664,7 +931,7 @@ func (c *Ivschat) ListRoomsPagesWithContext(ctx aws.Context, input *ListRoomsInp } for p.Next() { - if !fn(p.Page().(*ListRoomsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListLoggingConfigurationsOutput), !p.HasNextPage()) { break } } @@ -672,43 +939,183 @@ func (c *Ivschat) ListRoomsPagesWithContext(ctx aws.Context, input *ListRoomsInp return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListRooms = "ListRooms" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListRoomsRequest generates a "aws/request.Request" representing the +// client's request for the ListRooms operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListRooms for more information on using the ListRooms // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListRoomsRequest method. +// req, resp := client.ListRoomsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListTagsForResource -func (c *Ivschat) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListRooms +func (c *Ivschat) ListRoomsRequest(input *ListRoomsInput) (req *request.Request, output *ListRoomsOutput) { op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", - } - - if input == nil { - input = &ListTagsForResourceInput{} - } - - output = &ListTagsForResourceOutput{} + Name: opListRooms, + HTTPMethod: "POST", + HTTPPath: "/ListRooms", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRoomsInput{} + } + + output = &ListRoomsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRooms API operation for Amazon Interactive Video Service Chat. +// +// Gets summary information about all your rooms in the AWS region where the +// API request is processed. Results are sorted in descending order of updateTime. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service Chat's +// API operation ListRooms for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// +// - ResourceNotFoundException +// +// - ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListRooms +func (c *Ivschat) ListRooms(input *ListRoomsInput) (*ListRoomsOutput, error) { + req, out := c.ListRoomsRequest(input) + return out, req.Send() +} + +// ListRoomsWithContext is the same as ListRooms with the addition of +// the ability to pass a context and additional request options. +// +// See ListRooms for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) ListRoomsWithContext(ctx aws.Context, input *ListRoomsInput, opts ...request.Option) (*ListRoomsOutput, error) { + req, out := c.ListRoomsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRoomsPages iterates over the pages of a ListRooms operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRooms method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRooms operation. +// pageNum := 0 +// err := client.ListRoomsPages(params, +// func(page *ivschat.ListRoomsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Ivschat) ListRoomsPages(input *ListRoomsInput, fn func(*ListRoomsOutput, bool) bool) error { + return c.ListRoomsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRoomsPagesWithContext same as ListRoomsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) ListRoomsPagesWithContext(ctx aws.Context, input *ListRoomsInput, fn func(*ListRoomsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRoomsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRoomsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRoomsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/ListTagsForResource +func (c *Ivschat) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } @@ -1006,6 +1413,90 @@ func (c *Ivschat) UntagResourceWithContext(ctx aws.Context, input *UntagResource return out, req.Send() } +const opUpdateLoggingConfiguration = "UpdateLoggingConfiguration" + +// UpdateLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLoggingConfiguration for more information on using the UpdateLoggingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLoggingConfigurationRequest method. +// req, resp := client.UpdateLoggingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/UpdateLoggingConfiguration +func (c *Ivschat) UpdateLoggingConfigurationRequest(input *UpdateLoggingConfigurationInput) (req *request.Request, output *UpdateLoggingConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateLoggingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/UpdateLoggingConfiguration", + } + + if input == nil { + input = &UpdateLoggingConfigurationInput{} + } + + output = &UpdateLoggingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLoggingConfiguration API operation for Amazon Interactive Video Service Chat. +// +// Updates a specified logging configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service Chat's +// API operation UpdateLoggingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// +// - ResourceNotFoundException +// +// - PendingVerification +// +// - ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivschat-2020-07-14/UpdateLoggingConfiguration +func (c *Ivschat) UpdateLoggingConfiguration(input *UpdateLoggingConfigurationInput) (*UpdateLoggingConfigurationOutput, error) { + req, out := c.UpdateLoggingConfigurationRequest(input) + return out, req.Send() +} + +// UpdateLoggingConfigurationWithContext is the same as UpdateLoggingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLoggingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Ivschat) UpdateLoggingConfigurationWithContext(ctx aws.Context, input *UpdateLoggingConfigurationInput, opts ...request.Option) (*UpdateLoggingConfigurationOutput, error) { + req, out := c.UpdateLoggingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateRoom = "UpdateRoom" // UpdateRoomRequest generates a "aws/request.Request" representing the @@ -1153,6 +1644,57 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// Specifies a CloudWatch Logs location where chat logs will be stored. +type CloudWatchLogsDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // Name of the Amazon Cloudwatch Logs destination where chat activity will be + // logged. + // + // LogGroupName is a required field + LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchLogsDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchLogsDestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLogsDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsDestinationConfiguration"} + if s.LogGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupName")) + } + if s.LogGroupName != nil && len(*s.LogGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogGroupName sets the LogGroupName field's value. +func (s *CloudWatchLogsDestinationConfiguration) SetLogGroupName(v string) *CloudWatchLogsDestinationConfiguration { + s.LogGroupName = &v + return s +} + type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1376,17 +1918,196 @@ func (s *CreateChatTokenOutput) SetTokenExpirationTime(v time.Time) *CreateChatT return s } -type CreateRoomInput struct { +type CreateLoggingConfigurationInput struct { _ struct{} `type:"structure"` - // Maximum number of characters in a single message. Messages are expected to - // be UTF-8 encoded and this limit applies specifically to rune/code-point count, - // not number of bytes. Default: 500. - MaximumMessageLength *int64 `locationName:"maximumMessageLength" min:"1" type:"integer"` + // A complex type that contains a destination configuration for where chat content + // will be logged. There can be only one type of destination (cloudWatchLogs, + // firehose, or s3) in a destinationConfiguration. + // + // DestinationConfiguration is a required field + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure" required:"true"` - // Maximum number of messages per second that can be sent to the room (by all - // clients). Default: 10. - MaximumMessageRatePerSecond *int64 `locationName:"maximumMessageRatePerSecond" min:"1" type:"integer"` + // Logging-configuration name. The value does not need to be unique. + Name *string `locationName:"name" type:"string"` + + // Tags to attach to the resource. Array of maps, each of the form string:string + // (key:value). See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // for details, including restrictions that apply to tags and "Tag naming limits + // and requirements"; Amazon IVS Chat has no constraints on tags beyond what + // is documented there. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLoggingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLoggingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLoggingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoggingConfigurationInput"} + if s.DestinationConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationConfiguration")) + } + if s.DestinationConfiguration != nil { + if err := s.DestinationConfiguration.Validate(); err != nil { + invalidParams.AddNested("DestinationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *CreateLoggingConfigurationInput) SetDestinationConfiguration(v *DestinationConfiguration) *CreateLoggingConfigurationInput { + s.DestinationConfiguration = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateLoggingConfigurationInput) SetName(v string) *CreateLoggingConfigurationInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLoggingConfigurationInput) SetTags(v map[string]*string) *CreateLoggingConfigurationInput { + s.Tags = v + return s +} + +type CreateLoggingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Logging-configuration ARN, assigned by the system. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Time when the logging configuration was created. This is an ISO 8601 timestamp; + // note that this is returned as a string. + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"` + + // A complex type that contains a destination configuration for where chat content + // will be logged, from the request. There is only one type of destination (cloudWatchLogs, + // firehose, or s3) in a destinationConfiguration. + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure"` + + // Logging-configuration ID, generated by the system. This is a relative identifier, + // the part of the ARN that uniquely identifies the logging configuration. + Id *string `locationName:"id" min:"12" type:"string"` + + // Logging-configuration name, from the request (if specified). + Name *string `locationName:"name" type:"string"` + + // The state of the logging configuration. When the state is ACTIVE, the configuration + // is ready to log chat content. + State *string `locationName:"state" type:"string" enum:"CreateLoggingConfigurationState"` + + // Tags attached to the resource, from the request (if specified). Array of + // maps, each of the form string:string (key:value). + Tags map[string]*string `locationName:"tags" type:"map"` + + // Time of the logging configuration’s last update. This is an ISO 8601 timestamp; + // note that this is returned as a string. + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLoggingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLoggingConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateLoggingConfigurationOutput) SetArn(v string) *CreateLoggingConfigurationOutput { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CreateLoggingConfigurationOutput) SetCreateTime(v time.Time) *CreateLoggingConfigurationOutput { + s.CreateTime = &v + return s +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *CreateLoggingConfigurationOutput) SetDestinationConfiguration(v *DestinationConfiguration) *CreateLoggingConfigurationOutput { + s.DestinationConfiguration = v + return s +} + +// SetId sets the Id field's value. +func (s *CreateLoggingConfigurationOutput) SetId(v string) *CreateLoggingConfigurationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateLoggingConfigurationOutput) SetName(v string) *CreateLoggingConfigurationOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateLoggingConfigurationOutput) SetState(v string) *CreateLoggingConfigurationOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLoggingConfigurationOutput) SetTags(v map[string]*string) *CreateLoggingConfigurationOutput { + s.Tags = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CreateLoggingConfigurationOutput) SetUpdateTime(v time.Time) *CreateLoggingConfigurationOutput { + s.UpdateTime = &v + return s +} + +type CreateRoomInput struct { + _ struct{} `type:"structure"` + + // Array of logging-configuration identifiers attached to the room. + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + + // Maximum number of characters in a single message. Messages are expected to + // be UTF-8 encoded and this limit applies specifically to rune/code-point count, + // not number of bytes. Default: 500. + MaximumMessageLength *int64 `locationName:"maximumMessageLength" min:"1" type:"integer"` + + // Maximum number of messages per second that can be sent to the room (by all + // clients). Default: 10. + MaximumMessageRatePerSecond *int64 `locationName:"maximumMessageRatePerSecond" min:"1" type:"integer"` // Configuration information for optional review of messages. MessageReviewHandler *MessageReviewHandler `locationName:"messageReviewHandler" type:"structure"` @@ -1436,6 +2157,12 @@ func (s *CreateRoomInput) Validate() error { return nil } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *CreateRoomInput) SetLoggingConfigurationIdentifiers(v []*string) *CreateRoomInput { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMaximumMessageLength sets the MaximumMessageLength field's value. func (s *CreateRoomInput) SetMaximumMessageLength(v int64) *CreateRoomInput { s.MaximumMessageLength = &v @@ -1480,11 +2207,15 @@ type CreateRoomOutput struct { // of the ARN that uniquely identifies the room. Id *string `locationName:"id" min:"12" type:"string"` - // Maximum number of characters in a single message, from the request. + // Array of logging configurations attached to the room, from the request (if + // specified). + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + + // Maximum number of characters in a single message, from the request (if specified). MaximumMessageLength *int64 `locationName:"maximumMessageLength" min:"1" type:"integer"` // Maximum number of messages per second that can be sent to the room (by all - // clients), from the request. + // clients), from the request (if specified). MaximumMessageRatePerSecond *int64 `locationName:"maximumMessageRatePerSecond" min:"1" type:"integer"` // Configuration information for optional review of messages. @@ -1493,7 +2224,7 @@ type CreateRoomOutput struct { // Room name, from the request (if specified). Name *string `locationName:"name" type:"string"` - // Tags attached to the resource, from the request. + // Tags attached to the resource, from the request (if specified). Tags map[string]*string `locationName:"tags" type:"map"` // Time of the room’s last update. This is an ISO 8601 timestamp; note that @@ -1537,6 +2268,12 @@ func (s *CreateRoomOutput) SetId(v string) *CreateRoomOutput { return s } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *CreateRoomOutput) SetLoggingConfigurationIdentifiers(v []*string) *CreateRoomOutput { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMaximumMessageLength sets the MaximumMessageLength field's value. func (s *CreateRoomOutput) SetMaximumMessageLength(v int64) *CreateRoomOutput { s.MaximumMessageLength = &v @@ -1573,6 +2310,77 @@ func (s *CreateRoomOutput) SetUpdateTime(v time.Time) *CreateRoomOutput { return s } +type DeleteLoggingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Identifier of the logging configuration to be deleted. + // + // Identifier is a required field + Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLoggingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLoggingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLoggingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoggingConfigurationInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *DeleteLoggingConfigurationInput) SetIdentifier(v string) *DeleteLoggingConfigurationInput { + s.Identifier = &v + return s +} + +type DeleteLoggingConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLoggingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLoggingConfigurationOutput) GoString() string { + return s.String() +} + type DeleteMessageInput struct { _ struct{} `type:"structure"` @@ -1756,6 +2564,86 @@ func (s DeleteRoomOutput) GoString() string { return s.String() } +// A complex type that describes a location where chat logs will be stored. +// Each member represents the configuration of one log destination. For logging, +// you define only one type of destination (for CloudWatch Logs, Kinesis Firehose, +// or S3). +type DestinationConfiguration struct { + _ struct{} `type:"structure"` + + // Name of the Amazon CloudWatch Logs destination where chat activity will be + // logged. + CloudWatchLogs *CloudWatchLogsDestinationConfiguration `locationName:"cloudWatchLogs" type:"structure"` + + // Name of the Amazon Kinesis Data Firehose destination where chat activity + // will be logged + Firehose *FirehoseDestinationConfiguration `locationName:"firehose" type:"structure"` + + // Name of the Amazon S3 bucket where chat activity will be logged. + S3 *S3DestinationConfiguration `locationName:"s3" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DestinationConfiguration"} + if s.CloudWatchLogs != nil { + if err := s.CloudWatchLogs.Validate(); err != nil { + invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams)) + } + } + if s.Firehose != nil { + if err := s.Firehose.Validate(); err != nil { + invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams)) + } + } + if s.S3 != nil { + if err := s.S3.Validate(); err != nil { + invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLogs sets the CloudWatchLogs field's value. +func (s *DestinationConfiguration) SetCloudWatchLogs(v *CloudWatchLogsDestinationConfiguration) *DestinationConfiguration { + s.CloudWatchLogs = v + return s +} + +// SetFirehose sets the Firehose field's value. +func (s *DestinationConfiguration) SetFirehose(v *FirehoseDestinationConfiguration) *DestinationConfiguration { + s.Firehose = v + return s +} + +// SetS3 sets the S3 field's value. +func (s *DestinationConfiguration) SetS3(v *S3DestinationConfiguration) *DestinationConfiguration { + s.S3 = v + return s +} + type DisconnectUserInput struct { _ struct{} `type:"structure"` @@ -1857,14 +2745,15 @@ func (s DisconnectUserOutput) GoString() string { return s.String() } -type GetRoomInput struct { +// Specifies a Kinesis Firehose location where chat logs will be stored. +type FirehoseDestinationConfiguration struct { _ struct{} `type:"structure"` - // Identifier of the room for which the configuration is to be retrieved. Currently - // this must be an ARN. + // Name of the Amazon Kinesis Firehose delivery stream where chat activity will + // be logged. // - // Identifier is a required field - Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` + // DeliveryStreamName is a required field + DeliveryStreamName *string `locationName:"deliveryStreamName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1872,7 +2761,7 @@ type GetRoomInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetRoomInput) String() string { +func (s FirehoseDestinationConfiguration) String() string { return awsutil.Prettify(s) } @@ -1881,18 +2770,18 @@ func (s GetRoomInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetRoomInput) GoString() string { +func (s FirehoseDestinationConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetRoomInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetRoomInput"} - if s.Identifier == nil { - invalidParams.Add(request.NewErrParamRequired("Identifier")) +func (s *FirehoseDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FirehoseDestinationConfiguration"} + if s.DeliveryStreamName == nil { + invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) } - if s.Identifier != nil && len(*s.Identifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) } if invalidParams.Len() > 0 { @@ -1901,8 +2790,208 @@ func (s *GetRoomInput) Validate() error { return nil } -// SetIdentifier sets the Identifier field's value. -func (s *GetRoomInput) SetIdentifier(v string) *GetRoomInput { +// SetDeliveryStreamName sets the DeliveryStreamName field's value. +func (s *FirehoseDestinationConfiguration) SetDeliveryStreamName(v string) *FirehoseDestinationConfiguration { + s.DeliveryStreamName = &v + return s +} + +type GetLoggingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Identifier of the logging configuration to be retrieved. + // + // Identifier is a required field + Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLoggingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLoggingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLoggingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLoggingConfigurationInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *GetLoggingConfigurationInput) SetIdentifier(v string) *GetLoggingConfigurationInput { + s.Identifier = &v + return s +} + +type GetLoggingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Logging-configuration ARN, from the request (if identifier was an ARN). + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Time when the logging configuration was created. This is an ISO 8601 timestamp; + // note that this is returned as a string. + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"` + + // A complex type that contains a destination configuration for where chat content + // will be logged. There is only one type of destination (cloudWatchLogs, firehose, + // or s3) in a destinationConfiguration. + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure"` + + // Logging-configuration ID, generated by the system. This is a relative identifier, + // the part of the ARN that uniquely identifies the logging configuration. + Id *string `locationName:"id" min:"12" type:"string"` + + // Logging-configuration name. This value does not need to be unique. + Name *string `locationName:"name" type:"string"` + + // The state of the logging configuration. When the state is ACTIVE, the configuration + // is ready to log chat content. + State *string `locationName:"state" type:"string" enum:"LoggingConfigurationState"` + + // Tags attached to the resource. Array of maps, each of the form string:string + // (key:value). + Tags map[string]*string `locationName:"tags" type:"map"` + + // Time of the logging configuration’s last update. This is an ISO 8601 timestamp; + // note that this is returned as a string. + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLoggingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLoggingConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetLoggingConfigurationOutput) SetArn(v string) *GetLoggingConfigurationOutput { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetLoggingConfigurationOutput) SetCreateTime(v time.Time) *GetLoggingConfigurationOutput { + s.CreateTime = &v + return s +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *GetLoggingConfigurationOutput) SetDestinationConfiguration(v *DestinationConfiguration) *GetLoggingConfigurationOutput { + s.DestinationConfiguration = v + return s +} + +// SetId sets the Id field's value. +func (s *GetLoggingConfigurationOutput) SetId(v string) *GetLoggingConfigurationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetLoggingConfigurationOutput) SetName(v string) *GetLoggingConfigurationOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *GetLoggingConfigurationOutput) SetState(v string) *GetLoggingConfigurationOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetLoggingConfigurationOutput) SetTags(v map[string]*string) *GetLoggingConfigurationOutput { + s.Tags = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetLoggingConfigurationOutput) SetUpdateTime(v time.Time) *GetLoggingConfigurationOutput { + s.UpdateTime = &v + return s +} + +type GetRoomInput struct { + _ struct{} `type:"structure"` + + // Identifier of the room for which the configuration is to be retrieved. Currently + // this must be an ARN. + // + // Identifier is a required field + Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRoomInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRoomInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRoomInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRoomInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *GetRoomInput) SetIdentifier(v string) *GetRoomInput { s.Identifier = &v return s } @@ -1921,6 +3010,9 @@ type GetRoomOutput struct { // of the ARN that uniquely identifies the room. Id *string `locationName:"id" min:"12" type:"string"` + // Array of logging configurations attached to the room. + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + // Maximum number of characters in a single message. Messages are expected to // be UTF-8 encoded and this limit applies specifically to rune/code-point count, // not number of bytes. Default: 500. @@ -1981,6 +3073,12 @@ func (s *GetRoomOutput) SetId(v string) *GetRoomOutput { return s } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *GetRoomOutput) SetLoggingConfigurationIdentifiers(v []*string) *GetRoomOutput { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMaximumMessageLength sets the MaximumMessageLength field's value. func (s *GetRoomOutput) SetMaximumMessageLength(v int64) *GetRoomOutput { s.MaximumMessageLength = &v @@ -2080,9 +3178,110 @@ func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } +type ListLoggingConfigurationsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of logging configurations to return. Default: 50. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The first logging configurations to retrieve. This is used for pagination; + // see the nextToken response field. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLoggingConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLoggingConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLoggingConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLoggingConfigurationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLoggingConfigurationsInput) SetMaxResults(v int64) *ListLoggingConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLoggingConfigurationsInput) SetNextToken(v string) *ListLoggingConfigurationsInput { + s.NextToken = &v + return s +} + +type ListLoggingConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // List of the matching logging configurations (summary information only). There + // is only one type of destination (cloudWatchLogs, firehose, or s3) in a destinationConfiguration. + // + // LoggingConfigurations is a required field + LoggingConfigurations []*LoggingConfigurationSummary `locationName:"loggingConfigurations" type:"list" required:"true"` + + // If there are more logging configurations than maxResults, use nextToken in + // the request to get the next set. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLoggingConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLoggingConfigurationsOutput) GoString() string { + return s.String() +} + +// SetLoggingConfigurations sets the LoggingConfigurations field's value. +func (s *ListLoggingConfigurationsOutput) SetLoggingConfigurations(v []*LoggingConfigurationSummary) *ListLoggingConfigurationsOutput { + s.LoggingConfigurations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLoggingConfigurationsOutput) SetNextToken(v string) *ListLoggingConfigurationsOutput { + s.NextToken = &v + return s +} + type ListRoomsInput struct { _ struct{} `type:"structure"` + // Logging-configuration identifier. + LoggingConfigurationIdentifier *string `locationName:"loggingConfigurationIdentifier" min:"1" type:"string"` + // Maximum number of rooms to return. Default: 50. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -2118,6 +3317,9 @@ func (s ListRoomsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListRoomsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListRoomsInput"} + if s.LoggingConfigurationIdentifier != nil && len(*s.LoggingConfigurationIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LoggingConfigurationIdentifier", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -2128,6 +3330,12 @@ func (s *ListRoomsInput) Validate() error { return nil } +// SetLoggingConfigurationIdentifier sets the LoggingConfigurationIdentifier field's value. +func (s *ListRoomsInput) SetLoggingConfigurationIdentifier(v string) *ListRoomsInput { + s.LoggingConfigurationIdentifier = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListRoomsInput) SetMaxResults(v int64) *ListRoomsInput { s.MaxResults = &v @@ -2238,19 +3446,82 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v - return s -} +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // Tags attached to the resource. Array of maps, each of the form string:string + // (key:value). + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Summary information about a logging configuration. +type LoggingConfigurationSummary struct { + _ struct{} `type:"structure"` + + // Logging-configuration ARN. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Time when the logging configuration was created. This is an ISO 8601 timestamp; + // note that this is returned as a string. + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"` + + // A complex type that contains a destination configuration for where chat content + // will be logged. + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure"` + + // Logging-configuration ID, generated by the system. This is a relative identifier, + // the part of the ARN that uniquely identifies the room. + Id *string `locationName:"id" min:"12" type:"string"` + + // Logging-configuration name. The value does not need to be unique. + Name *string `locationName:"name" type:"string"` + + // The state of the logging configuration. When this is ACTIVE, the configuration + // is ready for logging chat content. + State *string `locationName:"state" type:"string" enum:"LoggingConfigurationState"` -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` + // Tags to attach to the resource. Array of maps, each of the form string:string + // (key:value). See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // for details, including restrictions that apply to tags and "Tag naming limits + // and requirements"; Amazon IVS Chat has no constraints on tags beyond what + // is documented there. + Tags map[string]*string `locationName:"tags" type:"map"` - // Tags attached to the resource, from the request. - // - // Tags is a required field - Tags map[string]*string `locationName:"tags" type:"map" required:"true"` + // Time of the logging configuration’s last update. This is an ISO 8601 timestamp; + // note that this is returned as a string. + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation. @@ -2258,7 +3529,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s LoggingConfigurationSummary) String() string { return awsutil.Prettify(s) } @@ -2267,16 +3538,58 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s LoggingConfigurationSummary) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *LoggingConfigurationSummary) SetArn(v string) *LoggingConfigurationSummary { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *LoggingConfigurationSummary) SetCreateTime(v time.Time) *LoggingConfigurationSummary { + s.CreateTime = &v + return s +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *LoggingConfigurationSummary) SetDestinationConfiguration(v *DestinationConfiguration) *LoggingConfigurationSummary { + s.DestinationConfiguration = v + return s +} + +// SetId sets the Id field's value. +func (s *LoggingConfigurationSummary) SetId(v string) *LoggingConfigurationSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *LoggingConfigurationSummary) SetName(v string) *LoggingConfigurationSummary { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *LoggingConfigurationSummary) SetState(v string) *LoggingConfigurationSummary { + s.State = &v + return s +} + // SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { +func (s *LoggingConfigurationSummary) SetTags(v map[string]*string) *LoggingConfigurationSummary { s.Tags = v return s } +// SetUpdateTime sets the UpdateTime field's value. +func (s *LoggingConfigurationSummary) SetUpdateTime(v time.Time) *LoggingConfigurationSummary { + s.UpdateTime = &v + return s +} + // Configuration information for optional message review. type MessageReviewHandler struct { _ struct{} `type:"structure"` @@ -2471,13 +3784,17 @@ type RoomSummary struct { // of the ARN that uniquely identifies the room. Id *string `locationName:"id" min:"12" type:"string"` + // List of logging-configuration identifiers attached to the room. + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + // Configuration information for optional review of messages. MessageReviewHandler *MessageReviewHandler `locationName:"messageReviewHandler" type:"structure"` // Room name. The value does not need to be unique. Name *string `locationName:"name" type:"string"` - // Tags attached to the resource. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // Tags attached to the resource. Array of maps, each of the form string:string + // (key:value). See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) // for details, including restrictions that apply to tags and "Tag naming limits // and requirements"; Amazon IVS Chat has no constraints beyond what is documented // there. @@ -2524,6 +3841,12 @@ func (s *RoomSummary) SetId(v string) *RoomSummary { return s } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *RoomSummary) SetLoggingConfigurationIdentifiers(v []*string) *RoomSummary { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMessageReviewHandler sets the MessageReviewHandler field's value. func (s *RoomSummary) SetMessageReviewHandler(v *MessageReviewHandler) *RoomSummary { s.MessageReviewHandler = v @@ -2548,6 +3871,56 @@ func (s *RoomSummary) SetUpdateTime(v time.Time) *RoomSummary { return s } +// Specifies an S3 location where chat logs will be stored. +type S3DestinationConfiguration struct { + _ struct{} `type:"structure"` + + // Name of the Amazon S3 bucket where chat activity will be logged. + // + // BucketName is a required field + BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3DestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3DestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3DestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *S3DestinationConfiguration) SetBucketName(v string) *S3DestinationConfiguration { + s.BucketName = &v + return s +} + type SendEventInput struct { _ struct{} `type:"structure"` @@ -2737,7 +4110,8 @@ type TagResourceInput struct { // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` - // Array of tags to be added or updated. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // Array of tags to be added or updated. Array of maps, each of the form string:string + // (key:value). See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) // for details, including restrictions that apply to tags and "Tag naming limits // and requirements"; Amazon IVS Chat has no constraints beyond what is documented // there. @@ -2897,7 +4271,8 @@ type UntagResourceInput struct { // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` - // Array of tags to be removed. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // Array of tags to be removed. Array of maps, each of the form string:string + // (key:value). See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) // for details, including restrictions that apply to tags and "Tag naming limits // and requirements"; Amazon IVS Chat has no constraints beyond what is documented // there. @@ -2977,6 +4352,181 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateLoggingConfigurationInput struct { + _ struct{} `type:"structure"` + + // A complex type that contains a destination configuration for where chat content + // will be logged. There can be only one type of destination (cloudWatchLogs, + // firehose, or s3) in a destinationConfiguration. + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure"` + + // Identifier of the logging configuration to be updated. + // + // Identifier is a required field + Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` + + // Logging-configuration name. The value does not need to be unique. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLoggingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLoggingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLoggingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLoggingConfigurationInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.DestinationConfiguration != nil { + if err := s.DestinationConfiguration.Validate(); err != nil { + invalidParams.AddNested("DestinationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *UpdateLoggingConfigurationInput) SetDestinationConfiguration(v *DestinationConfiguration) *UpdateLoggingConfigurationInput { + s.DestinationConfiguration = v + return s +} + +// SetIdentifier sets the Identifier field's value. +func (s *UpdateLoggingConfigurationInput) SetIdentifier(v string) *UpdateLoggingConfigurationInput { + s.Identifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLoggingConfigurationInput) SetName(v string) *UpdateLoggingConfigurationInput { + s.Name = &v + return s +} + +type UpdateLoggingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Logging-configuration ARN, from the request (if identifier was an ARN). + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Time when the logging configuration was created. This is an ISO 8601 timestamp; + // note that this is returned as a string. + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"` + + // A complex type that contains a destination configuration for where chat content + // will be logged, from the request. There is only one type of destination (cloudWatchLogs, + // firehose, or s3) in a destinationConfiguration. + DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure"` + + // Logging-configuration ID, generated by the system. This is a relative identifier, + // the part of the ARN that uniquely identifies the room. + Id *string `locationName:"id" min:"12" type:"string"` + + // Logging-configuration name, from the request (if specified). + Name *string `locationName:"name" type:"string"` + + // The state of the logging configuration. When the state is ACTIVE, the configuration + // is ready to log chat content. + State *string `locationName:"state" type:"string" enum:"UpdateLoggingConfigurationState"` + + // Tags attached to the resource. Array of maps, each of the form string:string + // (key:value). + Tags map[string]*string `locationName:"tags" type:"map"` + + // Time of the logging configuration’s last update. This is an ISO 8601 timestamp; + // note that this is returned as a string. + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLoggingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLoggingConfigurationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateLoggingConfigurationOutput) SetArn(v string) *UpdateLoggingConfigurationOutput { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *UpdateLoggingConfigurationOutput) SetCreateTime(v time.Time) *UpdateLoggingConfigurationOutput { + s.CreateTime = &v + return s +} + +// SetDestinationConfiguration sets the DestinationConfiguration field's value. +func (s *UpdateLoggingConfigurationOutput) SetDestinationConfiguration(v *DestinationConfiguration) *UpdateLoggingConfigurationOutput { + s.DestinationConfiguration = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateLoggingConfigurationOutput) SetId(v string) *UpdateLoggingConfigurationOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLoggingConfigurationOutput) SetName(v string) *UpdateLoggingConfigurationOutput { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *UpdateLoggingConfigurationOutput) SetState(v string) *UpdateLoggingConfigurationOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateLoggingConfigurationOutput) SetTags(v map[string]*string) *UpdateLoggingConfigurationOutput { + s.Tags = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *UpdateLoggingConfigurationOutput) SetUpdateTime(v time.Time) *UpdateLoggingConfigurationOutput { + s.UpdateTime = &v + return s +} + type UpdateRoomInput struct { _ struct{} `type:"structure"` @@ -2985,6 +4535,9 @@ type UpdateRoomInput struct { // Identifier is a required field Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true"` + // Array of logging-configuration identifiers attached to the room. + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + // The maximum number of characters in a single message. Messages are expected // to be UTF-8 encoded and this limit applies specifically to rune/code-point // count, not number of bytes. Default: 500. @@ -3048,6 +4601,12 @@ func (s *UpdateRoomInput) SetIdentifier(v string) *UpdateRoomInput { return s } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *UpdateRoomInput) SetLoggingConfigurationIdentifiers(v []*string) *UpdateRoomInput { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMaximumMessageLength sets the MaximumMessageLength field's value. func (s *UpdateRoomInput) SetMaximumMessageLength(v int64) *UpdateRoomInput { s.MaximumMessageLength = &v @@ -3086,20 +4645,25 @@ type UpdateRoomOutput struct { // of the ARN that uniquely identifies the room. Id *string `locationName:"id" min:"12" type:"string"` - // Maximum number of characters in a single message, from the request. + // Array of logging configurations attached to the room, from the request (if + // specified). + LoggingConfigurationIdentifiers []*string `locationName:"loggingConfigurationIdentifiers" type:"list"` + + // Maximum number of characters in a single message, from the request (if specified). MaximumMessageLength *int64 `locationName:"maximumMessageLength" min:"1" type:"integer"` // Maximum number of messages per second that can be sent to the room (by all - // clients), from the request. + // clients), from the request (if specified). MaximumMessageRatePerSecond *int64 `locationName:"maximumMessageRatePerSecond" min:"1" type:"integer"` // Configuration information for optional review of messages. MessageReviewHandler *MessageReviewHandler `locationName:"messageReviewHandler" type:"structure"` - // Room name, from the request. + // Room name, from the request (if specified). Name *string `locationName:"name" type:"string"` - // Tags attached to the resource. + // Tags attached to the resource. Array of maps, each of the form string:string + // (key:value). Tags map[string]*string `locationName:"tags" type:"map"` // Time of the room’s last update. This is an ISO 8601 timestamp; note that @@ -3143,6 +4707,12 @@ func (s *UpdateRoomOutput) SetId(v string) *UpdateRoomOutput { return s } +// SetLoggingConfigurationIdentifiers sets the LoggingConfigurationIdentifiers field's value. +func (s *UpdateRoomOutput) SetLoggingConfigurationIdentifiers(v []*string) *UpdateRoomOutput { + s.LoggingConfigurationIdentifiers = v + return s +} + // SetMaximumMessageLength sets the MaximumMessageLength field's value. func (s *UpdateRoomOutput) SetMaximumMessageLength(v int64) *UpdateRoomOutput { s.MaximumMessageLength = &v @@ -3312,6 +4882,18 @@ func ChatTokenCapability_Values() []string { } } +const ( + // CreateLoggingConfigurationStateActive is a CreateLoggingConfigurationState enum value + CreateLoggingConfigurationStateActive = "ACTIVE" +) + +// CreateLoggingConfigurationState_Values returns all elements of the CreateLoggingConfigurationState enum +func CreateLoggingConfigurationState_Values() []string { + return []string{ + CreateLoggingConfigurationStateActive, + } +} + const ( // FallbackResultAllow is a FallbackResult enum value FallbackResultAllow = "ALLOW" @@ -3328,6 +4910,42 @@ func FallbackResult_Values() []string { } } +const ( + // LoggingConfigurationStateCreating is a LoggingConfigurationState enum value + LoggingConfigurationStateCreating = "CREATING" + + // LoggingConfigurationStateCreateFailed is a LoggingConfigurationState enum value + LoggingConfigurationStateCreateFailed = "CREATE_FAILED" + + // LoggingConfigurationStateDeleting is a LoggingConfigurationState enum value + LoggingConfigurationStateDeleting = "DELETING" + + // LoggingConfigurationStateDeleteFailed is a LoggingConfigurationState enum value + LoggingConfigurationStateDeleteFailed = "DELETE_FAILED" + + // LoggingConfigurationStateUpdating is a LoggingConfigurationState enum value + LoggingConfigurationStateUpdating = "UPDATING" + + // LoggingConfigurationStateUpdateFailed is a LoggingConfigurationState enum value + LoggingConfigurationStateUpdateFailed = "UPDATE_FAILED" + + // LoggingConfigurationStateActive is a LoggingConfigurationState enum value + LoggingConfigurationStateActive = "ACTIVE" +) + +// LoggingConfigurationState_Values returns all elements of the LoggingConfigurationState enum +func LoggingConfigurationState_Values() []string { + return []string{ + LoggingConfigurationStateCreating, + LoggingConfigurationStateCreateFailed, + LoggingConfigurationStateDeleting, + LoggingConfigurationStateDeleteFailed, + LoggingConfigurationStateUpdating, + LoggingConfigurationStateUpdateFailed, + LoggingConfigurationStateActive, + } +} + const ( // ResourceTypeRoom is a ResourceType enum value ResourceTypeRoom = "ROOM" @@ -3340,6 +4958,18 @@ func ResourceType_Values() []string { } } +const ( + // UpdateLoggingConfigurationStateActive is a UpdateLoggingConfigurationState enum value + UpdateLoggingConfigurationStateActive = "ACTIVE" +) + +// UpdateLoggingConfigurationState_Values returns all elements of the UpdateLoggingConfigurationState enum +func UpdateLoggingConfigurationState_Values() []string { + return []string{ + UpdateLoggingConfigurationStateActive, + } +} + const ( // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" diff --git a/service/ivschat/doc.go b/service/ivschat/doc.go index 364c57ec7c5..5b7356acb41 100644 --- a/service/ivschat/doc.go +++ b/service/ivschat/doc.go @@ -25,7 +25,11 @@ // // # Resources // -// The following resource is part of Amazon IVS Chat: +// The following resources are part of Amazon IVS Chat: +// +// - LoggingConfiguration — A configuration that allows customers to store +// and record sent messages in a chat room. See the Logging Configuration +// endpoints for more information. // // - Room — The central Amazon IVS Chat resource through which clients // connect to and exchange chat messages. See the Room endpoints for more @@ -114,10 +118,11 @@ // // Chat Token Endpoint // -// - CreateChatToken — Creates an encrypted token that is used to establish -// an individual WebSocket connection to a room. The token is valid for one -// minute, and a connection (session) established with the token is valid -// for the specified duration. +// - CreateChatToken — Creates an encrypted token that is used by a chat +// participant to establish an individual WebSocket chat connection to a +// room. When the token is used to connect to chat, the connection is valid +// for the session duration specified in the request. The token becomes invalid +// at the token-expiration timestamp included in the response. // // Room Endpoints // @@ -133,6 +138,20 @@ // // - UpdateRoom — Updates a room’s configuration. // +// Logging Configuration Endpoints +// +// - CreateLoggingConfiguration — Creates a logging configuration that +// allows clients to store and record sent messages. +// +// - DeleteLoggingConfiguration — Deletes the specified logging configuration. +// +// - GetLoggingConfiguration — Gets the specified logging configuration. +// +// - ListLoggingConfigurations — Gets summary information about all your +// logging configurations in the AWS region where the API request is processed. +// +// - UpdateLoggingConfiguration — Updates a specified logging configuration. +// // Tags Endpoints // // - ListTagsForResource — Gets information about AWS tags for the specified diff --git a/service/ivschat/ivschatiface/interface.go b/service/ivschat/ivschatiface/interface.go index e22564337ad..428f36b41da 100644 --- a/service/ivschat/ivschatiface/interface.go +++ b/service/ivschat/ivschatiface/interface.go @@ -64,10 +64,18 @@ type IvschatAPI interface { CreateChatTokenWithContext(aws.Context, *ivschat.CreateChatTokenInput, ...request.Option) (*ivschat.CreateChatTokenOutput, error) CreateChatTokenRequest(*ivschat.CreateChatTokenInput) (*request.Request, *ivschat.CreateChatTokenOutput) + CreateLoggingConfiguration(*ivschat.CreateLoggingConfigurationInput) (*ivschat.CreateLoggingConfigurationOutput, error) + CreateLoggingConfigurationWithContext(aws.Context, *ivschat.CreateLoggingConfigurationInput, ...request.Option) (*ivschat.CreateLoggingConfigurationOutput, error) + CreateLoggingConfigurationRequest(*ivschat.CreateLoggingConfigurationInput) (*request.Request, *ivschat.CreateLoggingConfigurationOutput) + CreateRoom(*ivschat.CreateRoomInput) (*ivschat.CreateRoomOutput, error) CreateRoomWithContext(aws.Context, *ivschat.CreateRoomInput, ...request.Option) (*ivschat.CreateRoomOutput, error) CreateRoomRequest(*ivschat.CreateRoomInput) (*request.Request, *ivschat.CreateRoomOutput) + DeleteLoggingConfiguration(*ivschat.DeleteLoggingConfigurationInput) (*ivschat.DeleteLoggingConfigurationOutput, error) + DeleteLoggingConfigurationWithContext(aws.Context, *ivschat.DeleteLoggingConfigurationInput, ...request.Option) (*ivschat.DeleteLoggingConfigurationOutput, error) + DeleteLoggingConfigurationRequest(*ivschat.DeleteLoggingConfigurationInput) (*request.Request, *ivschat.DeleteLoggingConfigurationOutput) + DeleteMessage(*ivschat.DeleteMessageInput) (*ivschat.DeleteMessageOutput, error) DeleteMessageWithContext(aws.Context, *ivschat.DeleteMessageInput, ...request.Option) (*ivschat.DeleteMessageOutput, error) DeleteMessageRequest(*ivschat.DeleteMessageInput) (*request.Request, *ivschat.DeleteMessageOutput) @@ -80,10 +88,21 @@ type IvschatAPI interface { DisconnectUserWithContext(aws.Context, *ivschat.DisconnectUserInput, ...request.Option) (*ivschat.DisconnectUserOutput, error) DisconnectUserRequest(*ivschat.DisconnectUserInput) (*request.Request, *ivschat.DisconnectUserOutput) + GetLoggingConfiguration(*ivschat.GetLoggingConfigurationInput) (*ivschat.GetLoggingConfigurationOutput, error) + GetLoggingConfigurationWithContext(aws.Context, *ivschat.GetLoggingConfigurationInput, ...request.Option) (*ivschat.GetLoggingConfigurationOutput, error) + GetLoggingConfigurationRequest(*ivschat.GetLoggingConfigurationInput) (*request.Request, *ivschat.GetLoggingConfigurationOutput) + GetRoom(*ivschat.GetRoomInput) (*ivschat.GetRoomOutput, error) GetRoomWithContext(aws.Context, *ivschat.GetRoomInput, ...request.Option) (*ivschat.GetRoomOutput, error) GetRoomRequest(*ivschat.GetRoomInput) (*request.Request, *ivschat.GetRoomOutput) + ListLoggingConfigurations(*ivschat.ListLoggingConfigurationsInput) (*ivschat.ListLoggingConfigurationsOutput, error) + ListLoggingConfigurationsWithContext(aws.Context, *ivschat.ListLoggingConfigurationsInput, ...request.Option) (*ivschat.ListLoggingConfigurationsOutput, error) + ListLoggingConfigurationsRequest(*ivschat.ListLoggingConfigurationsInput) (*request.Request, *ivschat.ListLoggingConfigurationsOutput) + + ListLoggingConfigurationsPages(*ivschat.ListLoggingConfigurationsInput, func(*ivschat.ListLoggingConfigurationsOutput, bool) bool) error + ListLoggingConfigurationsPagesWithContext(aws.Context, *ivschat.ListLoggingConfigurationsInput, func(*ivschat.ListLoggingConfigurationsOutput, bool) bool, ...request.Option) error + ListRooms(*ivschat.ListRoomsInput) (*ivschat.ListRoomsOutput, error) ListRoomsWithContext(aws.Context, *ivschat.ListRoomsInput, ...request.Option) (*ivschat.ListRoomsOutput, error) ListRoomsRequest(*ivschat.ListRoomsInput) (*request.Request, *ivschat.ListRoomsOutput) @@ -107,6 +126,10 @@ type IvschatAPI interface { UntagResourceWithContext(aws.Context, *ivschat.UntagResourceInput, ...request.Option) (*ivschat.UntagResourceOutput, error) UntagResourceRequest(*ivschat.UntagResourceInput) (*request.Request, *ivschat.UntagResourceOutput) + UpdateLoggingConfiguration(*ivschat.UpdateLoggingConfigurationInput) (*ivschat.UpdateLoggingConfigurationOutput, error) + UpdateLoggingConfigurationWithContext(aws.Context, *ivschat.UpdateLoggingConfigurationInput, ...request.Option) (*ivschat.UpdateLoggingConfigurationOutput, error) + UpdateLoggingConfigurationRequest(*ivschat.UpdateLoggingConfigurationInput) (*request.Request, *ivschat.UpdateLoggingConfigurationOutput) + UpdateRoom(*ivschat.UpdateRoomInput) (*ivschat.UpdateRoomOutput, error) UpdateRoomWithContext(aws.Context, *ivschat.UpdateRoomInput, ...request.Option) (*ivschat.UpdateRoomOutput, error) UpdateRoomRequest(*ivschat.UpdateRoomInput) (*request.Request, *ivschat.UpdateRoomOutput) diff --git a/service/lambda/api.go b/service/lambda/api.go index 1f9855218e4..59458f703ae 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -377,7 +377,7 @@ func (c *Lambda) CreateCodeSigningConfigRequest(input *CreateCodeSigningConfigIn // CreateCodeSigningConfig API operation for AWS Lambda. // -// Creates a code signing configuration. A code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html) +// Creates a code signing configuration. A code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) // defines a list of allowed signing profiles and defines the code-signing validation // policy (action to be taken if deployment validation checks fail). // @@ -7504,7 +7504,7 @@ type AmazonManagedKafkaEventSourceConfig struct { // 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 services-msk-consumer-group-id. + // this value. For more information, see Customizable consumer group ID (https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id). ConsumerGroupId *string `min:"1" type:"string"` } @@ -8258,13 +8258,21 @@ type CreateEventSourceMappingInput struct { // the event source mapping. FunctionResponseTypes []*string `type:"list" enum:"FunctionResponseType"` - // (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, - // that Lambda spends gathering records before invoking the function. + // The maximum amount of time, in seconds, that Lambda spends gathering records + // before invoking the function. You can configure MaximumBatchingWindowInSeconds + // to any value from 0 seconds to 300 seconds in increments of seconds. // - // Default: 0 + // For streams and Amazon SQS event sources, the default batching window is + // 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event + // sources, the default batching window is 500 ms. Note that because you can + // only change MaximumBatchingWindowInSeconds in increments of seconds, you + // cannot revert back to the 500 ms default batching window after you have changed + // it. To restore the default batching window, you must create a new event source + // mapping. // - // Related setting: When you set BatchSize to a value greater than 10, you must - // set MaximumBatchingWindowInSeconds to at least 1. + // Related setting: For streams and Amazon SQS event sources, when you set BatchSize + // to a value greater than 10, you must set MaximumBatchingWindowInSeconds to + // at least 1. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams only) Discard records older than the specified age. The default @@ -10562,7 +10570,7 @@ type EnvironmentResponse struct { // Error messages for environment variables that couldn't be applied. Error *EnvironmentError `type:"structure"` - // Environment variable key-value pairs. + // Environment variable key-value pairs. Omitted from CloudTrail logs. // // Variables is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by EnvironmentResponse's @@ -10702,13 +10710,21 @@ type EventSourceMappingConfiguration struct { // The result of the last Lambda invocation of your function. LastProcessingResult *string `type:"string"` - // (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, - // that Lambda spends gathering records before invoking the function. + // The maximum amount of time, in seconds, that Lambda spends gathering records + // before invoking the function. You can configure MaximumBatchingWindowInSeconds + // to any value from 0 seconds to 300 seconds in increments of seconds. // - // Default: 0 + // For streams and Amazon SQS event sources, the default batching window is + // 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event + // sources, the default batching window is 500 ms. Note that because you can + // only change MaximumBatchingWindowInSeconds in increments of seconds, you + // cannot revert back to the 500 ms default batching window after you have changed + // it. To restore the default batching window, you must create a new event source + // mapping. // - // Related setting: When you set BatchSize to a value greater than 10, you must - // set MaximumBatchingWindowInSeconds to at least 1. + // Related setting: For streams and Amazon SQS event sources, when you set BatchSize + // to a value greater than 10, you must set MaximumBatchingWindowInSeconds to + // at least 1. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams only) Discard records older than the specified age. The default @@ -11242,6 +11258,7 @@ type FunctionConfiguration struct { Description *string `type:"string"` // The function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html). + // Omitted from CloudTrail logs. Environment *EnvironmentResponse `type:"structure"` // The size of the function’s /tmp directory in MB. The default value is 512, @@ -13332,7 +13349,9 @@ func (s *GetProvisionedConcurrencyConfigInput) SetQualifier(v string) *GetProvis type GetProvisionedConcurrencyConfigOutput struct { _ struct{} `type:"structure"` - // The amount of provisioned concurrency allocated. + // The amount of provisioned concurrency allocated. When a weighted alias is + // used during linear and canary deployments, this value fluctuates depending + // on the amount of concurrency that is provisioned for the function versions. AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"` // The amount of provisioned concurrency available. @@ -16559,7 +16578,9 @@ func (s *PreconditionFailedException) RequestID() string { type ProvisionedConcurrencyConfigListItem struct { _ struct{} `type:"structure"` - // The amount of provisioned concurrency allocated. + // The amount of provisioned concurrency allocated. When a weighted alias is + // used during linear and canary deployments, this value fluctuates depending + // on the amount of concurrency that is provisioned for the function versions. AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"` // The amount of provisioned concurrency available. @@ -17540,7 +17561,9 @@ func (s *PutProvisionedConcurrencyConfigInput) SetQualifier(v string) *PutProvis type PutProvisionedConcurrencyConfigOutput struct { _ struct{} `type:"structure"` - // The amount of provisioned concurrency allocated. + // The amount of provisioned concurrency allocated. When a weighted alias is + // used during linear and canary deployments, this value fluctuates depending + // on the amount of concurrency that is provisioned for the function versions. AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"` // The amount of provisioned concurrency available. @@ -18242,7 +18265,7 @@ type SelfManagedKafkaEventSourceConfig struct { // 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 services-msk-consumer-group-id. + // this value. For more information, see Customizable consumer group ID (https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id). ConsumerGroupId *string `min:"1" type:"string"` } @@ -18364,19 +18387,22 @@ type SourceAccessConfiguration struct { // your secret key used for SASL/PLAIN authentication of your Apache Kafka // brokers. // - // * VPC_SUBNET - The subnets associated with your VPC. Lambda connects to - // these subnets to fetch data from your self-managed Apache Kafka cluster. + // * VPC_SUBNET - (Self-managed Apache Kafka) The subnets associated with + // your VPC. Lambda connects to these subnets to fetch data from your self-managed + // Apache Kafka cluster. // - // * VPC_SECURITY_GROUP - The VPC security group used to manage access to - // your self-managed Apache Kafka brokers. + // * VPC_SECURITY_GROUP - (Self-managed Apache Kafka) The VPC security group + // used to manage access to your self-managed Apache Kafka brokers. // - // * SASL_SCRAM_256_AUTH - The Secrets Manager ARN of your secret key used - // for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers. + // * SASL_SCRAM_256_AUTH - (Self-managed Apache Kafka) The Secrets Manager + // ARN of your secret key used for SASL SCRAM-256 authentication of your + // self-managed Apache Kafka brokers. // - // * SASL_SCRAM_512_AUTH - The Secrets Manager ARN of your secret key used - // for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers. + // * SASL_SCRAM_512_AUTH - (Amazon MSK, Self-managed Apache Kafka) The Secrets + // Manager ARN of your secret key used for SASL SCRAM-512 authentication + // of your self-managed Apache Kafka brokers. // - // * VIRTUAL_HOST - (Amazon MQ) The name of the virtual host in your RabbitMQ + // * 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. // @@ -19172,13 +19198,21 @@ type UpdateEventSourceMappingInput struct { // the event source mapping. FunctionResponseTypes []*string `type:"list" enum:"FunctionResponseType"` - // (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, - // that Lambda spends gathering records before invoking the function. + // The maximum amount of time, in seconds, that Lambda spends gathering records + // before invoking the function. You can configure MaximumBatchingWindowInSeconds + // to any value from 0 seconds to 300 seconds in increments of seconds. // - // Default: 0 + // For streams and Amazon SQS event sources, the default batching window is + // 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event + // sources, the default batching window is 500 ms. Note that because you can + // only change MaximumBatchingWindowInSeconds in increments of seconds, you + // cannot revert back to the 500 ms default batching window after you have changed + // it. To restore the default batching window, you must create a new event source + // mapping. // - // Related setting: When you set BatchSize to a value greater than 10, you must - // set MaximumBatchingWindowInSeconds to at least 1. + // Related setting: For streams and Amazon SQS event sources, when you set BatchSize + // to a value greater than 10, you must set MaximumBatchingWindowInSeconds to + // at least 1. MaximumBatchingWindowInSeconds *int64 `type:"integer"` // (Streams only) Discard records older than the specified age. The default @@ -20562,6 +20596,9 @@ const ( // RuntimeProvidedAl2 is a Runtime enum value RuntimeProvidedAl2 = "provided.al2" + + // RuntimeNodejs18X is a Runtime enum value + RuntimeNodejs18X = "nodejs18.x" ) // Runtime_Values returns all elements of the Runtime enum @@ -20594,6 +20631,7 @@ func Runtime_Values() []string { RuntimeRuby27, RuntimeProvided, RuntimeProvidedAl2, + RuntimeNodejs18X, } } diff --git a/service/personalize/api.go b/service/personalize/api.go index eb3c35609f5..e0e454bd8e9 100644 --- a/service/personalize/api.go +++ b/service/personalize/api.go @@ -1057,6 +1057,100 @@ func (c *Personalize) CreateFilterWithContext(ctx aws.Context, input *CreateFilt return out, req.Send() } +const opCreateMetricAttribution = "CreateMetricAttribution" + +// CreateMetricAttributionRequest generates a "aws/request.Request" representing the +// client's request for the CreateMetricAttribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMetricAttribution for more information on using the CreateMetricAttribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateMetricAttributionRequest method. +// req, resp := client.CreateMetricAttributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateMetricAttribution +func (c *Personalize) CreateMetricAttributionRequest(input *CreateMetricAttributionInput) (req *request.Request, output *CreateMetricAttributionOutput) { + op := &request.Operation{ + Name: opCreateMetricAttribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMetricAttributionInput{} + } + + output = &CreateMetricAttributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMetricAttribution API operation for Amazon Personalize. +// +// Creates a metric attribution. A metric attribution creates reports on the +// data that you import into Amazon Personalize. Depending on how you imported +// the data, you can view reports in Amazon CloudWatch or Amazon S3. For more +// information, see Measuring impact of recommendations (https://docs.aws.amazon.com/personalize/latest/dg/measuring-recommendation-impact.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation CreateMetricAttribution for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - ResourceNotFoundException +// Could not find the specified resource. +// +// - ResourceAlreadyExistsException +// The specified resource already exists. +// +// - ResourceInUseException +// The specified resource is in use. +// +// - LimitExceededException +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateMetricAttribution +func (c *Personalize) CreateMetricAttribution(input *CreateMetricAttributionInput) (*CreateMetricAttributionOutput, error) { + req, out := c.CreateMetricAttributionRequest(input) + return out, req.Send() +} + +// CreateMetricAttributionWithContext is the same as CreateMetricAttribution with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMetricAttribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateMetricAttributionWithContext(ctx aws.Context, input *CreateMetricAttributionInput, opts ...request.Option) (*CreateMetricAttributionOutput, error) { + req, out := c.CreateMetricAttributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRecommender = "CreateRecommender" // CreateRecommenderRequest generates a "aws/request.Request" representing the @@ -1554,6 +1648,9 @@ func (c *Personalize) CreateSolutionVersionRequest(input *CreateSolutionVersionI // - TooManyTagsException // You have exceeded the maximum number of tags you can apply to this resource. // +// - ResourceAlreadyExistsException +// The specified resource already exists. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateSolutionVersion func (c *Personalize) CreateSolutionVersion(input *CreateSolutionVersionInput) (*CreateSolutionVersionOutput, error) { req, out := c.CreateSolutionVersionRequest(input) @@ -2020,6 +2117,92 @@ func (c *Personalize) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilt return out, req.Send() } +const opDeleteMetricAttribution = "DeleteMetricAttribution" + +// DeleteMetricAttributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMetricAttribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteMetricAttribution for more information on using the DeleteMetricAttribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteMetricAttributionRequest method. +// req, resp := client.DeleteMetricAttributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteMetricAttribution +func (c *Personalize) DeleteMetricAttributionRequest(input *DeleteMetricAttributionInput) (req *request.Request, output *DeleteMetricAttributionOutput) { + op := &request.Operation{ + Name: opDeleteMetricAttribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteMetricAttributionInput{} + } + + output = &DeleteMetricAttributionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMetricAttribution API operation for Amazon Personalize. +// +// Deletes a metric attribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteMetricAttribution for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - ResourceNotFoundException +// Could not find the specified resource. +// +// - ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteMetricAttribution +func (c *Personalize) DeleteMetricAttribution(input *DeleteMetricAttributionInput) (*DeleteMetricAttributionOutput, error) { + req, out := c.DeleteMetricAttributionRequest(input) + return out, req.Send() +} + +// DeleteMetricAttributionWithContext is the same as DeleteMetricAttribution with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMetricAttribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteMetricAttributionWithContext(ctx aws.Context, input *DeleteMetricAttributionInput, opts ...request.Option) (*DeleteMetricAttributionOutput, error) { + req, out := c.DeleteMetricAttributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRecommender = "DeleteRecommender" // DeleteRecommenderRequest generates a "aws/request.Request" representing the @@ -3210,6 +3393,88 @@ func (c *Personalize) DescribeFilterWithContext(ctx aws.Context, input *Describe return out, req.Send() } +const opDescribeMetricAttribution = "DescribeMetricAttribution" + +// DescribeMetricAttributionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMetricAttribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMetricAttribution for more information on using the DescribeMetricAttribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeMetricAttributionRequest method. +// req, resp := client.DescribeMetricAttributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeMetricAttribution +func (c *Personalize) DescribeMetricAttributionRequest(input *DescribeMetricAttributionInput) (req *request.Request, output *DescribeMetricAttributionOutput) { + op := &request.Operation{ + Name: opDescribeMetricAttribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMetricAttributionInput{} + } + + output = &DescribeMetricAttributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMetricAttribution API operation for Amazon Personalize. +// +// Describes a metric attribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeMetricAttribution for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - ResourceNotFoundException +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeMetricAttribution +func (c *Personalize) DescribeMetricAttribution(input *DescribeMetricAttributionInput) (*DescribeMetricAttributionOutput, error) { + req, out := c.DescribeMetricAttributionRequest(input) + return out, req.Send() +} + +// DescribeMetricAttributionWithContext is the same as DescribeMetricAttribution with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMetricAttribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeMetricAttributionWithContext(ctx aws.Context, input *DescribeMetricAttributionInput, opts ...request.Option) (*DescribeMetricAttributionOutput, error) { + req, out := c.DescribeMetricAttributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRecipe = "DescribeRecipe" // DescribeRecipeRequest generates a "aws/request.Request" representing the @@ -5009,34 +5274,34 @@ func (c *Personalize) ListFiltersPagesWithContext(ctx aws.Context, input *ListFi return p.Err() } -const opListRecipes = "ListRecipes" +const opListMetricAttributionMetrics = "ListMetricAttributionMetrics" -// ListRecipesRequest generates a "aws/request.Request" representing the -// client's request for the ListRecipes operation. The "output" return +// ListMetricAttributionMetricsRequest generates a "aws/request.Request" representing the +// client's request for the ListMetricAttributionMetrics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListRecipes for more information on using the ListRecipes +// See ListMetricAttributionMetrics for more information on using the ListMetricAttributionMetrics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListRecipesRequest method. -// req, resp := client.ListRecipesRequest(params) +// // Example sending a request using the ListMetricAttributionMetricsRequest method. +// req, resp := client.ListMetricAttributionMetricsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes -func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListMetricAttributionMetrics +func (c *Personalize) ListMetricAttributionMetricsRequest(input *ListMetricAttributionMetricsInput) (req *request.Request, output *ListMetricAttributionMetricsOutput) { op := &request.Operation{ - Name: opListRecipes, + Name: opListMetricAttributionMetrics, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -5048,92 +5313,91 @@ func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request. } if input == nil { - input = &ListRecipesInput{} + input = &ListMetricAttributionMetricsInput{} } - output = &ListRecipesOutput{} + output = &ListMetricAttributionMetricsOutput{} req = c.newRequest(op, input, output) return } -// ListRecipes API operation for Amazon Personalize. +// ListMetricAttributionMetrics API operation for Amazon Personalize. // -// Returns a list of available recipes. The response provides the properties -// for each recipe, including the recipe's Amazon Resource Name (ARN). +// Lists the metrics for the metric attribution. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Personalize's -// API operation ListRecipes for usage and error information. +// API operation ListMetricAttributionMetrics for usage and error information. // // Returned Error Types: // -// - InvalidNextTokenException -// The token is not valid. -// // - InvalidInputException // Provide a valid value for the field or parameter. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes -func (c *Personalize) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) { - req, out := c.ListRecipesRequest(input) +// - InvalidNextTokenException +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListMetricAttributionMetrics +func (c *Personalize) ListMetricAttributionMetrics(input *ListMetricAttributionMetricsInput) (*ListMetricAttributionMetricsOutput, error) { + req, out := c.ListMetricAttributionMetricsRequest(input) return out, req.Send() } -// ListRecipesWithContext is the same as ListRecipes with the addition of +// ListMetricAttributionMetricsWithContext is the same as ListMetricAttributionMetrics with the addition of // the ability to pass a context and additional request options. // -// See ListRecipes for details on how to use this API operation. +// See ListMetricAttributionMetrics for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Personalize) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) { - req, out := c.ListRecipesRequest(input) +func (c *Personalize) ListMetricAttributionMetricsWithContext(ctx aws.Context, input *ListMetricAttributionMetricsInput, opts ...request.Option) (*ListMetricAttributionMetricsOutput, error) { + req, out := c.ListMetricAttributionMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListRecipesPages iterates over the pages of a ListRecipes operation, +// ListMetricAttributionMetricsPages iterates over the pages of a ListMetricAttributionMetrics operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListRecipes method for more information on how to use this operation. +// See ListMetricAttributionMetrics method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListRecipes operation. +// // Example iterating over at most 3 pages of a ListMetricAttributionMetrics operation. // pageNum := 0 -// err := client.ListRecipesPages(params, -// func(page *personalize.ListRecipesOutput, lastPage bool) bool { +// err := client.ListMetricAttributionMetricsPages(params, +// func(page *personalize.ListMetricAttributionMetricsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Personalize) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error { - return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Personalize) ListMetricAttributionMetricsPages(input *ListMetricAttributionMetricsInput, fn func(*ListMetricAttributionMetricsOutput, bool) bool) error { + return c.ListMetricAttributionMetricsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListRecipesPagesWithContext same as ListRecipesPages except +// ListMetricAttributionMetricsPagesWithContext same as ListMetricAttributionMetricsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error { +func (c *Personalize) ListMetricAttributionMetricsPagesWithContext(ctx aws.Context, input *ListMetricAttributionMetricsInput, fn func(*ListMetricAttributionMetricsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListRecipesInput + var inCpy *ListMetricAttributionMetricsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListRecipesRequest(inCpy) + req, _ := c.ListMetricAttributionMetricsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5141,7 +5405,7 @@ func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRe } for p.Next() { - if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMetricAttributionMetricsOutput), !p.HasNextPage()) { break } } @@ -5149,34 +5413,34 @@ func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRe return p.Err() } -const opListRecommenders = "ListRecommenders" +const opListMetricAttributions = "ListMetricAttributions" -// ListRecommendersRequest generates a "aws/request.Request" representing the -// client's request for the ListRecommenders operation. The "output" return +// ListMetricAttributionsRequest generates a "aws/request.Request" representing the +// client's request for the ListMetricAttributions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListRecommenders for more information on using the ListRecommenders +// See ListMetricAttributions for more information on using the ListMetricAttributions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListRecommendersRequest method. -// req, resp := client.ListRecommendersRequest(params) +// // Example sending a request using the ListMetricAttributionsRequest method. +// req, resp := client.ListMetricAttributionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecommenders -func (c *Personalize) ListRecommendersRequest(input *ListRecommendersInput) (req *request.Request, output *ListRecommendersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListMetricAttributions +func (c *Personalize) ListMetricAttributionsRequest(input *ListMetricAttributionsInput) (req *request.Request, output *ListMetricAttributionsOutput) { op := &request.Operation{ - Name: opListRecommenders, + Name: opListMetricAttributions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -5188,21 +5452,300 @@ func (c *Personalize) ListRecommendersRequest(input *ListRecommendersInput) (req } if input == nil { - input = &ListRecommendersInput{} + input = &ListMetricAttributionsInput{} } - output = &ListRecommendersOutput{} + output = &ListMetricAttributionsOutput{} req = c.newRequest(op, input, output) return } -// ListRecommenders API operation for Amazon Personalize. +// ListMetricAttributions API operation for Amazon Personalize. // -// Returns a list of recommenders in a given Domain dataset group. When a Domain -// dataset group is not specified, all the recommenders associated with the -// account are listed. The response provides the properties for each recommender, -// including the Amazon Resource Name (ARN). For more information on recommenders, -// see CreateRecommender (https://docs.aws.amazon.com/personalize/latest/dg/API_CreateRecommender.html). +// Lists metric attributions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListMetricAttributions for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - InvalidNextTokenException +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListMetricAttributions +func (c *Personalize) ListMetricAttributions(input *ListMetricAttributionsInput) (*ListMetricAttributionsOutput, error) { + req, out := c.ListMetricAttributionsRequest(input) + return out, req.Send() +} + +// ListMetricAttributionsWithContext is the same as ListMetricAttributions with the addition of +// the ability to pass a context and additional request options. +// +// See ListMetricAttributions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListMetricAttributionsWithContext(ctx aws.Context, input *ListMetricAttributionsInput, opts ...request.Option) (*ListMetricAttributionsOutput, error) { + req, out := c.ListMetricAttributionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMetricAttributionsPages iterates over the pages of a ListMetricAttributions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMetricAttributions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListMetricAttributions operation. +// pageNum := 0 +// err := client.ListMetricAttributionsPages(params, +// func(page *personalize.ListMetricAttributionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Personalize) ListMetricAttributionsPages(input *ListMetricAttributionsInput, fn func(*ListMetricAttributionsOutput, bool) bool) error { + return c.ListMetricAttributionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMetricAttributionsPagesWithContext same as ListMetricAttributionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListMetricAttributionsPagesWithContext(ctx aws.Context, input *ListMetricAttributionsInput, fn func(*ListMetricAttributionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMetricAttributionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMetricAttributionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMetricAttributionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRecipes = "ListRecipes" + +// ListRecipesRequest generates a "aws/request.Request" representing the +// client's request for the ListRecipes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRecipes for more information on using the ListRecipes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRecipesRequest method. +// req, resp := client.ListRecipesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes +func (c *Personalize) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) { + op := &request.Operation{ + Name: opListRecipes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecipesInput{} + } + + output = &ListRecipesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecipes API operation for Amazon Personalize. +// +// Returns a list of available recipes. The response provides the properties +// for each recipe, including the recipe's Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListRecipes for usage and error information. +// +// Returned Error Types: +// +// - InvalidNextTokenException +// The token is not valid. +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecipes +func (c *Personalize) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) { + req, out := c.ListRecipesRequest(input) + return out, req.Send() +} + +// ListRecipesWithContext is the same as ListRecipes with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecipes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) { + req, out := c.ListRecipesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecipesPages iterates over the pages of a ListRecipes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecipes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRecipes operation. +// pageNum := 0 +// err := client.ListRecipesPages(params, +// func(page *personalize.ListRecipesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Personalize) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error { + return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecipesPagesWithContext same as ListRecipesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecipesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecipesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRecommenders = "ListRecommenders" + +// ListRecommendersRequest generates a "aws/request.Request" representing the +// client's request for the ListRecommenders operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRecommenders for more information on using the ListRecommenders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRecommendersRequest method. +// req, resp := client.ListRecommendersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListRecommenders +func (c *Personalize) ListRecommendersRequest(input *ListRecommendersInput) (req *request.Request, output *ListRecommendersOutput) { + op := &request.Operation{ + Name: opListRecommenders, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecommendersInput{} + } + + output = &ListRecommendersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecommenders API operation for Amazon Personalize. +// +// Returns a list of recommenders in a given Domain dataset group. When a Domain +// dataset group is not specified, all the recommenders associated with the +// account are listed. The response provides the properties for each recommender, +// including the Amazon Resource Name (ARN). For more information on recommenders, +// see CreateRecommender (https://docs.aws.amazon.com/personalize/latest/dg/API_CreateRecommender.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6310,14 +6853,99 @@ func (c *Personalize) UpdateCampaignRequest(input *UpdateCampaignInput) (req *re // The campaign will use the previous solution version and campaign configuration // to generate recommendations until the latest campaign update status is Active. // -// For more information on campaigns, see CreateCampaign (https://docs.aws.amazon.com/personalize/latest/dg/API_CreateCampaign.html). +// For more information on campaigns, see CreateCampaign (https://docs.aws.amazon.com/personalize/latest/dg/API_CreateCampaign.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation UpdateCampaign for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - ResourceNotFoundException +// Could not find the specified resource. +// +// - ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign +func (c *Personalize) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) + return out, req.Send() +} + +// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCampaign for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMetricAttribution = "UpdateMetricAttribution" + +// UpdateMetricAttributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMetricAttribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMetricAttribution for more information on using the UpdateMetricAttribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateMetricAttributionRequest method. +// req, resp := client.UpdateMetricAttributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateMetricAttribution +func (c *Personalize) UpdateMetricAttributionRequest(input *UpdateMetricAttributionInput) (req *request.Request, output *UpdateMetricAttributionOutput) { + op := &request.Operation{ + Name: opUpdateMetricAttribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMetricAttributionInput{} + } + + output = &UpdateMetricAttributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMetricAttribution API operation for Amazon Personalize. +// +// Updates a metric attribution. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Personalize's -// API operation UpdateCampaign for usage and error information. +// API operation UpdateMetricAttribution for usage and error information. // // Returned Error Types: // @@ -6330,23 +6958,26 @@ func (c *Personalize) UpdateCampaignRequest(input *UpdateCampaignInput) (req *re // - ResourceInUseException // The specified resource is in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateCampaign -func (c *Personalize) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { - req, out := c.UpdateCampaignRequest(input) +// - ResourceAlreadyExistsException +// The specified resource already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateMetricAttribution +func (c *Personalize) UpdateMetricAttribution(input *UpdateMetricAttributionInput) (*UpdateMetricAttributionOutput, error) { + req, out := c.UpdateMetricAttributionRequest(input) return out, req.Send() } -// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of +// UpdateMetricAttributionWithContext is the same as UpdateMetricAttribution with the addition of // the ability to pass a context and additional request options. // -// See UpdateCampaign for details on how to use this API operation. +// See UpdateMetricAttribution for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) { - req, out := c.UpdateCampaignRequest(input) +func (c *Personalize) UpdateMetricAttributionWithContext(ctx aws.Context, input *UpdateMetricAttributionInput, opts ...request.Option) (*UpdateMetricAttributionOutput, error) { + req, out := c.UpdateMetricAttributionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -8715,6 +9346,10 @@ type CreateDatasetImportJobInput struct { // JobName is a required field JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + // If you created a metric attribution, specify whether to publish metrics for + // this import job to Amazon S3 + PublishAttributionMetricsToS3 *bool `locationName:"publishAttributionMetricsToS3" type:"boolean"` + // The ARN of the IAM role that has permissions to read from the Amazon S3 data // source. // @@ -8803,6 +9438,12 @@ func (s *CreateDatasetImportJobInput) SetJobName(v string) *CreateDatasetImportJ return s } +// SetPublishAttributionMetricsToS3 sets the PublishAttributionMetricsToS3 field's value. +func (s *CreateDatasetImportJobInput) SetPublishAttributionMetricsToS3(v bool) *CreateDatasetImportJobInput { + s.PublishAttributionMetricsToS3 = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *CreateDatasetImportJobInput) SetRoleArn(v string) *CreateDatasetImportJobInput { s.RoleArn = &v @@ -9260,6 +9901,147 @@ func (s *CreateFilterOutput) SetFilterArn(v string) *CreateFilterOutput { return s } +type CreateMetricAttributionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination dataset group for the metric + // attribution. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // A list of metric attributes for the metric attribution. Each metric attribute + // specifies an event type to track and a function. Available functions are + // SUM() or SAMPLECOUNT(). For SUM() functions, provide the dataset type (either + // Interactions or Items) and column to sum as a parameter. For example SUM(Items.PRICE). + // + // Metrics is a required field + Metrics []*MetricAttribute `locationName:"metrics" type:"list" required:"true"` + + // The output configuration details for the metric attribution. + // + // MetricsOutputConfig is a required field + MetricsOutputConfig *MetricAttributionOutput_ `locationName:"metricsOutputConfig" type:"structure" required:"true"` + + // A name for the metric attribution. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMetricAttributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMetricAttributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMetricAttributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMetricAttributionInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.Metrics == nil { + invalidParams.Add(request.NewErrParamRequired("Metrics")) + } + if s.MetricsOutputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("MetricsOutputConfig")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Metrics != nil { + for i, v := range s.Metrics { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MetricsOutputConfig != nil { + if err := s.MetricsOutputConfig.Validate(); err != nil { + invalidParams.AddNested("MetricsOutputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateMetricAttributionInput) SetDatasetGroupArn(v string) *CreateMetricAttributionInput { + s.DatasetGroupArn = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *CreateMetricAttributionInput) SetMetrics(v []*MetricAttribute) *CreateMetricAttributionInput { + s.Metrics = v + return s +} + +// SetMetricsOutputConfig sets the MetricsOutputConfig field's value. +func (s *CreateMetricAttributionInput) SetMetricsOutputConfig(v *MetricAttributionOutput_) *CreateMetricAttributionInput { + s.MetricsOutputConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateMetricAttributionInput) SetName(v string) *CreateMetricAttributionInput { + s.Name = &v + return s +} + +type CreateMetricAttributionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the new metric attribution. + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMetricAttributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMetricAttributionOutput) GoString() string { + return s.String() +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *CreateMetricAttributionOutput) SetMetricAttributionArn(v string) *CreateMetricAttributionOutput { + s.MetricAttributionArn = &v + return s +} + type CreateRecommenderInput struct { _ struct{} `type:"structure"` @@ -9700,6 +10482,9 @@ func (s *CreateSolutionOutput) SetSolutionArn(v string) *CreateSolutionOutput { type CreateSolutionVersionInput struct { _ struct{} `type:"structure"` + // The name of the solution version. + Name *string `locationName:"name" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the solution containing the training configuration // information. // @@ -9746,6 +10531,9 @@ func (s CreateSolutionVersionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSolutionVersionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSolutionVersionInput"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } if s.SolutionArn == nil { invalidParams.Add(request.NewErrParamRequired("SolutionArn")) } @@ -9766,6 +10554,12 @@ func (s *CreateSolutionVersionInput) Validate() error { return nil } +// SetName sets the Name field's value. +func (s *CreateSolutionVersionInput) SetName(v string) *CreateSolutionVersionInput { + s.Name = &v + return s +} + // SetSolutionArn sets the SolutionArn field's value. func (s *CreateSolutionVersionInput) SetSolutionArn(v string) *CreateSolutionVersionInput { s.SolutionArn = &v @@ -10471,6 +11265,9 @@ type DatasetImportJob struct { // The date and time (in Unix time) the dataset was last updated. LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + // Whether the job publishes metrics to Amazon S3 for a metric attribution. + PublishAttributionMetricsToS3 *bool `locationName:"publishAttributionMetricsToS3" type:"boolean"` + // The ARN of the IAM role that has permissions to read from the Amazon S3 data // source. RoleArn *string `locationName:"roleArn" type:"string"` @@ -10549,6 +11346,12 @@ func (s *DatasetImportJob) SetLastUpdatedDateTime(v time.Time) *DatasetImportJob return s } +// SetPublishAttributionMetricsToS3 sets the PublishAttributionMetricsToS3 field's value. +func (s *DatasetImportJob) SetPublishAttributionMetricsToS3(v bool) *DatasetImportJob { + s.PublishAttributionMetricsToS3 = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *DatasetImportJob) SetRoleArn(v string) *DatasetImportJob { s.RoleArn = &v @@ -11463,6 +12266,74 @@ func (s DeleteFilterOutput) GoString() string { return s.String() } +type DeleteMetricAttributionInput struct { + _ struct{} `type:"structure"` + + // The metric attribution's Amazon Resource Name (ARN). + // + // MetricAttributionArn is a required field + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMetricAttributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMetricAttributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMetricAttributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMetricAttributionInput"} + if s.MetricAttributionArn == nil { + invalidParams.Add(request.NewErrParamRequired("MetricAttributionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *DeleteMetricAttributionInput) SetMetricAttributionArn(v string) *DeleteMetricAttributionInput { + s.MetricAttributionArn = &v + return s +} + +type DeleteMetricAttributionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMetricAttributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMetricAttributionOutput) GoString() string { + return s.String() +} + type DeleteRecommenderInput struct { _ struct{} `type:"structure"` @@ -12420,17 +13291,94 @@ func (s *DescribeFeatureTransformationInput) Validate() error { return nil } -// SetFeatureTransformationArn sets the FeatureTransformationArn field's value. -func (s *DescribeFeatureTransformationInput) SetFeatureTransformationArn(v string) *DescribeFeatureTransformationInput { - s.FeatureTransformationArn = &v +// SetFeatureTransformationArn sets the FeatureTransformationArn field's value. +func (s *DescribeFeatureTransformationInput) SetFeatureTransformationArn(v string) *DescribeFeatureTransformationInput { + s.FeatureTransformationArn = &v + return s +} + +type DescribeFeatureTransformationOutput struct { + _ struct{} `type:"structure"` + + // A listing of the FeatureTransformation properties. + FeatureTransformation *FeatureTransformation `locationName:"featureTransformation" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeFeatureTransformationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeFeatureTransformationOutput) GoString() string { + return s.String() +} + +// SetFeatureTransformation sets the FeatureTransformation field's value. +func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *FeatureTransformation) *DescribeFeatureTransformationOutput { + s.FeatureTransformation = v + return s +} + +type DescribeFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the filter to describe. + // + // FilterArn is a required field + FilterArn *string `locationName:"filterArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"} + if s.FilterArn == nil { + invalidParams.Add(request.NewErrParamRequired("FilterArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterArn sets the FilterArn field's value. +func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput { + s.FilterArn = &v return s } -type DescribeFeatureTransformationOutput struct { +type DescribeFilterOutput struct { _ struct{} `type:"structure"` - // A listing of the FeatureTransformation properties. - FeatureTransformation *FeatureTransformation `locationName:"featureTransformation" type:"structure"` + // The filter's details. + Filter *Filter `locationName:"filter" type:"structure"` } // String returns the string representation. @@ -12438,7 +13386,7 @@ type DescribeFeatureTransformationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFeatureTransformationOutput) String() string { +func (s DescribeFilterOutput) String() string { return awsutil.Prettify(s) } @@ -12447,23 +13395,23 @@ func (s DescribeFeatureTransformationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFeatureTransformationOutput) GoString() string { +func (s DescribeFilterOutput) GoString() string { return s.String() } -// SetFeatureTransformation sets the FeatureTransformation field's value. -func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *FeatureTransformation) *DescribeFeatureTransformationOutput { - s.FeatureTransformation = v +// SetFilter sets the Filter field's value. +func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput { + s.Filter = v return s } -type DescribeFilterInput struct { +type DescribeMetricAttributionInput struct { _ struct{} `type:"structure"` - // The ARN of the filter to describe. + // The metric attribution's Amazon Resource Name (ARN). // - // FilterArn is a required field - FilterArn *string `locationName:"filterArn" type:"string" required:"true"` + // MetricAttributionArn is a required field + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string" required:"true"` } // String returns the string representation. @@ -12471,7 +13419,7 @@ type DescribeFilterInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFilterInput) String() string { +func (s DescribeMetricAttributionInput) String() string { return awsutil.Prettify(s) } @@ -12480,15 +13428,15 @@ func (s DescribeFilterInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFilterInput) GoString() string { +func (s DescribeMetricAttributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeFilterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"} - if s.FilterArn == nil { - invalidParams.Add(request.NewErrParamRequired("FilterArn")) +func (s *DescribeMetricAttributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMetricAttributionInput"} + if s.MetricAttributionArn == nil { + invalidParams.Add(request.NewErrParamRequired("MetricAttributionArn")) } if invalidParams.Len() > 0 { @@ -12497,17 +13445,17 @@ func (s *DescribeFilterInput) Validate() error { return nil } -// SetFilterArn sets the FilterArn field's value. -func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput { - s.FilterArn = &v +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *DescribeMetricAttributionInput) SetMetricAttributionArn(v string) *DescribeMetricAttributionInput { + s.MetricAttributionArn = &v return s } -type DescribeFilterOutput struct { +type DescribeMetricAttributionOutput struct { _ struct{} `type:"structure"` - // The filter's details. - Filter *Filter `locationName:"filter" type:"structure"` + // The details of the metric attribution. + MetricAttribution *MetricAttribution `locationName:"metricAttribution" type:"structure"` } // String returns the string representation. @@ -12515,7 +13463,7 @@ type DescribeFilterOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFilterOutput) String() string { +func (s DescribeMetricAttributionOutput) String() string { return awsutil.Prettify(s) } @@ -12524,13 +13472,13 @@ func (s DescribeFilterOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFilterOutput) GoString() string { +func (s DescribeMetricAttributionOutput) GoString() string { return s.String() } -// SetFilter sets the Filter field's value. -func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput { - s.Filter = v +// SetMetricAttribution sets the MetricAttribution field's value. +func (s *DescribeMetricAttributionOutput) SetMetricAttribution(v *MetricAttribution) *DescribeMetricAttributionOutput { + s.MetricAttribution = v return s } @@ -14618,30 +15566,236 @@ func (s *ListDatasetsInput) Validate() error { } // SetDatasetGroupArn sets the DatasetGroupArn field's value. -func (s *ListDatasetsInput) SetDatasetGroupArn(v string) *ListDatasetsInput { +func (s *ListDatasetsInput) SetDatasetGroupArn(v string) *ListDatasetsInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput { + s.NextToken = &v + return s +} + +type ListDatasetsOutput struct { + _ struct{} `type:"structure"` + + // An array of Dataset objects. Each object provides metadata information. + Datasets []*DatasetSummary `locationName:"datasets" type:"list"` + + // A token for getting the next set of datasets (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDatasetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDatasetsOutput) GoString() string { + return s.String() +} + +// SetDatasets sets the Datasets field's value. +func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput { + s.Datasets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput { + s.NextToken = &v + return s +} + +type ListEventTrackersInput struct { + _ struct{} `type:"structure"` + + // The ARN of a dataset group used to filter the response. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of event trackers to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListEventTrackers for getting + // the next set of event trackers (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEventTrackersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEventTrackersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEventTrackersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEventTrackersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListEventTrackersInput) SetDatasetGroupArn(v string) *ListEventTrackersInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEventTrackersInput) SetMaxResults(v int64) *ListEventTrackersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEventTrackersInput) SetNextToken(v string) *ListEventTrackersInput { + s.NextToken = &v + return s +} + +type ListEventTrackersOutput struct { + _ struct{} `type:"structure"` + + // A list of event trackers. + EventTrackers []*EventTrackerSummary `locationName:"eventTrackers" type:"list"` + + // A token for getting the next set of event trackers (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEventTrackersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEventTrackersOutput) GoString() string { + return s.String() +} + +// SetEventTrackers sets the EventTrackers field's value. +func (s *ListEventTrackersOutput) SetEventTrackers(v []*EventTrackerSummary) *ListEventTrackersOutput { + s.EventTrackers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutput { + s.NextToken = &v + return s +} + +type ListFiltersInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group that contains the filters. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of filters to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListFilters for getting the next + // set of filters (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput { s.DatasetGroupArn = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput { +func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput { +func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { s.NextToken = &v return s } -type ListDatasetsOutput struct { +type ListFiltersOutput struct { _ struct{} `type:"structure"` - // An array of Dataset objects. Each object provides metadata information. - Datasets []*DatasetSummary `locationName:"datasets" type:"list"` + // A list of returned filters. + Filters []*FilterSummary `type:"list"` - // A token for getting the next set of datasets (if they exist). + // A token for getting the next set of filters (if they exist). NextToken *string `locationName:"nextToken" type:"string"` } @@ -14650,7 +15804,7 @@ type ListDatasetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDatasetsOutput) String() string { +func (s ListFiltersOutput) String() string { return awsutil.Prettify(s) } @@ -14659,33 +15813,34 @@ func (s ListDatasetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDatasetsOutput) GoString() string { +func (s ListFiltersOutput) GoString() string { return s.String() } -// SetDatasets sets the Datasets field's value. -func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput { - s.Datasets = v +// SetFilters sets the Filters field's value. +func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput { + s.Filters = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput { +func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { s.NextToken = &v return s } -type ListEventTrackersInput struct { +type ListMetricAttributionMetricsInput struct { _ struct{} `type:"structure"` - // The ARN of a dataset group used to filter the response. - DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` - - // The maximum number of event trackers to return. + // The maximum number of metrics to return in one page of results. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // A token returned from the previous call to ListEventTrackers for getting - // the next set of event trackers (if they exist). + // The Amazon Resource Name (ARN) of the metric attribution to retrieve attributes + // for. + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` + + // Specify the pagination token from a previous request to retrieve the next + // page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -14694,7 +15849,7 @@ type ListEventTrackersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEventTrackersInput) String() string { +func (s ListMetricAttributionMetricsInput) String() string { return awsutil.Prettify(s) } @@ -14703,13 +15858,13 @@ func (s ListEventTrackersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEventTrackersInput) GoString() string { +func (s ListMetricAttributionMetricsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListEventTrackersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListEventTrackersInput"} +func (s *ListMetricAttributionMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMetricAttributionMetricsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14720,31 +15875,32 @@ func (s *ListEventTrackersInput) Validate() error { return nil } -// SetDatasetGroupArn sets the DatasetGroupArn field's value. -func (s *ListEventTrackersInput) SetDatasetGroupArn(v string) *ListEventTrackersInput { - s.DatasetGroupArn = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMetricAttributionMetricsInput) SetMaxResults(v int64) *ListMetricAttributionMetricsInput { + s.MaxResults = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListEventTrackersInput) SetMaxResults(v int64) *ListEventTrackersInput { - s.MaxResults = &v +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *ListMetricAttributionMetricsInput) SetMetricAttributionArn(v string) *ListMetricAttributionMetricsInput { + s.MetricAttributionArn = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListEventTrackersInput) SetNextToken(v string) *ListEventTrackersInput { +func (s *ListMetricAttributionMetricsInput) SetNextToken(v string) *ListMetricAttributionMetricsInput { s.NextToken = &v return s } -type ListEventTrackersOutput struct { +type ListMetricAttributionMetricsOutput struct { _ struct{} `type:"structure"` - // A list of event trackers. - EventTrackers []*EventTrackerSummary `locationName:"eventTrackers" type:"list"` + // The metrics for the specified metric attribution. + Metrics []*MetricAttribute `locationName:"metrics" type:"list"` - // A token for getting the next set of event trackers (if they exist). + // Specify the pagination token from a previous ListMetricAttributionMetricsResponse + // request to retrieve the next page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -14753,7 +15909,7 @@ type ListEventTrackersOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEventTrackersOutput) String() string { +func (s ListMetricAttributionMetricsOutput) String() string { return awsutil.Prettify(s) } @@ -14762,33 +15918,33 @@ func (s ListEventTrackersOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEventTrackersOutput) GoString() string { +func (s ListMetricAttributionMetricsOutput) GoString() string { return s.String() } -// SetEventTrackers sets the EventTrackers field's value. -func (s *ListEventTrackersOutput) SetEventTrackers(v []*EventTrackerSummary) *ListEventTrackersOutput { - s.EventTrackers = v +// SetMetrics sets the Metrics field's value. +func (s *ListMetricAttributionMetricsOutput) SetMetrics(v []*MetricAttribute) *ListMetricAttributionMetricsOutput { + s.Metrics = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutput { +func (s *ListMetricAttributionMetricsOutput) SetNextToken(v string) *ListMetricAttributionMetricsOutput { s.NextToken = &v return s } -type ListFiltersInput struct { +type ListMetricAttributionsInput struct { _ struct{} `type:"structure"` - // The ARN of the dataset group that contains the filters. + // The metric attributions' dataset group Amazon Resource Name (ARN). DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` - // The maximum number of filters to return. + // The maximum number of metric attributions to return in one page of results. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // A token returned from the previous call to ListFilters for getting the next - // set of filters (if they exist). + // Specify the pagination token from a previous request to retrieve the next + // page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -14797,7 +15953,7 @@ type ListFiltersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersInput) String() string { +func (s ListMetricAttributionsInput) String() string { return awsutil.Prettify(s) } @@ -14806,13 +15962,13 @@ func (s ListFiltersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersInput) GoString() string { +func (s ListMetricAttributionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFiltersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} +func (s *ListMetricAttributionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMetricAttributionsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14824,30 +15980,31 @@ func (s *ListFiltersInput) Validate() error { } // SetDatasetGroupArn sets the DatasetGroupArn field's value. -func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput { +func (s *ListMetricAttributionsInput) SetDatasetGroupArn(v string) *ListMetricAttributionsInput { s.DatasetGroupArn = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { +func (s *ListMetricAttributionsInput) SetMaxResults(v int64) *ListMetricAttributionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { +func (s *ListMetricAttributionsInput) SetNextToken(v string) *ListMetricAttributionsInput { s.NextToken = &v return s } -type ListFiltersOutput struct { +type ListMetricAttributionsOutput struct { _ struct{} `type:"structure"` - // A list of returned filters. - Filters []*FilterSummary `type:"list"` + // The list of metric attributions. + MetricAttributions []*MetricAttributionSummary `locationName:"metricAttributions" type:"list"` - // A token for getting the next set of filters (if they exist). + // Specify the pagination token from a previous request to retrieve the next + // page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -14856,7 +16013,7 @@ type ListFiltersOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersOutput) String() string { +func (s ListMetricAttributionsOutput) String() string { return awsutil.Prettify(s) } @@ -14865,18 +16022,18 @@ func (s ListFiltersOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersOutput) GoString() string { +func (s ListMetricAttributionsOutput) GoString() string { return s.String() } -// SetFilters sets the Filters field's value. -func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput { - s.Filters = v +// SetMetricAttributions sets the MetricAttributions field's value. +func (s *ListMetricAttributionsOutput) SetMetricAttributions(v []*MetricAttributionSummary) *ListMetricAttributionsOutput { + s.MetricAttributions = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { +func (s *ListMetricAttributionsOutput) SetNextToken(v string) *ListMetricAttributionsOutput { s.NextToken = &v return s } @@ -15297,18 +16454,208 @@ func (s *ListSolutionVersionsOutput) SetSolutionVersions(v []*SolutionVersionSum return s } -type ListSolutionsInput struct { +type ListSolutionsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset group. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of solutions to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListSolutions for getting the + // next set of solutions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSolutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSolutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSolutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSolutionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListSolutionsInput) SetDatasetGroupArn(v string) *ListSolutionsInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSolutionsInput) SetMaxResults(v int64) *ListSolutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionsInput) SetNextToken(v string) *ListSolutionsInput { + s.NextToken = &v + return s +} + +type ListSolutionsOutput struct { + _ struct{} `type:"structure"` + + // A token for getting the next set of solutions (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of the current solutions. + Solutions []*SolutionSummary `locationName:"solutions" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSolutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSolutionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSolutionsOutput) SetNextToken(v string) *ListSolutionsOutput { + s.NextToken = &v + return s +} + +// SetSolutions sets the Solutions field's value. +func (s *ListSolutionsOutput) SetSolutions(v []*SolutionSummary) *ListSolutionsOutput { + s.Solutions = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The resource's Amazon Resource Name. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The resource's tags. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Contains information on a metric that a metric attribution reports on. For +// more information, see Measuring impact of recommendations (https://docs.aws.amazon.com/personalize/latest/dg/measuring-recommendation-impact.html). +type MetricAttribute struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset group. - DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + // The metric's event type. + // + // EventType is a required field + EventType *string `locationName:"eventType" type:"string" required:"true"` - // The maximum number of solutions to return. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The attribute's expression. Available functions are SUM() or SAMPLECOUNT(). + // For SUM() functions, provide the dataset type (either Interactions or Items) + // and column to sum as a parameter. For example SUM(Items.PRICE). + // + // Expression is a required field + Expression *string `locationName:"expression" type:"string" required:"true"` - // A token returned from the previous call to ListSolutions for getting the - // next set of solutions (if they exist). - NextToken *string `locationName:"nextToken" type:"string"` + // The metric's name. The name helps you identify the metric in Amazon CloudWatch + // or Amazon S3. + // + // MetricName is a required field + MetricName *string `locationName:"metricName" type:"string" required:"true"` } // String returns the string representation. @@ -15316,7 +16663,7 @@ type ListSolutionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSolutionsInput) String() string { +func (s MetricAttribute) String() string { return awsutil.Prettify(s) } @@ -15325,15 +16672,21 @@ func (s ListSolutionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSolutionsInput) GoString() string { +func (s MetricAttribute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListSolutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSolutionsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MetricAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetricAttribute"} + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) } if invalidParams.Len() > 0 { @@ -15342,32 +16695,54 @@ func (s *ListSolutionsInput) Validate() error { return nil } -// SetDatasetGroupArn sets the DatasetGroupArn field's value. -func (s *ListSolutionsInput) SetDatasetGroupArn(v string) *ListSolutionsInput { - s.DatasetGroupArn = &v +// SetEventType sets the EventType field's value. +func (s *MetricAttribute) SetEventType(v string) *MetricAttribute { + s.EventType = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSolutionsInput) SetMaxResults(v int64) *ListSolutionsInput { - s.MaxResults = &v +// SetExpression sets the Expression field's value. +func (s *MetricAttribute) SetExpression(v string) *MetricAttribute { + s.Expression = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSolutionsInput) SetNextToken(v string) *ListSolutionsInput { - s.NextToken = &v +// SetMetricName sets the MetricName field's value. +func (s *MetricAttribute) SetMetricName(v string) *MetricAttribute { + s.MetricName = &v return s } -type ListSolutionsOutput struct { +// Contains information on a metric attribution. A metric attribution creates +// reports on the data that you import into Amazon Personalize. Depending on +// how you import the data, you can view reports in Amazon CloudWatch or Amazon +// S3. For more information, see Measuring impact of recommendations (https://docs.aws.amazon.com/personalize/latest/dg/measuring-recommendation-impact.html). +type MetricAttribution struct { _ struct{} `type:"structure"` - // A token for getting the next set of solutions (if they exist). - NextToken *string `locationName:"nextToken" type:"string"` + // The metric attribution's creation date time. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` - // A list of the current solutions. - Solutions []*SolutionSummary `locationName:"solutions" type:"list"` + // The metric attribution's dataset group Amazon Resource Name (ARN). + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The metric attribution's failure reason. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The metric attribution's last updated date time. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The metric attribution's Amazon Resource Name (ARN). + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` + + // The metric attribution's output configuration. + MetricsOutputConfig *MetricAttributionOutput_ `locationName:"metricsOutputConfig" type:"structure"` + + // The metric attribution's name. + Name *string `locationName:"name" min:"1" type:"string"` + + // The metric attribution's status. + Status *string `locationName:"status" type:"string"` } // String returns the string representation. @@ -15375,7 +16750,7 @@ type ListSolutionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSolutionsOutput) String() string { +func (s MetricAttribution) String() string { return awsutil.Prettify(s) } @@ -15384,29 +16759,71 @@ func (s ListSolutionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSolutionsOutput) GoString() string { +func (s MetricAttribution) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSolutionsOutput) SetNextToken(v string) *ListSolutionsOutput { - s.NextToken = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *MetricAttribution) SetCreationDateTime(v time.Time) *MetricAttribution { + s.CreationDateTime = &v return s } -// SetSolutions sets the Solutions field's value. -func (s *ListSolutionsOutput) SetSolutions(v []*SolutionSummary) *ListSolutionsOutput { - s.Solutions = v +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *MetricAttribution) SetDatasetGroupArn(v string) *MetricAttribution { + s.DatasetGroupArn = &v return s } -type ListTagsForResourceInput struct { +// SetFailureReason sets the FailureReason field's value. +func (s *MetricAttribution) SetFailureReason(v string) *MetricAttribution { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *MetricAttribution) SetLastUpdatedDateTime(v time.Time) *MetricAttribution { + s.LastUpdatedDateTime = &v + return s +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *MetricAttribution) SetMetricAttributionArn(v string) *MetricAttribution { + s.MetricAttributionArn = &v + return s +} + +// SetMetricsOutputConfig sets the MetricsOutputConfig field's value. +func (s *MetricAttribution) SetMetricsOutputConfig(v *MetricAttributionOutput_) *MetricAttribution { + s.MetricsOutputConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *MetricAttribution) SetName(v string) *MetricAttribution { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MetricAttribution) SetStatus(v string) *MetricAttribution { + s.Status = &v + return s +} + +// The output configuration details for a metric attribution. +type MetricAttributionOutput_ struct { _ struct{} `type:"structure"` - // The resource's Amazon Resource Name. + // The Amazon Resource Name (ARN) of the IAM service role that has permissions + // to add data to your output Amazon S3 bucket and add metrics to Amazon CloudWatch. + // For more information, see Measuring impact of recommendations (https://docs.aws.amazon.com/personalize/latest/dg/measuring-recommendation-impact.html). // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The configuration details of an Amazon S3 input or output bucket. + S3DataDestination *S3DataConfig `locationName:"s3DataDestination" type:"structure"` } // String returns the string representation. @@ -15414,7 +16831,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s MetricAttributionOutput_) String() string { return awsutil.Prettify(s) } @@ -15423,15 +16840,20 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { +func (s MetricAttributionOutput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *MetricAttributionOutput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetricAttributionOutput_"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.S3DataDestination != nil { + if err := s.S3DataDestination.Validate(); err != nil { + invalidParams.AddNested("S3DataDestination", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -15440,17 +16862,40 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetRoleArn sets the RoleArn field's value. +func (s *MetricAttributionOutput_) SetRoleArn(v string) *MetricAttributionOutput_ { + s.RoleArn = &v return s } -type ListTagsForResourceOutput struct { +// SetS3DataDestination sets the S3DataDestination field's value. +func (s *MetricAttributionOutput_) SetS3DataDestination(v *S3DataConfig) *MetricAttributionOutput_ { + s.S3DataDestination = v + return s +} + +// Provides a summary of the properties of a metric attribution. For a complete +// listing, call the DescribeMetricAttribution (https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeMetricAttribution.html). +type MetricAttributionSummary struct { _ struct{} `type:"structure"` - // The resource's tags. - Tags []*Tag `locationName:"tags" type:"list"` + // The metric attribution's creation date time. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The metric attribution's failure reason. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The metric attribution's last updated date time. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The metric attribution's Amazon Resource Name (ARN). + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` + + // The name of the metric attribution. + Name *string `locationName:"name" min:"1" type:"string"` + + // The metric attribution's status. + Status *string `locationName:"status" type:"string"` } // String returns the string representation. @@ -15458,7 +16903,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s MetricAttributionSummary) String() string { return awsutil.Prettify(s) } @@ -15467,13 +16912,43 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s MetricAttributionSummary) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *MetricAttributionSummary) SetCreationDateTime(v time.Time) *MetricAttributionSummary { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *MetricAttributionSummary) SetFailureReason(v string) *MetricAttributionSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *MetricAttributionSummary) SetLastUpdatedDateTime(v time.Time) *MetricAttributionSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *MetricAttributionSummary) SetMetricAttributionArn(v string) *MetricAttributionSummary { + s.MetricAttributionArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *MetricAttributionSummary) SetName(v string) *MetricAttributionSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MetricAttributionSummary) SetStatus(v string) *MetricAttributionSummary { + s.Status = &v return s } @@ -16629,6 +18104,9 @@ type SolutionSummary struct { // The name of the solution. Name *string `locationName:"name" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the recipe used by the solution. + RecipeArn *string `locationName:"recipeArn" type:"string"` + // The Amazon Resource Name (ARN) of the solution. SolutionArn *string `locationName:"solutionArn" type:"string"` @@ -16678,6 +18156,12 @@ func (s *SolutionSummary) SetName(v string) *SolutionSummary { return s } +// SetRecipeArn sets the RecipeArn field's value. +func (s *SolutionSummary) SetRecipeArn(v string) *SolutionSummary { + s.RecipeArn = &v + return s +} + // SetSolutionArn sets the SolutionArn field's value. func (s *SolutionSummary) SetSolutionArn(v string) *SolutionSummary { s.SolutionArn = &v @@ -16713,6 +18197,9 @@ type SolutionVersion struct { // The date and time (in Unix time) that the solution was last updated. LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + // The name of the solution version. + Name *string `locationName:"name" min:"1" type:"string"` + // When true, Amazon Personalize searches for the most optimal recipe according // to the solution configuration. When false (the default), Amazon Personalize // uses recipeArn. @@ -16823,6 +18310,12 @@ func (s *SolutionVersion) SetLastUpdatedDateTime(v time.Time) *SolutionVersion { return s } +// SetName sets the Name field's value. +func (s *SolutionVersion) SetName(v string) *SolutionVersion { + s.Name = &v + return s +} + // SetPerformAutoML sets the PerformAutoML field's value. func (s *SolutionVersion) SetPerformAutoML(v bool) *SolutionVersion { s.PerformAutoML = &v @@ -17693,6 +19186,120 @@ func (s *UpdateCampaignOutput) SetCampaignArn(v string) *UpdateCampaignOutput { return s } +type UpdateMetricAttributionInput struct { + _ struct{} `type:"structure"` + + // Add new metric attributes to the metric attribution. + AddMetrics []*MetricAttribute `locationName:"addMetrics" type:"list"` + + // The Amazon Resource Name (ARN) for the metric attribution to update. + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` + + // An output config for the metric attribution. + MetricsOutputConfig *MetricAttributionOutput_ `locationName:"metricsOutputConfig" type:"structure"` + + // Remove metric attributes from the metric attribution. + RemoveMetrics []*string `locationName:"removeMetrics" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMetricAttributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMetricAttributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMetricAttributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMetricAttributionInput"} + if s.AddMetrics != nil { + for i, v := range s.AddMetrics { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddMetrics", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MetricsOutputConfig != nil { + if err := s.MetricsOutputConfig.Validate(); err != nil { + invalidParams.AddNested("MetricsOutputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddMetrics sets the AddMetrics field's value. +func (s *UpdateMetricAttributionInput) SetAddMetrics(v []*MetricAttribute) *UpdateMetricAttributionInput { + s.AddMetrics = v + return s +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *UpdateMetricAttributionInput) SetMetricAttributionArn(v string) *UpdateMetricAttributionInput { + s.MetricAttributionArn = &v + return s +} + +// SetMetricsOutputConfig sets the MetricsOutputConfig field's value. +func (s *UpdateMetricAttributionInput) SetMetricsOutputConfig(v *MetricAttributionOutput_) *UpdateMetricAttributionInput { + s.MetricsOutputConfig = v + return s +} + +// SetRemoveMetrics sets the RemoveMetrics field's value. +func (s *UpdateMetricAttributionInput) SetRemoveMetrics(v []*string) *UpdateMetricAttributionInput { + s.RemoveMetrics = v + return s +} + +type UpdateMetricAttributionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the metric attribution that you updated. + MetricAttributionArn *string `locationName:"metricAttributionArn" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMetricAttributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMetricAttributionOutput) GoString() string { + return s.String() +} + +// SetMetricAttributionArn sets the MetricAttributionArn field's value. +func (s *UpdateMetricAttributionOutput) SetMetricAttributionArn(v string) *UpdateMetricAttributionOutput { + s.MetricAttributionArn = &v + return s +} + type UpdateRecommenderInput struct { _ struct{} `type:"structure"` diff --git a/service/personalize/personalizeiface/interface.go b/service/personalize/personalizeiface/interface.go index 41b9b9e762a..2cd4407c882 100644 --- a/service/personalize/personalizeiface/interface.go +++ b/service/personalize/personalizeiface/interface.go @@ -96,6 +96,10 @@ type PersonalizeAPI interface { CreateFilterWithContext(aws.Context, *personalize.CreateFilterInput, ...request.Option) (*personalize.CreateFilterOutput, error) CreateFilterRequest(*personalize.CreateFilterInput) (*request.Request, *personalize.CreateFilterOutput) + CreateMetricAttribution(*personalize.CreateMetricAttributionInput) (*personalize.CreateMetricAttributionOutput, error) + CreateMetricAttributionWithContext(aws.Context, *personalize.CreateMetricAttributionInput, ...request.Option) (*personalize.CreateMetricAttributionOutput, error) + CreateMetricAttributionRequest(*personalize.CreateMetricAttributionInput) (*request.Request, *personalize.CreateMetricAttributionOutput) + CreateRecommender(*personalize.CreateRecommenderInput) (*personalize.CreateRecommenderOutput, error) CreateRecommenderWithContext(aws.Context, *personalize.CreateRecommenderInput, ...request.Option) (*personalize.CreateRecommenderOutput, error) CreateRecommenderRequest(*personalize.CreateRecommenderInput) (*request.Request, *personalize.CreateRecommenderOutput) @@ -132,6 +136,10 @@ type PersonalizeAPI interface { DeleteFilterWithContext(aws.Context, *personalize.DeleteFilterInput, ...request.Option) (*personalize.DeleteFilterOutput, error) DeleteFilterRequest(*personalize.DeleteFilterInput) (*request.Request, *personalize.DeleteFilterOutput) + DeleteMetricAttribution(*personalize.DeleteMetricAttributionInput) (*personalize.DeleteMetricAttributionOutput, error) + DeleteMetricAttributionWithContext(aws.Context, *personalize.DeleteMetricAttributionInput, ...request.Option) (*personalize.DeleteMetricAttributionOutput, error) + DeleteMetricAttributionRequest(*personalize.DeleteMetricAttributionInput) (*request.Request, *personalize.DeleteMetricAttributionOutput) + DeleteRecommender(*personalize.DeleteRecommenderInput) (*personalize.DeleteRecommenderOutput, error) DeleteRecommenderWithContext(aws.Context, *personalize.DeleteRecommenderInput, ...request.Option) (*personalize.DeleteRecommenderOutput, error) DeleteRecommenderRequest(*personalize.DeleteRecommenderInput) (*request.Request, *personalize.DeleteRecommenderOutput) @@ -188,6 +196,10 @@ type PersonalizeAPI interface { DescribeFilterWithContext(aws.Context, *personalize.DescribeFilterInput, ...request.Option) (*personalize.DescribeFilterOutput, error) DescribeFilterRequest(*personalize.DescribeFilterInput) (*request.Request, *personalize.DescribeFilterOutput) + DescribeMetricAttribution(*personalize.DescribeMetricAttributionInput) (*personalize.DescribeMetricAttributionOutput, error) + DescribeMetricAttributionWithContext(aws.Context, *personalize.DescribeMetricAttributionInput, ...request.Option) (*personalize.DescribeMetricAttributionOutput, error) + DescribeMetricAttributionRequest(*personalize.DescribeMetricAttributionInput) (*request.Request, *personalize.DescribeMetricAttributionOutput) + DescribeRecipe(*personalize.DescribeRecipeInput) (*personalize.DescribeRecipeOutput, error) DescribeRecipeWithContext(aws.Context, *personalize.DescribeRecipeInput, ...request.Option) (*personalize.DescribeRecipeOutput, error) DescribeRecipeRequest(*personalize.DescribeRecipeInput) (*request.Request, *personalize.DescribeRecipeOutput) @@ -275,6 +287,20 @@ type PersonalizeAPI interface { ListFiltersPages(*personalize.ListFiltersInput, func(*personalize.ListFiltersOutput, bool) bool) error ListFiltersPagesWithContext(aws.Context, *personalize.ListFiltersInput, func(*personalize.ListFiltersOutput, bool) bool, ...request.Option) error + ListMetricAttributionMetrics(*personalize.ListMetricAttributionMetricsInput) (*personalize.ListMetricAttributionMetricsOutput, error) + ListMetricAttributionMetricsWithContext(aws.Context, *personalize.ListMetricAttributionMetricsInput, ...request.Option) (*personalize.ListMetricAttributionMetricsOutput, error) + ListMetricAttributionMetricsRequest(*personalize.ListMetricAttributionMetricsInput) (*request.Request, *personalize.ListMetricAttributionMetricsOutput) + + ListMetricAttributionMetricsPages(*personalize.ListMetricAttributionMetricsInput, func(*personalize.ListMetricAttributionMetricsOutput, bool) bool) error + ListMetricAttributionMetricsPagesWithContext(aws.Context, *personalize.ListMetricAttributionMetricsInput, func(*personalize.ListMetricAttributionMetricsOutput, bool) bool, ...request.Option) error + + ListMetricAttributions(*personalize.ListMetricAttributionsInput) (*personalize.ListMetricAttributionsOutput, error) + ListMetricAttributionsWithContext(aws.Context, *personalize.ListMetricAttributionsInput, ...request.Option) (*personalize.ListMetricAttributionsOutput, error) + ListMetricAttributionsRequest(*personalize.ListMetricAttributionsInput) (*request.Request, *personalize.ListMetricAttributionsOutput) + + ListMetricAttributionsPages(*personalize.ListMetricAttributionsInput, func(*personalize.ListMetricAttributionsOutput, bool) bool) error + ListMetricAttributionsPagesWithContext(aws.Context, *personalize.ListMetricAttributionsInput, func(*personalize.ListMetricAttributionsOutput, bool) bool, ...request.Option) error + ListRecipes(*personalize.ListRecipesInput) (*personalize.ListRecipesOutput, error) ListRecipesWithContext(aws.Context, *personalize.ListRecipesInput, ...request.Option) (*personalize.ListRecipesOutput, error) ListRecipesRequest(*personalize.ListRecipesInput) (*request.Request, *personalize.ListRecipesOutput) @@ -338,6 +364,10 @@ type PersonalizeAPI interface { UpdateCampaignWithContext(aws.Context, *personalize.UpdateCampaignInput, ...request.Option) (*personalize.UpdateCampaignOutput, error) UpdateCampaignRequest(*personalize.UpdateCampaignInput) (*request.Request, *personalize.UpdateCampaignOutput) + UpdateMetricAttribution(*personalize.UpdateMetricAttributionInput) (*personalize.UpdateMetricAttributionOutput, error) + UpdateMetricAttributionWithContext(aws.Context, *personalize.UpdateMetricAttributionInput, ...request.Option) (*personalize.UpdateMetricAttributionOutput, error) + UpdateMetricAttributionRequest(*personalize.UpdateMetricAttributionInput) (*request.Request, *personalize.UpdateMetricAttributionOutput) + UpdateRecommender(*personalize.UpdateRecommenderInput) (*personalize.UpdateRecommenderOutput, error) UpdateRecommenderWithContext(aws.Context, *personalize.UpdateRecommenderInput, ...request.Option) (*personalize.UpdateRecommenderOutput, error) UpdateRecommenderRequest(*personalize.UpdateRecommenderInput) (*request.Request, *personalize.UpdateRecommenderOutput) diff --git a/service/polly/api.go b/service/polly/api.go index 6ad834326f8..2280298b62d 100644 --- a/service/polly/api.go +++ b/service/polly/api.go @@ -3986,6 +3986,9 @@ const ( // LanguageCodeYueCn is a LanguageCode enum value LanguageCodeYueCn = "yue-CN" + + // LanguageCodeArAe is a LanguageCode enum value + LanguageCodeArAe = "ar-AE" ) // LanguageCode_Values returns all elements of the LanguageCode enum @@ -4025,6 +4028,7 @@ func LanguageCode_Values() []string { LanguageCodeCaEs, LanguageCodeDeAt, LanguageCodeYueCn, + LanguageCodeArAe, } } @@ -4347,6 +4351,12 @@ const ( // VoiceIdSuvi is a VoiceId enum value VoiceIdSuvi = "Suvi" + + // VoiceIdOla is a VoiceId enum value + VoiceIdOla = "Ola" + + // VoiceIdHala is a VoiceId enum value + VoiceIdHala = "Hala" ) // VoiceId_Values returns all elements of the VoiceId enum @@ -4429,5 +4439,7 @@ func VoiceId_Values() []string { VoiceIdElin, VoiceIdIda, VoiceIdSuvi, + VoiceIdOla, + VoiceIdHala, } } diff --git a/service/s3control/api.go b/service/s3control/api.go index 7f28e97a486..cbe7d702b20 100644 --- a/service/s3control/api.go +++ b/service/s3control/api.go @@ -3590,6 +3590,8 @@ func (c *S3Control) GetStorageLensConfigurationRequest(input *GetStorageLensConf // // Gets the Amazon S3 Storage Lens configuration. For more information, see // Assessing your storage activity and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) // in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:GetStorageLensConfiguration @@ -5702,6 +5704,8 @@ func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConf // // Puts an Amazon S3 Storage Lens configuration. For more information about // S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) // in the Amazon S3 User Guide. // // To use this action, you must have permission to perform the s3:PutStorageLensConfiguration @@ -6144,17 +6148,32 @@ func (s *AccessPoint) SetVpcConfiguration(v *VpcConfiguration) *AccessPoint { return s } -// A container for the account level Amazon S3 Storage Lens configuration. +// A container for the account-level Amazon S3 Storage Lens configuration. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. type AccountLevel struct { _ struct{} `type:"structure"` - // A container for the S3 Storage Lens activity metrics. + // A container for S3 Storage Lens activity metrics. ActivityMetrics *ActivityMetrics `type:"structure"` + // A container for S3 Storage Lens advanced cost-optimization metrics. + AdvancedCostOptimizationMetrics *AdvancedCostOptimizationMetrics `type:"structure"` + + // A container for S3 Storage Lens advanced data-protection metrics. + AdvancedDataProtectionMetrics *AdvancedDataProtectionMetrics `type:"structure"` + // A container for the S3 Storage Lens bucket-level configuration. // // BucketLevel is a required field BucketLevel *BucketLevel `type:"structure" required:"true"` + + // A container for detailed status code metrics. + DetailedStatusCodesMetrics *DetailedStatusCodesMetrics `type:"structure"` } // String returns the string representation. @@ -6199,17 +6218,44 @@ func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { return s } +// SetAdvancedCostOptimizationMetrics sets the AdvancedCostOptimizationMetrics field's value. +func (s *AccountLevel) SetAdvancedCostOptimizationMetrics(v *AdvancedCostOptimizationMetrics) *AccountLevel { + s.AdvancedCostOptimizationMetrics = v + return s +} + +// SetAdvancedDataProtectionMetrics sets the AdvancedDataProtectionMetrics field's value. +func (s *AccountLevel) SetAdvancedDataProtectionMetrics(v *AdvancedDataProtectionMetrics) *AccountLevel { + s.AdvancedDataProtectionMetrics = v + return s +} + // SetBucketLevel sets the BucketLevel field's value. func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { s.BucketLevel = v return s } -// A container for the activity metrics. +// SetDetailedStatusCodesMetrics sets the DetailedStatusCodesMetrics field's value. +func (s *AccountLevel) SetDetailedStatusCodesMetrics(v *DetailedStatusCodesMetrics) *AccountLevel { + s.DetailedStatusCodesMetrics = v + return s +} + +// The container element for Amazon S3 Storage Lens activity metrics. Activity +// metrics show details about how your storage is requested, such as requests +// (for example, All requests, Get requests, Put requests), bytes uploaded or +// downloaded, and errors. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. type ActivityMetrics struct { _ struct{} `type:"structure"` - // A container for whether the activity metrics are enabled. + // A container that indicates whether activity metrics are enabled. IsEnabled *bool `type:"boolean"` } @@ -6237,6 +6283,89 @@ func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { return s } +// The container element for Amazon S3 Storage Lens advanced cost-optimization +// metrics. Advanced cost-optimization metrics provide insights that you can +// use to manage and optimize your storage costs, for example, lifecycle rule +// counts for transitions, expirations, and incomplete multipart uploads. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. +type AdvancedCostOptimizationMetrics struct { + _ struct{} `type:"structure"` + + // A container that indicates whether advanced cost-optimization metrics are + // enabled. + IsEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdvancedCostOptimizationMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdvancedCostOptimizationMetrics) GoString() string { + return s.String() +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *AdvancedCostOptimizationMetrics) SetIsEnabled(v bool) *AdvancedCostOptimizationMetrics { + s.IsEnabled = &v + return s +} + +// The container element for Amazon S3 Storage Lens advanced data-protection +// metrics. Advanced data-protection metrics provide insights that you can use +// to perform audits and protect your data, for example replication rule counts +// within and across Regions. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. +type AdvancedDataProtectionMetrics struct { + _ struct{} `type:"structure"` + + // A container that indicates whether advanced data-protection metrics are enabled. + IsEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdvancedDataProtectionMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdvancedDataProtectionMetrics) GoString() string { + return s.String() +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *AdvancedDataProtectionMetrics) SetIsEnabled(v bool) *AdvancedDataProtectionMetrics { + s.IsEnabled = &v + return s +} + // Error details for the failed asynchronous operation. type AsyncErrorDetails struct { _ struct{} `type:"structure"` @@ -6529,14 +6658,30 @@ func (s *AwsLambdaTransformation) SetFunctionPayload(v string) *AwsLambdaTransfo return s } -// A container for the bucket-level configuration. +// A container for the bucket-level configuration for Amazon S3 Storage Lens. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. type BucketLevel struct { _ struct{} `type:"structure"` - // A container for the bucket-level activity metrics for Amazon S3 Storage Lens + // A container for the bucket-level activity metrics for S3 Storage Lens. ActivityMetrics *ActivityMetrics `type:"structure"` - // A container for the bucket-level prefix-level metrics for S3 Storage Lens + // A container for bucket-level advanced cost-optimization metrics for S3 Storage + // Lens. + AdvancedCostOptimizationMetrics *AdvancedCostOptimizationMetrics `type:"structure"` + + // A container for bucket-level advanced data-protection metrics for S3 Storage + // Lens. + AdvancedDataProtectionMetrics *AdvancedDataProtectionMetrics `type:"structure"` + + // A container for bucket-level detailed status code metrics for S3 Storage + // Lens. + DetailedStatusCodesMetrics *DetailedStatusCodesMetrics `type:"structure"` + + // A container for the prefix-level metrics for S3 Storage Lens. PrefixLevel *PrefixLevel `type:"structure"` } @@ -6579,6 +6724,24 @@ func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { return s } +// SetAdvancedCostOptimizationMetrics sets the AdvancedCostOptimizationMetrics field's value. +func (s *BucketLevel) SetAdvancedCostOptimizationMetrics(v *AdvancedCostOptimizationMetrics) *BucketLevel { + s.AdvancedCostOptimizationMetrics = v + return s +} + +// SetAdvancedDataProtectionMetrics sets the AdvancedDataProtectionMetrics field's value. +func (s *BucketLevel) SetAdvancedDataProtectionMetrics(v *AdvancedDataProtectionMetrics) *BucketLevel { + s.AdvancedDataProtectionMetrics = v + return s +} + +// SetDetailedStatusCodesMetrics sets the DetailedStatusCodesMetrics field's value. +func (s *BucketLevel) SetDetailedStatusCodesMetrics(v *DetailedStatusCodesMetrics) *BucketLevel { + s.DetailedStatusCodesMetrics = v + return s +} + // SetPrefixLevel sets the PrefixLevel field's value. func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { s.PrefixLevel = v @@ -7575,7 +7738,7 @@ type CreateMultiRegionAccessPointInput_ struct { // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) // in the Amazon S3 User Guide. // - // This is not supported for Amazon S3 on Outposts. + // This data type is not supported for Amazon S3 on Outposts. PublicAccessBlock *PublicAccessBlockConfiguration `type:"structure"` // The buckets in different Regions that are associated with the Multi-Region @@ -9483,6 +9646,46 @@ func (s *DescribeMultiRegionAccessPointOperationOutput) SetAsyncOperation(v *Asy return s } +// The container element for Amazon S3 Storage Lens detailed status code metrics. +// Detailed status code metrics generate metrics for HTTP status codes, such +// as 200 OK, 403 Forbidden, 503 Service Unavailable and others. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. +type DetailedStatusCodesMetrics struct { + _ struct{} `type:"structure"` + + // A container that indicates whether detailed status code metrics are enabled. + IsEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetailedStatusCodesMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetailedStatusCodesMetrics) GoString() string { + return s.String() +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *DetailedStatusCodesMetrics) SetIsEnabled(v bool) *DetailedStatusCodesMetrics { + s.IsEnabled = &v + return s +} + // The last established access control policy for a Multi-Region Access Point. // // When you update the policy, the update is first listed as the proposed policy. @@ -10007,7 +10210,7 @@ type GetAccessPointOutput struct { // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) // in the Amazon S3 User Guide. // - // This is not supported for Amazon S3 on Outposts. + // This data type is not supported for Amazon S3 on Outposts. PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` // Contains the virtual private cloud (VPC) configuration for the specified @@ -12810,8 +13013,8 @@ type JobOperation struct { // object in the manifest. S3InitiateRestoreObject *S3InitiateRestoreObjectOperation `type:"structure"` - // Directs the specified job to run a PUT Object acl call on every object in - // the manifest. + // Directs the specified job to run a PutObjectAcl call on every object in the + // manifest. S3PutObjectAcl *S3SetObjectAclOperation `type:"structure"` // Directs the specified job to run a PUT Copy object call on every object in @@ -13517,6 +13720,7 @@ type LifecycleRuleFilter struct { // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). Prefix *string `type:"string"` + // A container for a key-value name pair. Tag *S3Tag `type:"structure"` } @@ -14581,7 +14785,7 @@ type MultiRegionAccessPointReport struct { // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) // in the Amazon S3 User Guide. // - // This is not supported for Amazon S3 on Outposts. + // This data type is not supported for Amazon S3 on Outposts. PublicAccessBlock *PublicAccessBlockConfiguration `type:"structure"` // A collection of the Regions and buckets associated with the Multi-Region @@ -15218,7 +15422,7 @@ func (s *ProposedMultiRegionAccessPointPolicy) SetPolicy(v string) *ProposedMult // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) // in the Amazon S3 User Guide. // -// This is not supported for Amazon S3 on Outposts. +// This data type is not supported for Amazon S3 on Outposts. type PublicAccessBlockConfiguration struct { _ struct{} `type:"structure"` @@ -15226,8 +15430,7 @@ type PublicAccessBlockConfiguration struct { // for buckets in this account. Setting this element to TRUE causes the following // behavior: // - // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is - // public. + // * PutBucketAcl and PutObjectAcl calls fail if the specified ACL is public. // // * PUT Object calls fail if the request includes a public ACL. // @@ -15235,7 +15438,7 @@ type PublicAccessBlockConfiguration struct { // // Enabling this setting doesn't affect existing policies or ACLs. // - // This is not supported for Amazon S3 on Outposts. + // This property is not supported for Amazon S3 on Outposts. BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` // Specifies whether Amazon S3 should block public bucket policies for buckets @@ -15244,7 +15447,7 @@ type PublicAccessBlockConfiguration struct { // // Enabling this setting doesn't affect existing bucket policies. // - // This is not supported for Amazon S3 on Outposts. + // This property is not supported for Amazon S3 on Outposts. BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` // Specifies whether Amazon S3 should ignore public ACLs for buckets in this @@ -15254,7 +15457,7 @@ type PublicAccessBlockConfiguration struct { // Enabling this setting doesn't affect the persistence of any existing ACLs // and doesn't prevent new public ACLs from being set. // - // This is not supported for Amazon S3 on Outposts. + // This property is not supported for Amazon S3 on Outposts. IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` // Specifies whether Amazon S3 should restrict public bucket policies for buckets @@ -15266,7 +15469,7 @@ type PublicAccessBlockConfiguration struct { // that public and cross-account access within any public bucket policy, including // non-public delegation to specific accounts, is blocked. // - // This is not supported for Amazon S3 on Outposts. + // This property is not supported for Amazon S3 on Outposts. RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` } @@ -17450,8 +17653,8 @@ type S3CopyObjectOperation struct { TargetKeyPrefix *string `min:"1" type:"string"` // Specifies the destination bucket ARN for the batch copy operation. For example, - // to copy objects to a bucket named "destinationBucket", set the TargetResource - // to "arn:aws:s3:::destinationBucket". + // to copy objects to a bucket named destinationBucket, set the TargetResource + // property to arn:aws:s3:::destinationBucket. TargetResource *string `min:"1" type:"string"` UnModifiedSinceConstraint *time.Time `type:"timestamp"` @@ -18387,9 +18590,9 @@ func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { } // Contains the configuration parameters for a Set Object ACL operation. S3 -// Batch Operations passes every object to the underlying PUT Object acl API. -// For more information about the parameters for this operation, see PUT Object -// acl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). +// Batch Operations passes every object to the underlying PutObjectAcl API. +// For more information about the parameters for this operation, see PutObjectAcl +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). type S3SetObjectAclOperation struct { _ struct{} `type:"structure"` @@ -18610,12 +18813,17 @@ func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingO return s } +// A container for a key-value name pair. type S3Tag struct { _ struct{} `type:"structure"` + // Key of the tag + // // Key is a required field Key *string `min:"1" type:"string" required:"true"` + // Value of the tag + // // Value is a required field Value *string `type:"string" required:"true"` } diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go index c84e8c6d3c5..6bc8063f1a7 100644 --- a/service/secretsmanager/api.go +++ b/service/secretsmanager/api.go @@ -1982,6 +1982,11 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // assumes that a previous rotation request is still in progress and returns // an error. // +// When rotation is unsuccessful, the AWSPENDING staging label might be attached +// to an empty secret version. For more information, see Troubleshoot rotation +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html) +// in the Secrets Manager User Guide. +// // Secrets Manager generates a CloudTrail log entry when you call this action. // Do not include sensitive information in request parameters because it might // be logged. For more information, see Logging Secrets Manager events with @@ -3432,8 +3437,8 @@ type DeleteSecretInput struct { // Use this parameter with caution. This parameter causes the operation to skip // the normal recovery window before the permanent deletion that Secrets Manager // would normally impose with the RecoveryWindowInDays parameter. If you delete - // a secret with the ForceDeleteWithouRecovery parameter, then you have no opportunity - // to recover the secret. You lose the secret permanently. + // a secret with the ForceDeleteWithoutRecovery parameter, then you have no + // opportunity to recover the secret. You lose the secret permanently. ForceDeleteWithoutRecovery *bool `type:"boolean"` // The number of days from 7 to 30 that Secrets Manager waits before permanently @@ -4923,7 +4928,7 @@ type ListSecretsInput struct { // again with this value. NextToken *string `min:"1" type:"string"` - // Lists secrets in the requested order. + // Secrets are listed by CreatedDate. SortOrder *string `type:"string" enum:"SortOrderType"` } @@ -6325,34 +6330,42 @@ type RotationRulesType struct { // In DescribeSecret and ListSecrets, this value is calculated from the rotation // schedule after every successful rotation. In RotateSecret, you can set the // rotation schedule in RotationRules with AutomaticallyAfterDays or ScheduleExpression, - // but not both. + // but not both. To set a rotation schedule in hours, use ScheduleExpression. AutomaticallyAfterDays *int64 `min:"1" type:"long"` // The length of the rotation window in hours, for example 3h for a three hour // window. Secrets Manager rotates your secret at any time during this window. - // The window must not go into the next UTC day. If you don't specify this value, - // the window automatically ends at the end of the UTC day. The window begins - // according to the ScheduleExpression. For more information, including examples, - // see Schedule expressions in Secrets Manager rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html). + // The window must not extend into the next rotation window or the next UTC + // day. The window starts according to the ScheduleExpression. If you don't + // specify a Duration, for a ScheduleExpression in hours, the window automatically + // closes after one hour. For a ScheduleExpression in days, the window automatically + // closes at the end of the UTC day. For more information, including examples, + // see Schedule expressions in Secrets Manager rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html) + // in the Secrets Manager Users Guide. Duration *string `min:"2" type:"string"` // A cron() or rate() expression that defines the schedule for rotating your - // secret. Secrets Manager rotation schedules use UTC time zone. - // - // Secrets Manager rate() expressions represent the interval in days that you - // want to rotate your secret, for example rate(10 days). If you use a rate() - // expression, the rotation window opens at midnight, and Secrets Manager rotates - // your secret any time that day after midnight. You can set a Duration to shorten - // the rotation window. - // - // You can use a cron() expression to create rotation schedules that are more + // secret. Secrets Manager rotation schedules use UTC time zone. Secrets Manager + // rotates your secret any time during a rotation window. + // + // Secrets Manager rate() expressions represent the interval in hours or days + // that you want to rotate your secret, for example rate(12 hours) or rate(10 + // days). You can rotate a secret as often as every four hours. If you use a + // rate() expression, the rotation window starts at midnight. For a rate in + // hours, the default rotation window closes after one hour. For a rate in days, + // the default rotation window closes at the end of the day. You can set the + // Duration to change the rotation window. The rotation window must not extend + // into the next UTC day or into the next rotation window. + // + // You can use a cron() expression to create a rotation schedule that is more // detailed than a rotation interval. For more information, including examples, - // see Schedule expressions in Secrets Manager rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html). - // If you use a cron() expression, Secrets Manager rotates your secret any time - // during that day after the window opens. For example, cron(0 8 1 * ? *) represents - // a rotation window that occurs on the first day of every month beginning at - // 8:00 AM UTC. Secrets Manager rotates the secret any time that day after 8:00 - // AM. You can set a Duration to shorten the rotation window. + // see Schedule expressions in Secrets Manager rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html) + // in the Secrets Manager Users Guide. For a cron expression that represents + // a schedule in hours, the default rotation window closes after one hour. For + // a cron expression that represents a schedule in days, the default rotation + // window closes at the end of the day. You can set the Duration to change the + // rotation window. The rotation window must not extend into the next UTC day + // or into the next rotation window. ScheduleExpression *string `min:"1" type:"string"` } diff --git a/service/securityhub/api.go b/service/securityhub/api.go index c25fe2eb06c..845c782e804 100644 --- a/service/securityhub/api.go +++ b/service/securityhub/api.go @@ -24329,10 +24329,14 @@ func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFun return s } -// Details about a function's configuration. +// Details about an Lambda function's configuration. type AwsLambdaFunctionDetails struct { _ struct{} `type:"structure"` + // The instruction set architecture that the function uses. Valid values are + // x86_64 or arm64. + Architectures []*string `type:"list"` + // An AwsLambdaFunctionCode object. Code *AwsLambdaFunctionCode `type:"structure"` @@ -24372,6 +24376,10 @@ type AwsLambdaFunctionDetails struct { // The memory that is allocated to the function. MemorySize *int64 `type:"integer"` + // The type of deployment package that's used to deploy the function code to + // Lambda. Set to Image for a container image and Zip for a .zip file archive. + PackageType *string `type:"string"` + // The latest updated revision of the function or alias. RevisionId *string `type:"string"` @@ -24412,6 +24420,12 @@ func (s AwsLambdaFunctionDetails) GoString() string { return s.String() } +// SetArchitectures sets the Architectures field's value. +func (s *AwsLambdaFunctionDetails) SetArchitectures(v []*string) *AwsLambdaFunctionDetails { + s.Architectures = v + return s +} + // SetCode sets the Code field's value. func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails { s.Code = v @@ -24478,6 +24492,12 @@ func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDeta return s } +// SetPackageType sets the PackageType field's value. +func (s *AwsLambdaFunctionDetails) SetPackageType(v string) *AwsLambdaFunctionDetails { + s.PackageType = &v + return s +} + // SetRevisionId sets the RevisionId field's value. func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails { s.RevisionId = &v @@ -45355,6 +45375,12 @@ type SoftwarePackage struct { // the software package. Remediation *string `type:"string"` + // The Amazon Resource Name (ARN) of the source layer. + SourceLayerArn *string `type:"string"` + + // The source layer hash of the vulnerable package. + SourceLayerHash *string `type:"string"` + // The version of the software package. Version *string `type:"string"` } @@ -45425,6 +45451,18 @@ func (s *SoftwarePackage) SetRemediation(v string) *SoftwarePackage { return s } +// SetSourceLayerArn sets the SourceLayerArn field's value. +func (s *SoftwarePackage) SetSourceLayerArn(v string) *SoftwarePackage { + s.SourceLayerArn = &v + return s +} + +// SetSourceLayerHash sets the SourceLayerHash field's value. +func (s *SoftwarePackage) SetSourceLayerHash(v string) *SoftwarePackage { + s.SourceLayerHash = &v + return s +} + // SetVersion sets the Version field's value. func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage { s.Version = &v diff --git a/service/sts/api.go b/service/sts/api.go index 2b7e675ab86..c0706bec93d 100644 --- a/service/sts/api.go +++ b/service/sts/api.go @@ -74,16 +74,16 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // // (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // When you create a role, you create two policies: A role trust policy that @@ -307,16 +307,16 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // // (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // Calling AssumeRoleWithSAML does not require the use of Amazon Web Services @@ -343,11 +343,12 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // in the IAM User Guide. // -// An Amazon Web Services conversion compresses the passed session policies -// 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. +// 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 @@ -563,16 +564,16 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // // (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// 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 (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // # Tags @@ -588,11 +589,12 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // in the IAM User Guide. // -// An Amazon Web Services conversion compresses the passed session policies -// 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. +// 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 @@ -1110,9 +1112,9 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies to -// use as managed session policies. The plaintext that you use for both inline -// and managed session policies can't exceed 2,048 characters. +// 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. // // Though the session policy parameters are optional, if you do not pass a policy, // then the resulting federated user session has no permissions. When you pass @@ -1424,11 +1426,12 @@ type AssumeRoleInput struct { // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage // return (\u000D) characters. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -1441,11 +1444,12 @@ type AssumeRoleInput struct { // Resource Names (ARNs) and Amazon Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -1520,11 +1524,12 @@ type AssumeRoleInput struct { // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // in the IAM User Guide. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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 already attached // to the role. When you do, session tags override a role tag with the same @@ -1843,11 +1848,12 @@ type AssumeRoleWithSAMLInput struct { // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage // return (\u000D) characters. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -1860,11 +1866,12 @@ type AssumeRoleWithSAMLInput struct { // Resource Names (ARNs) and Amazon Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -2190,11 +2197,12 @@ type AssumeRoleWithWebIdentityInput struct { // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage // return (\u000D) characters. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -2207,11 +2215,12 @@ type AssumeRoleWithWebIdentityInput struct { // Resource Names (ARNs) and Amazon Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -2934,8 +2943,8 @@ type GetFederationTokenInput struct { // // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies to - // use as managed session policies. + // inline session policy. You can also specify up to 10 managed policy Amazon + // Resource Names (ARNs) to use as managed session policies. // // This parameter is optional. However, if you do not pass any session policies, // then the resulting federated user session has no permissions. @@ -2960,11 +2969,12 @@ type GetFederationTokenInput struct { // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage // return (\u000D) characters. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -2973,11 +2983,12 @@ type GetFederationTokenInput struct { // // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // 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 policies to - // use as managed session policies. The plaintext that you use for both inline - // and managed session policies can't exceed 2,048 characters. You can provide - // up to 10 managed policy ARNs. For more information about ARNs, see Amazon - // Resource Names (ARNs) and Amazon Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // 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. + // You can provide up to 10 managed policy ARNs. For more information about + // ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces + // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // // This parameter is optional. However, if you do not pass any session policies, @@ -2997,11 +3008,12 @@ type GetFederationTokenInput struct { // by the policy. These permissions are granted in addition to the permissions // that are granted by the session policies. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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. PolicyArns []*PolicyDescriptorType `type:"list"` // A list of session tags. Each session tag consists of a key name and an associated @@ -3015,11 +3027,12 @@ type GetFederationTokenInput struct { // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // in the IAM User Guide. // - // An Amazon Web Services conversion compresses the passed session policies - // 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. + // 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 already attached // to the user you are federating. When you do, session tags override a user diff --git a/service/textract/api.go b/service/textract/api.go index bc5cd6825e6..ac5366cdd2f 100644 --- a/service/textract/api.go +++ b/service/textract/api.go @@ -72,6 +72,11 @@ func (c *Textract) AnalyzeDocumentRequest(input *AnalyzeDocumentInput) (req *req // returned (including text that doesn't have a relationship with the value // of FeatureTypes). // +// - Signatures. A SIGNATURE Block object contains the location information +// of a signature in a document. If used in conjunction with forms or tables, +// a signature can be given a Key-Value pairing or be detected in the cell +// of a table. +// // - Query. A QUERY Block object contains the query text, alias and link // to the associated Query results block object. // @@ -1484,10 +1489,12 @@ type AnalyzeDocumentInput struct { // A list of the types of analysis to perform. Add TABLES to the list to return // information about the tables that are detected in the input document. Add - // FORMS to return detected form data. To perform both types of analysis, add - // TABLES and FORMS to FeatureTypes. All lines and words detected in the document - // are included in the response (including text that isn't related to the value - // of FeatureTypes). + // FORMS to return detected form data. Add SIGNATURES to return the locations + // of detected signatures. To perform both forms and table analysis, add TABLES + // and FORMS to FeatureTypes. To detect signatures within form data and table + // data, add SIGNATURES to either TABLES or FORMS. All lines and words detected + // in the document are included in the response (including text that isn't related + // to the value of FeatureTypes). // // FeatureTypes is a required field FeatureTypes []*string `type:"list" required:"true" enum:"FeatureType"` @@ -2024,6 +2031,10 @@ type Block struct { // button) or a check box that's detected on a document page. Use the value // of SelectionStatus to determine the status of the selection element. // + // * SIGNATURE - The location and confidene score of a signature detected + // on a document page. Can be returned as part of a Key-Value pair or a detected + // cell. + // // * QUERY - A question asked during the call of AnalyzeDocument. Contains // an alias and an ID that attaches it to its answer. // @@ -5697,6 +5708,9 @@ const ( // BlockTypeQueryResult is a BlockType enum value BlockTypeQueryResult = "QUERY_RESULT" + + // BlockTypeSignature is a BlockType enum value + BlockTypeSignature = "SIGNATURE" ) // BlockType_Values returns all elements of the BlockType enum @@ -5713,6 +5727,7 @@ func BlockType_Values() []string { BlockTypeTitle, BlockTypeQuery, BlockTypeQueryResult, + BlockTypeSignature, } } @@ -5761,6 +5776,9 @@ const ( // FeatureTypeQueries is a FeatureType enum value FeatureTypeQueries = "QUERIES" + + // FeatureTypeSignatures is a FeatureType enum value + FeatureTypeSignatures = "SIGNATURES" ) // FeatureType_Values returns all elements of the FeatureType enum @@ -5769,6 +5787,7 @@ func FeatureType_Values() []string { FeatureTypeTables, FeatureTypeForms, FeatureTypeQueries, + FeatureTypeSignatures, } } diff --git a/service/workspaces/api.go b/service/workspaces/api.go index a9047f59195..b84a0fca95c 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -707,6 +707,97 @@ func (c *WorkSpaces) CreateIpGroupWithContext(ctx aws.Context, input *CreateIpGr return out, req.Send() } +const opCreateStandbyWorkspaces = "CreateStandbyWorkspaces" + +// CreateStandbyWorkspacesRequest generates a "aws/request.Request" representing the +// client's request for the CreateStandbyWorkspaces operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateStandbyWorkspaces for more information on using the CreateStandbyWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateStandbyWorkspacesRequest method. +// req, resp := client.CreateStandbyWorkspacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateStandbyWorkspaces +func (c *WorkSpaces) CreateStandbyWorkspacesRequest(input *CreateStandbyWorkspacesInput) (req *request.Request, output *CreateStandbyWorkspacesOutput) { + op := &request.Operation{ + Name: opCreateStandbyWorkspaces, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateStandbyWorkspacesInput{} + } + + output = &CreateStandbyWorkspacesOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStandbyWorkspaces API operation for Amazon WorkSpaces. +// +// Creates a Standby WorkSpace in a secondary region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkSpaces's +// API operation CreateStandbyWorkspaces for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The user is not authorized to access a resource. +// +// - InvalidParameterValuesException +// One or more parameter values are not valid. +// +// - OperationNotSupportedException +// This operation is not supported. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ResourceLimitExceededException +// Your resource limits have been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateStandbyWorkspaces +func (c *WorkSpaces) CreateStandbyWorkspaces(input *CreateStandbyWorkspacesInput) (*CreateStandbyWorkspacesOutput, error) { + req, out := c.CreateStandbyWorkspacesRequest(input) + return out, req.Send() +} + +// CreateStandbyWorkspacesWithContext is the same as CreateStandbyWorkspaces with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStandbyWorkspaces for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpaces) CreateStandbyWorkspacesWithContext(ctx aws.Context, input *CreateStandbyWorkspacesInput, opts ...request.Option) (*CreateStandbyWorkspacesOutput, error) { + req, out := c.CreateStandbyWorkspacesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the @@ -4813,6 +4904,9 @@ func (c *WorkSpaces) ModifyWorkspaceStateRequest(input *ModifyWorkspaceStateInpu // - ResourceNotFoundException // The resource could not be found. // +// - OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceState func (c *WorkSpaces) ModifyWorkspaceState(input *ModifyWorkspaceStateInput) (*ModifyWorkspaceStateOutput, error) { req, out := c.ModifyWorkspaceStateRequest(input) @@ -4890,6 +4984,11 @@ func (c *WorkSpaces) RebootWorkspacesRequest(input *RebootWorkspacesInput) (req // // See the AWS API reference guide for Amazon WorkSpaces's // API operation RebootWorkspaces for usage and error information. +// +// Returned Error Types: +// - OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebootWorkspaces func (c *WorkSpaces) RebootWorkspaces(input *RebootWorkspacesInput) (*RebootWorkspacesOutput, error) { req, out := c.RebootWorkspacesRequest(input) @@ -4972,6 +5071,11 @@ func (c *WorkSpaces) RebuildWorkspacesRequest(input *RebuildWorkspacesInput) (re // // See the AWS API reference guide for Amazon WorkSpaces's // API operation RebuildWorkspaces for usage and error information. +// +// Returned Error Types: +// - OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildWorkspaces func (c *WorkSpaces) RebuildWorkspaces(input *RebuildWorkspacesInput) (*RebuildWorkspacesOutput, error) { req, out := c.RebuildWorkspacesRequest(input) @@ -5178,6 +5282,9 @@ func (c *WorkSpaces) RestoreWorkspaceRequest(input *RestoreWorkspaceInput) (req // - AccessDeniedException // The user is not authorized to access a resource. // +// - OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspace func (c *WorkSpaces) RestoreWorkspace(input *RestoreWorkspaceInput) (*RestoreWorkspaceOutput, error) { req, out := c.RestoreWorkspaceRequest(input) @@ -5905,6 +6012,9 @@ func (c *WorkSpaces) UpdateWorkspaceBundleRequest(input *UpdateWorkspaceBundleIn // - ResourceUnavailableException // The specified resource is not available. // +// - OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceBundle func (c *WorkSpaces) UpdateWorkspaceBundle(input *UpdateWorkspaceBundleInput) (*UpdateWorkspaceBundleOutput, error) { req, out := c.UpdateWorkspaceBundleRequest(input) @@ -7362,6 +7472,119 @@ func (s *CreateIpGroupOutput) SetGroupId(v string) *CreateIpGroupOutput { return s } +type CreateStandbyWorkspacesInput struct { + _ struct{} `type:"structure"` + + // The Region of the primary WorkSpace. + // + // PrimaryRegion is a required field + PrimaryRegion *string `min:"1" type:"string" required:"true"` + + // Information about the Standby WorkSpace to be created. + // + // StandbyWorkspaces is a required field + StandbyWorkspaces []*StandbyWorkspace `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStandbyWorkspacesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStandbyWorkspacesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStandbyWorkspacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStandbyWorkspacesInput"} + if s.PrimaryRegion == nil { + invalidParams.Add(request.NewErrParamRequired("PrimaryRegion")) + } + if s.PrimaryRegion != nil && len(*s.PrimaryRegion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrimaryRegion", 1)) + } + if s.StandbyWorkspaces == nil { + invalidParams.Add(request.NewErrParamRequired("StandbyWorkspaces")) + } + if s.StandbyWorkspaces != nil { + for i, v := range s.StandbyWorkspaces { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandbyWorkspaces", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPrimaryRegion sets the PrimaryRegion field's value. +func (s *CreateStandbyWorkspacesInput) SetPrimaryRegion(v string) *CreateStandbyWorkspacesInput { + s.PrimaryRegion = &v + return s +} + +// SetStandbyWorkspaces sets the StandbyWorkspaces field's value. +func (s *CreateStandbyWorkspacesInput) SetStandbyWorkspaces(v []*StandbyWorkspace) *CreateStandbyWorkspacesInput { + s.StandbyWorkspaces = v + return s +} + +type CreateStandbyWorkspacesOutput struct { + _ struct{} `type:"structure"` + + // Information about the Standby WorkSpace that could not be created. + FailedStandbyRequests []*FailedCreateStandbyWorkspacesRequest `type:"list"` + + // Information about the Standby WorkSpace that was created. + PendingStandbyRequests []*PendingCreateStandbyWorkspacesRequest `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStandbyWorkspacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStandbyWorkspacesOutput) GoString() string { + return s.String() +} + +// SetFailedStandbyRequests sets the FailedStandbyRequests field's value. +func (s *CreateStandbyWorkspacesOutput) SetFailedStandbyRequests(v []*FailedCreateStandbyWorkspacesRequest) *CreateStandbyWorkspacesOutput { + s.FailedStandbyRequests = v + return s +} + +// SetPendingStandbyRequests sets the PendingStandbyRequests field's value. +func (s *CreateStandbyWorkspacesOutput) SetPendingStandbyRequests(v []*PendingCreateStandbyWorkspacesRequest) *CreateStandbyWorkspacesOutput { + s.PendingStandbyRequests = v + return s +} + type CreateTagsInput struct { _ struct{} `type:"structure"` @@ -10835,6 +11058,57 @@ func (s DisassociateIpGroupsOutput) GoString() string { return s.String() } +// Describes the Standby WorkSpace that could not be created. +type FailedCreateStandbyWorkspacesRequest struct { + _ struct{} `type:"structure"` + + // The error code that is returned if the Standby WorkSpace could not be created. + ErrorCode *string `type:"string"` + + // The text of the error message that is returned if the Standby WorkSpace could + // not be created. + ErrorMessage *string `type:"string"` + + // Information about the Standby WorkSpace that could not be created. + StandbyWorkspaceRequest *StandbyWorkspace `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedCreateStandbyWorkspacesRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedCreateStandbyWorkspacesRequest) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FailedCreateStandbyWorkspacesRequest) SetErrorCode(v string) *FailedCreateStandbyWorkspacesRequest { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedCreateStandbyWorkspacesRequest) SetErrorMessage(v string) *FailedCreateStandbyWorkspacesRequest { + s.ErrorMessage = &v + return s +} + +// SetStandbyWorkspaceRequest sets the StandbyWorkspaceRequest field's value. +func (s *FailedCreateStandbyWorkspacesRequest) SetStandbyWorkspaceRequest(v *StandbyWorkspace) *FailedCreateStandbyWorkspacesRequest { + s.StandbyWorkspaceRequest = v + return s +} + // Describes a WorkSpace that cannot be created. type FailedCreateWorkspaceRequest struct { _ struct{} `type:"structure"` @@ -13053,6 +13327,70 @@ func (s *OperationNotSupportedException) RequestID() string { return s.RespMetadata.RequestID } +// Information about the Standby WorkSpace. +type PendingCreateStandbyWorkspacesRequest struct { + _ struct{} `type:"structure"` + + // The identifier of the directory for the Standby WorkSpace. + DirectoryId *string `min:"10" type:"string"` + + // The operational state of the Standby WorkSpace. + State *string `type:"string" enum:"WorkspaceState"` + + // Describes the Standby WorkSpace that was created. + // + // Because this operation is asynchronous, the identifier returned is not immediately + // available for use with other operations. For example, if you call DescribeWorkspaces + // (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html) + // before the WorkSpace is created, the information returned can be incomplete. + UserName *string `min:"1" type:"string"` + + // The identifier of the Standby WorkSpace. + WorkspaceId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingCreateStandbyWorkspacesRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingCreateStandbyWorkspacesRequest) GoString() string { + return s.String() +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *PendingCreateStandbyWorkspacesRequest) SetDirectoryId(v string) *PendingCreateStandbyWorkspacesRequest { + s.DirectoryId = &v + return s +} + +// SetState sets the State field's value. +func (s *PendingCreateStandbyWorkspacesRequest) SetState(v string) *PendingCreateStandbyWorkspacesRequest { + s.State = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *PendingCreateStandbyWorkspacesRequest) SetUserName(v string) *PendingCreateStandbyWorkspacesRequest { + s.UserName = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *PendingCreateStandbyWorkspacesRequest) SetWorkspaceId(v string) *PendingCreateStandbyWorkspacesRequest { + s.WorkspaceId = &v + return s +} + // Describes the information used to reboot a WorkSpace. type RebootRequest struct { _ struct{} `type:"structure"` @@ -13474,6 +13812,66 @@ func (s RegisterWorkspaceDirectoryOutput) GoString() string { return s.String() } +// Describes the related WorkSpace. The related WorkSpace could be a Standby +// WorkSpace or Primary WorkSpace related to the specified WorkSpace. +type RelatedWorkspaceProperties struct { + _ struct{} `type:"structure"` + + // The Region of the related WorkSpace. + Region *string `min:"1" type:"string"` + + // Indicates the state of the WorkSpace. + State *string `type:"string" enum:"WorkspaceState"` + + // Indicates the type of WorkSpace. + Type *string `type:"string" enum:"StandbyWorkspaceRelationshipType"` + + // The identifier of the related WorkSpace. + WorkspaceId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelatedWorkspaceProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelatedWorkspaceProperties) GoString() string { + return s.String() +} + +// SetRegion sets the Region field's value. +func (s *RelatedWorkspaceProperties) SetRegion(v string) *RelatedWorkspaceProperties { + s.Region = &v + return s +} + +// SetState sets the State field's value. +func (s *RelatedWorkspaceProperties) SetState(v string) *RelatedWorkspaceProperties { + s.State = &v + return s +} + +// SetType sets the Type field's value. +func (s *RelatedWorkspaceProperties) SetType(v string) *RelatedWorkspaceProperties { + s.Type = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *RelatedWorkspaceProperties) SetWorkspaceId(v string) *RelatedWorkspaceProperties { + s.WorkspaceId = &v + return s +} + // The specified resource already exists. type ResourceAlreadyExistsException struct { _ struct{} `type:"structure"` @@ -14257,6 +14655,98 @@ func (s *Snapshot) SetSnapshotTime(v time.Time) *Snapshot { return s } +// Describes a Standby WorkSpace. +type StandbyWorkspace struct { + _ struct{} `type:"structure"` + + // The identifier of the directory for the Standby WorkSpace. + // + // DirectoryId is a required field + DirectoryId *string `min:"10" type:"string" required:"true"` + + // The identifier of the Standby WorkSpace. + // + // PrimaryWorkspaceId is a required field + PrimaryWorkspaceId *string `type:"string" required:"true"` + + // The tags associated with the Standby WorkSpace. + Tags []*Tag `type:"list"` + + // The volume encryption key of the Standby WorkSpace. + VolumeEncryptionKey *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StandbyWorkspace) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StandbyWorkspace) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StandbyWorkspace) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StandbyWorkspace"} + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + if s.DirectoryId != nil && len(*s.DirectoryId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10)) + } + if s.PrimaryWorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("PrimaryWorkspaceId")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *StandbyWorkspace) SetDirectoryId(v string) *StandbyWorkspace { + s.DirectoryId = &v + return s +} + +// SetPrimaryWorkspaceId sets the PrimaryWorkspaceId field's value. +func (s *StandbyWorkspace) SetPrimaryWorkspaceId(v string) *StandbyWorkspace { + s.PrimaryWorkspaceId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StandbyWorkspace) SetTags(v []*Tag) *StandbyWorkspace { + s.Tags = v + return s +} + +// SetVolumeEncryptionKey sets the VolumeEncryptionKey field's value. +func (s *StandbyWorkspace) SetVolumeEncryptionKey(v string) *StandbyWorkspace { + s.VolumeEncryptionKey = &v + return s +} + // Information used to start a WorkSpace. type StartRequest struct { _ struct{} `type:"structure"` @@ -15377,6 +15867,9 @@ type Workspace struct { // The modification states of the WorkSpace. ModificationStates []*ModificationState `type:"list"` + // The Standby WorkSpace or Primary WorkSpace related to the specified WorkSpace. + RelatedWorkspaces []*RelatedWorkspaceProperties `type:"list"` + // Indicates whether the data stored on the root volume is encrypted. RootVolumeEncryptionEnabled *bool `type:"boolean"` @@ -15470,6 +15963,12 @@ func (s *Workspace) SetModificationStates(v []*ModificationState) *Workspace { return s } +// SetRelatedWorkspaces sets the RelatedWorkspaces field's value. +func (s *Workspace) SetRelatedWorkspaces(v []*RelatedWorkspaceProperties) *Workspace { + s.RelatedWorkspaces = v + return s +} + // SetRootVolumeEncryptionEnabled sets the RootVolumeEncryptionEnabled field's value. func (s *Workspace) SetRootVolumeEncryptionEnabled(v bool) *Workspace { s.RootVolumeEncryptionEnabled = &v @@ -15622,6 +16121,9 @@ type WorkspaceBundle struct { // The identifier of the bundle. BundleId *string `type:"string"` + // The type of WorkSpace bundle. + BundleType *string `type:"string" enum:"BundleType"` + // The compute type of the bundle. For more information, see Amazon WorkSpaces // Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). ComputeType *ComputeType `type:"structure"` @@ -15648,6 +16150,9 @@ type WorkspaceBundle struct { // The size of the root volume. RootStorage *RootStorage `type:"structure"` + // The state of the WorkSpace bundle. + State *string `type:"string" enum:"WorkspaceBundleState"` + // The size of the user volume. UserStorage *UserStorage `type:"structure"` } @@ -15676,6 +16181,12 @@ func (s *WorkspaceBundle) SetBundleId(v string) *WorkspaceBundle { return s } +// SetBundleType sets the BundleType field's value. +func (s *WorkspaceBundle) SetBundleType(v string) *WorkspaceBundle { + s.BundleType = &v + return s +} + // SetComputeType sets the ComputeType field's value. func (s *WorkspaceBundle) SetComputeType(v *ComputeType) *WorkspaceBundle { s.ComputeType = v @@ -15724,6 +16235,12 @@ func (s *WorkspaceBundle) SetRootStorage(v *RootStorage) *WorkspaceBundle { return s } +// SetState sets the State field's value. +func (s *WorkspaceBundle) SetState(v string) *WorkspaceBundle { + s.State = &v + return s +} + // SetUserStorage sets the UserStorage field's value. func (s *WorkspaceBundle) SetUserStorage(v *UserStorage) *WorkspaceBundle { s.UserStorage = v @@ -16588,6 +17105,22 @@ func AssociationStatus_Values() []string { } } +const ( + // BundleTypeRegular is a BundleType enum value + BundleTypeRegular = "REGULAR" + + // BundleTypeStandby is a BundleType enum value + BundleTypeStandby = "STANDBY" +) + +// BundleType_Values returns all elements of the BundleType enum +func BundleType_Values() []string { + return []string{ + BundleTypeRegular, + BundleTypeStandby, + } +} + const ( // CertificateBasedAuthStatusEnumDisabled is a CertificateBasedAuthStatusEnum enum value CertificateBasedAuthStatusEnumDisabled = "DISABLED" @@ -16952,6 +17485,22 @@ func SamlStatusEnum_Values() []string { } } +const ( + // StandbyWorkspaceRelationshipTypePrimary is a StandbyWorkspaceRelationshipType enum value + StandbyWorkspaceRelationshipTypePrimary = "PRIMARY" + + // StandbyWorkspaceRelationshipTypeStandby is a StandbyWorkspaceRelationshipType enum value + StandbyWorkspaceRelationshipTypeStandby = "STANDBY" +) + +// StandbyWorkspaceRelationshipType_Values returns all elements of the StandbyWorkspaceRelationshipType enum +func StandbyWorkspaceRelationshipType_Values() []string { + return []string{ + StandbyWorkspaceRelationshipTypePrimary, + StandbyWorkspaceRelationshipTypeStandby, + } +} + const ( // TargetWorkspaceStateAvailable is a TargetWorkspaceState enum value TargetWorkspaceStateAvailable = "AVAILABLE" @@ -16984,6 +17533,26 @@ func Tenancy_Values() []string { } } +const ( + // WorkspaceBundleStateAvailable is a WorkspaceBundleState enum value + WorkspaceBundleStateAvailable = "AVAILABLE" + + // WorkspaceBundleStatePending is a WorkspaceBundleState enum value + WorkspaceBundleStatePending = "PENDING" + + // WorkspaceBundleStateError is a WorkspaceBundleState enum value + WorkspaceBundleStateError = "ERROR" +) + +// WorkspaceBundleState_Values returns all elements of the WorkspaceBundleState enum +func WorkspaceBundleState_Values() []string { + return []string{ + WorkspaceBundleStateAvailable, + WorkspaceBundleStatePending, + WorkspaceBundleStateError, + } +} + const ( // WorkspaceDirectoryStateRegistering is a WorkspaceDirectoryState enum value WorkspaceDirectoryStateRegistering = "REGISTERING" diff --git a/service/workspaces/workspacesiface/interface.go b/service/workspaces/workspacesiface/interface.go index 03295fd47d3..a1b4fd4fcd7 100644 --- a/service/workspaces/workspacesiface/interface.go +++ b/service/workspaces/workspacesiface/interface.go @@ -88,6 +88,10 @@ type WorkSpacesAPI interface { CreateIpGroupWithContext(aws.Context, *workspaces.CreateIpGroupInput, ...request.Option) (*workspaces.CreateIpGroupOutput, error) CreateIpGroupRequest(*workspaces.CreateIpGroupInput) (*request.Request, *workspaces.CreateIpGroupOutput) + CreateStandbyWorkspaces(*workspaces.CreateStandbyWorkspacesInput) (*workspaces.CreateStandbyWorkspacesOutput, error) + CreateStandbyWorkspacesWithContext(aws.Context, *workspaces.CreateStandbyWorkspacesInput, ...request.Option) (*workspaces.CreateStandbyWorkspacesOutput, error) + CreateStandbyWorkspacesRequest(*workspaces.CreateStandbyWorkspacesInput) (*request.Request, *workspaces.CreateStandbyWorkspacesOutput) + CreateTags(*workspaces.CreateTagsInput) (*workspaces.CreateTagsOutput, error) CreateTagsWithContext(aws.Context, *workspaces.CreateTagsInput, ...request.Option) (*workspaces.CreateTagsOutput, error) CreateTagsRequest(*workspaces.CreateTagsInput) (*request.Request, *workspaces.CreateTagsOutput)