From 9401136ff0ae1d242e250b53d7adfb55f75424f2 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 20 Sep 2023 12:38:04 -0700 Subject: [PATCH] Release v1.45.14 (2023-09-20) (#4995) Release v1.45.14 (2023-09-20) === ### Service Client Updates * `service/appconfig`: Updates service API, documentation, and paginators * `service/apprunner`: Updates service API, documentation, and paginators * `service/codeartifact`: Updates service API * `service/kinesisvideo`: Updates service documentation * Updated DescribeMediaStorageConfiguration, StartEdgeConfigurationUpdate, ImageGenerationConfiguration$SamplingInterval, and UpdateMediaStorageConfiguration to match AWS Docs. * `service/logs`: Updates service API and documentation * Add ClientToken to QueryDefinition CFN Handler in CWL * `service/s3`: Updates service API, documentation, and examples * Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException * `service/servicediscovery`: Updates service API and documentation * `service/sso-oidc`: Adds new service --- CHANGELOG.md | 16 + aws/endpoints/defaults.go | 19 + aws/version.go | 2 +- models/apis/appconfig/2019-10-09/api-2.json | 14 +- models/apis/appconfig/2019-10-09/docs-2.json | 12 +- .../2019-10-09/endpoint-rule-set-1.json | 392 ++++++------ .../2019-10-09/endpoint-tests-1.json | 222 ++++--- .../appconfig/2019-10-09/paginators-1.json | 24 +- models/apis/apprunner/2020-05-15/api-2.json | 93 ++- models/apis/apprunner/2020-05-15/docs-2.json | 95 ++- .../apprunner/2020-05-15/paginators-1.json | 5 + .../apis/codeartifact/2018-09-22/api-2.json | 3 +- .../2018-09-22/endpoint-rule-set-1.json | 344 +++++------ .../apis/kinesisvideo/2017-09-30/docs-2.json | 8 +- models/apis/logs/2014-03-28/api-2.json | 12 +- models/apis/logs/2014-03-28/docs-2.json | 12 +- .../logs/2014-03-28/endpoint-rule-set-1.json | 392 ++++++------ models/apis/s3/2006-03-01/api-2.json | 2 +- models/apis/s3/2006-03-01/docs-2.json | 34 +- models/apis/s3/2006-03-01/examples-1.json | 240 ++++---- .../servicediscovery/2017-03-14/api-2.json | 37 +- .../servicediscovery/2017-03-14/docs-2.json | 26 +- .../2017-03-14/endpoint-rule-set-1.json | 369 +++++++----- .../2017-03-14/endpoint-tests-1.json | 196 +++--- .../2019-06-10/endpoint-rule-set-1.json | 339 +++++++++++ .../sso-oidc/2019-06-10/endpoint-tests-1.json | 561 +++++++++++++++++ models/endpoints/endpoints.json | 9 + service/appconfig/api.go | 213 ++++++- service/appconfig/errors.go | 17 +- service/appconfig/examples_test.go | 8 + service/apprunner/api.go | 562 +++++++++++++++++- service/apprunner/apprunneriface/interface.go | 11 + service/cloudwatchlogs/api.go | 28 +- service/codeartifact/api.go | 4 + service/kinesisvideo/api.go | 17 +- service/s3/api.go | 292 +++++---- service/s3/examples_test.go | 194 +++--- service/s3/s3manager/upload_input.go | 10 +- service/servicediscovery/api.go | 209 ++++++- .../servicediscoveryiface/interface.go | 4 + 40 files changed, 3641 insertions(+), 1406 deletions(-) create mode 100644 models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json create mode 100644 models/apis/sso-oidc/2019-06-10/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index c9903b477f1..48d7f311a2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +Release v1.45.14 (2023-09-20) +=== + +### Service Client Updates +* `service/appconfig`: Updates service API, documentation, and paginators +* `service/apprunner`: Updates service API, documentation, and paginators +* `service/codeartifact`: Updates service API +* `service/kinesisvideo`: Updates service documentation + * Updated DescribeMediaStorageConfiguration, StartEdgeConfigurationUpdate, ImageGenerationConfiguration$SamplingInterval, and UpdateMediaStorageConfiguration to match AWS Docs. +* `service/logs`: Updates service API and documentation + * Add ClientToken to QueryDefinition CFN Handler in CWL +* `service/s3`: Updates service API, documentation, and examples + * Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException +* `service/servicediscovery`: Updates service API and documentation +* `service/sso-oidc`: Adds new service + Release v1.45.13 (2023-09-19) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 2b7bdca86cf..5ea860c6b11 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -21192,6 +21192,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -21207,12 +21210,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -33685,6 +33694,16 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "sso": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, + }, + }, "states": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index a19163bd2c7..5d06b42d9c4 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.45.13" +const SDKVersion = "1.45.14" diff --git a/models/apis/appconfig/2019-10-09/api-2.json b/models/apis/appconfig/2019-10-09/api-2.json index 5d31192326d..d6cd0c7438b 100644 --- a/models/apis/appconfig/2019-10-09/api-2.json +++ b/models/apis/appconfig/2019-10-09/api-2.json @@ -24,6 +24,7 @@ "output":{"shape":"Application"}, "errors":[ {"shape":"BadRequestException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ] }, @@ -39,7 +40,8 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateDeploymentStrategy":{ @@ -53,6 +55,7 @@ "output":{"shape":"DeploymentStrategy"}, "errors":[ {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"BadRequestException"} ] }, @@ -68,7 +71,8 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateExtension":{ @@ -1127,7 +1131,8 @@ "CompletedAt":{"shape":"Iso8601DateTime"}, "AppliedExtensions":{"shape":"AppliedExtensions"}, "KmsKeyArn":{"shape":"Arn"}, - "KmsKeyIdentifier":{"shape":"Identifier"} + "KmsKeyIdentifier":{"shape":"Identifier"}, + "VersionLabel":{"shape":"VersionLabel"} } }, "DeploymentEvent":{ @@ -1211,7 +1216,8 @@ "State":{"shape":"DeploymentState"}, "PercentageComplete":{"shape":"Percentage"}, "StartedAt":{"shape":"Iso8601DateTime"}, - "CompletedAt":{"shape":"Iso8601DateTime"} + "CompletedAt":{"shape":"Iso8601DateTime"}, + "VersionLabel":{"shape":"VersionLabel"} } }, "Deployments":{ diff --git a/models/apis/appconfig/2019-10-09/docs-2.json b/models/apis/appconfig/2019-10-09/docs-2.json index a5f63b73658..60fd072d702 100644 --- a/models/apis/appconfig/2019-10-09/docs-2.json +++ b/models/apis/appconfig/2019-10-09/docs-2.json @@ -6,7 +6,7 @@ "CreateConfigurationProfile": "

Creates a configuration profile, which is information that enables AppConfig to access the configuration source. Valid configuration sources include the following:

A configuration profile includes the following information:

For more information, see Create a Configuration and a Configuration Profile in the AppConfig User Guide.

", "CreateDeploymentStrategy": "

Creates a deployment strategy that defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

", "CreateEnvironment": "

Creates an environment. For each application, you define one or more environments. An environment is a deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web, Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.

", - "CreateExtension": "

Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AppConfig workflow of creating or deploying a configuration.

You can create your own extensions or use the Amazon Web Services authored extensions provided by AppConfig. For most use cases, to create your own extension, you must create an Lambda function to perform any computation and processing defined in the extension. For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide.

", + "CreateExtension": "

Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AppConfig workflow of creating or deploying a configuration.

You can create your own extensions or use the Amazon Web Services authored extensions provided by AppConfig. For an AppConfig extension that uses Lambda, you must create a Lambda function to perform any computation and processing defined in the extension. If you plan to create custom versions of the Amazon Web Services authored notification extensions, you only need to specify an Amazon Resource Name (ARN) in the Uri field for the new extension version.

For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide.

", "CreateExtensionAssociation": "

When you create an extension or configure an Amazon Web Services authored extension, you associate the extension with an AppConfig application, environment, or configuration profile. For example, you can choose to run the AppConfig deployment events to Amazon SNS Amazon Web Services authored extension and receive notifications on an Amazon SNS topic anytime a configuration deployment is started for a specific application. Defining which extension to associate with an AppConfig resource is called an extension association. An extension association is a specified relationship between an extension and an AppConfig resource, such as an application or a configuration profile. For more information about extensions and associations, see Working with AppConfig extensions in the AppConfig User Guide.

", "CreateHostedConfigurationVersion": "

Creates a new configuration in the AppConfig hosted configuration store.

", "DeleteApplication": "

Deletes an application. Deleting an application does not delete a configuration from a host.

", @@ -367,7 +367,7 @@ "CreateExtensionRequest$Description": "

Information about the extension.

", "CreateHostedConfigurationVersionRequest$Description": "

A description of the configuration.

", "Deployment$Description": "

The description of the deployment.

", - "DeploymentEvent$Description": "

A description of the deployment event. Descriptions include, but are not limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a rollback, the percentage of hosts that received the deployment, or in the case of an internal error, a recommendation to attempt a new deployment.

", + "DeploymentEvent$Description": "

A description of the deployment event. Descriptions include, but are not limited to, the following:

", "DeploymentStrategy$Description": "

The description of the deployment strategy.

", "Environment$Description": "

The description of the environment.

", "Extension$Description": "

Information about the extension.

", @@ -886,7 +886,7 @@ } }, "ServiceQuotaExceededException": { - "base": "

The number of hosted configuration versions exceeds the limit for the AppConfig hosted configuration store. Delete one or more versions and try again.

", + "base": "

The number of one more AppConfig resources exceeds the maximum allowed. Verify that your environment doesn't exceed the following service quotas:

Applications: 100 max

Deployment strategies: 20 max

Configuration profiles: 100 max per application

Environments: 20 max per application

To resolve this issue, you can delete one or more resources and try again. Or, you can request a quota increase. For more information about quotas and to request an increase, see Service quotas for AppConfig in the Amazon Web Services General Reference.

", "refs": { } }, @@ -1036,7 +1036,7 @@ "ActionInvocation$Uri": "

The extension URI associated to the action point in the extension definition. The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda function, an Amazon Simple Queue Service queue, an Amazon Simple Notification Service topic, or the Amazon EventBridge default event bus.

", "ConfigurationProfile$LocationUri": "

The URI location of the configuration.

", "ConfigurationProfileSummary$LocationUri": "

The URI location of the configuration.

", - "CreateConfigurationProfileRequest$LocationUri": "

A URI to locate the configuration. You can specify the following:

", + "CreateConfigurationProfileRequest$LocationUri": "

A URI to locate the configuration. You can specify the following:

", "Deployment$ConfigurationLocationUri": "

Information about the source location of the configuration.

" } }, @@ -1079,7 +1079,7 @@ "Deployment$ConfigurationVersion": "

The configuration version that was deployed.

", "DeploymentSummary$ConfigurationVersion": "

The version of the configuration.

", "GetConfigurationRequest$ClientConfigurationVersion": "

The configuration version returned in the most recent GetConfiguration response.

AppConfig uses the value of the ClientConfigurationVersion parameter to identify the configuration version on your clients. If you don’t send ClientConfigurationVersion with each call to GetConfiguration, your clients receive the current configuration. You are charged each time your clients receive a configuration.

To avoid excess charges, we recommend you use the StartConfigurationSession and GetLatestConfiguration APIs, which track the client configuration version on your behalf. If you choose to continue using GetConfiguration, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. The value to use for ClientConfigurationVersion comes from the ConfigurationVersion attribute returned by GetConfiguration when there is new or updated data, and should be saved for subsequent calls to GetConfiguration.

For more information about working with configurations, see Retrieving the Configuration in the AppConfig User Guide.

", - "StartDeploymentRequest$ConfigurationVersion": "

The configuration version to deploy. If deploying an AppConfig hosted configuration version, you can specify either the version number or version label.

", + "StartDeploymentRequest$ConfigurationVersion": "

The configuration version to deploy. If deploying an AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.

", "ValidateConfigurationRequest$ConfigurationVersion": "

The version of the configuration to validate.

" } }, @@ -1087,6 +1087,8 @@ "base": null, "refs": { "CreateHostedConfigurationVersionRequest$VersionLabel": "

An optional, user-defined label for the AppConfig hosted configuration version. This value must contain at least one non-numeric character. For example, \"v2.2.0\".

", + "Deployment$VersionLabel": "

A user-defined label for an AppConfig hosted configuration version.

", + "DeploymentSummary$VersionLabel": "

A user-defined label for an AppConfig hosted configuration version.

", "HostedConfigurationVersion$VersionLabel": "

A user-defined label for an AppConfig hosted configuration version.

", "HostedConfigurationVersionSummary$VersionLabel": "

A user-defined label for an AppConfig hosted configuration version.

" } diff --git a/models/apis/appconfig/2019-10-09/endpoint-rule-set-1.json b/models/apis/appconfig/2019-10-09/endpoint-rule-set-1.json index a77bfa88091..dc7da8dca97 100644 --- a/models/apis/appconfig/2019-10-09/endpoint-rule-set-1.json +++ b/models/apis/appconfig/2019-10-09/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://appconfig-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://appconfig-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, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://appconfig.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://appconfig.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://appconfig.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://appconfig-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://appconfig.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://appconfig-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, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://appconfig.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://appconfig.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appconfig.{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://appconfig.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/appconfig/2019-10-09/endpoint-tests-1.json b/models/apis/appconfig/2019-10-09/endpoint-tests-1.json index 513cab3cb6c..be05a360bde 100644 --- a/models/apis/appconfig/2019-10-09/endpoint-tests-1.json +++ b/models/apis/appconfig/2019-10-09/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -412,8 +412,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -425,8 +425,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -438,8 +438,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -451,8 +451,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -464,8 +464,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -477,8 +477,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -490,8 +490,19 @@ }, "params": { "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -503,8 +514,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -516,8 +538,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -529,8 +562,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -542,8 +586,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -555,8 +599,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -567,8 +611,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -579,10 +623,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/appconfig/2019-10-09/paginators-1.json b/models/apis/appconfig/2019-10-09/paginators-1.json index e1a03113253..f176babae35 100644 --- a/models/apis/appconfig/2019-10-09/paginators-1.json +++ b/models/apis/appconfig/2019-10-09/paginators-1.json @@ -3,42 +3,50 @@ "ListApplications": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListConfigurationProfiles": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListDeploymentStrategies": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListDeployments": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListEnvironments": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListExtensionAssociations": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListExtensions": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListHostedConfigurationVersions": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" } } } diff --git a/models/apis/apprunner/2020-05-15/api-2.json b/models/apis/apprunner/2020-05-15/api-2.json index d62d42e4d27..3ee90a73c3e 100644 --- a/models/apis/apprunner/2020-05-15/api-2.json +++ b/models/apis/apprunner/2020-05-15/api-2.json @@ -363,6 +363,20 @@ {"shape":"InternalServiceErrorException"} ] }, + "ListServicesForAutoScalingConfiguration":{ + "name":"ListServicesForAutoScalingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServicesForAutoScalingConfigurationRequest"}, + "output":{"shape":"ListServicesForAutoScalingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -478,6 +492,20 @@ {"shape":"InvalidStateException"} ] }, + "UpdateDefaultAutoScalingConfiguration":{ + "name":"UpdateDefaultAutoScalingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDefaultAutoScalingConfigurationRequest"}, + "output":{"shape":"UpdateDefaultAutoScalingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateService":{ "name":"UpdateService", "http":{ @@ -569,14 +597,16 @@ "members":{ "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"}, "AutoScalingConfigurationName":{"shape":"AutoScalingConfigurationName"}, - "AutoScalingConfigurationRevision":{"shape":"Integer"}, - "Latest":{"shape":"Boolean"}, + "AutoScalingConfigurationRevision":{"shape":"AutoScalingConfigurationRevision"}, + "Latest":{"shape":"Latest"}, "Status":{"shape":"AutoScalingConfigurationStatus"}, - "MaxConcurrency":{"shape":"Integer"}, - "MinSize":{"shape":"Integer"}, - "MaxSize":{"shape":"Integer"}, + "MaxConcurrency":{"shape":"MaxConcurrency"}, + "MinSize":{"shape":"MinSize"}, + "MaxSize":{"shape":"MaxSize"}, "CreatedAt":{"shape":"Timestamp"}, - "DeletedAt":{"shape":"Timestamp"} + "DeletedAt":{"shape":"Timestamp"}, + "HasAssociatedService":{"shape":"HasAssociatedService"}, + "IsDefault":{"shape":"IsDefault"} } }, "AutoScalingConfigurationName":{ @@ -585,6 +615,7 @@ "min":4, "pattern":"[A-Za-z0-9][A-Za-z0-9\\-_]{3,31}" }, + "AutoScalingConfigurationRevision":{"type":"integer"}, "AutoScalingConfigurationStatus":{ "type":"string", "enum":[ @@ -597,7 +628,11 @@ "members":{ "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"}, "AutoScalingConfigurationName":{"shape":"AutoScalingConfigurationName"}, - "AutoScalingConfigurationRevision":{"shape":"Integer"} + "AutoScalingConfigurationRevision":{"shape":"Integer"}, + "Status":{"shape":"AutoScalingConfigurationStatus"}, + "CreatedAt":{"shape":"Timestamp"}, + "HasAssociatedService":{"shape":"HasAssociatedService"}, + "IsDefault":{"shape":"IsDefault"} } }, "AutoScalingConfigurationSummaryList":{ @@ -878,7 +913,8 @@ "type":"structure", "required":["AutoScalingConfigurationArn"], "members":{ - "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"} + "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"}, + "DeleteAllRevisions":{"shape":"Boolean"} } }, "DeleteAutoScalingConfigurationResponse":{ @@ -1118,6 +1154,7 @@ "type":"string", "max":600 }, + "HasAssociatedService":{"type":"boolean"}, "HealthCheckConfiguration":{ "type":"structure", "members":{ @@ -1238,12 +1275,14 @@ }, "exception":true }, + "IsDefault":{"type":"boolean"}, "KmsKeyArn":{ "type":"string", "max":256, "min":0, "pattern":"arn:aws(-[\\w]+)*:kms:[a-z\\-]+-[0-9]{1}:[0-9]{12}:key\\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" }, + "Latest":{"type":"boolean"}, "ListAutoScalingConfigurationsRequest":{ "type":"structure", "members":{ @@ -1315,6 +1354,23 @@ "NextToken":{"shape":"String"} } }, + "ListServicesForAutoScalingConfigurationRequest":{ + "type":"structure", + "required":["AutoScalingConfigurationArn"], + "members":{ + "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListServicesForAutoScalingConfigurationResponse":{ + "type":"structure", + "required":["ServiceArnList"], + "members":{ + "ServiceArnList":{"shape":"ServiceArnList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListServicesRequest":{ "type":"structure", "members":{ @@ -1381,17 +1437,20 @@ "NextToken":{"shape":"NextToken"} } }, + "MaxConcurrency":{"type":"integer"}, "MaxResults":{ "type":"integer", "max":100, "min":1 }, + "MaxSize":{"type":"integer"}, "Memory":{ "type":"string", "max":6, "min":3, "pattern":"512|1024|2048|3072|4096|6144|8192|10240|12288|(0.5|1|2|3|4|6|8|10|12) GB" }, + "MinSize":{"type":"integer"}, "NetworkConfiguration":{ "type":"structure", "members":{ @@ -1616,6 +1675,10 @@ "ObservabilityConfiguration":{"shape":"ServiceObservabilityConfiguration"} } }, + "ServiceArnList":{ + "type":"list", + "member":{"shape":"AppRunnerResourceArn"} + }, "ServiceId":{ "type":"string", "max":32, @@ -1805,6 +1868,20 @@ "members":{ } }, + "UpdateDefaultAutoScalingConfigurationRequest":{ + "type":"structure", + "required":["AutoScalingConfigurationArn"], + "members":{ + "AutoScalingConfigurationArn":{"shape":"AppRunnerResourceArn"} + } + }, + "UpdateDefaultAutoScalingConfigurationResponse":{ + "type":"structure", + "required":["AutoScalingConfiguration"], + "members":{ + "AutoScalingConfiguration":{"shape":"AutoScalingConfiguration"} + } + }, "UpdateServiceRequest":{ "type":"structure", "required":["ServiceArn"], diff --git a/models/apis/apprunner/2020-05-15/docs-2.json b/models/apis/apprunner/2020-05-15/docs-2.json index 6236b3dcd1b..a6691d86ecd 100644 --- a/models/apis/apprunner/2020-05-15/docs-2.json +++ b/models/apis/apprunner/2020-05-15/docs-2.json @@ -9,7 +9,7 @@ "CreateService": "

Create an App Runner service. After the service is created, the action also automatically starts a deployment.

This is an asynchronous operation. On a successful call, you can use the returned OperationId and the ListOperations call to track the operation's progress.

", "CreateVpcConnector": "

Create an App Runner VPC connector resource. App Runner requires this resource when you want to associate your App Runner service to a custom Amazon Virtual Private Cloud (Amazon VPC).

", "CreateVpcIngressConnection": "

Create an App Runner VPC Ingress Connection resource. App Runner requires this resource when you want to associate your App Runner service with an Amazon VPC endpoint.

", - "DeleteAutoScalingConfiguration": "

Delete an App Runner automatic scaling configuration resource. You can delete a specific revision or the latest active revision. You can't delete a configuration that's used by one or more App Runner services.

", + "DeleteAutoScalingConfiguration": "

Delete an App Runner automatic scaling configuration resource. You can delete a top level auto scaling configuration, a specific revision of one, or all revisions associated with the top level configuration. You can't delete the default auto scaling configuration or a configuration that's used by one or more App Runner services.

", "DeleteConnection": "

Delete an App Runner connection. You must first ensure that there are no running App Runner services that use this connection. If there are any, the DeleteConnection action fails.

", "DeleteObservabilityConfiguration": "

Delete an App Runner observability configuration resource. You can delete a specific revision or the latest active revision. You can't delete a configuration that's used by one or more App Runner services.

", "DeleteService": "

Delete an App Runner service.

This is an asynchronous operation. On a successful call, you can use the returned OperationId and the ListOperations call to track the operation's progress.

Make sure that you don't have any active VPCIngressConnections associated with the service you want to delete.

", @@ -27,6 +27,7 @@ "ListObservabilityConfigurations": "

Returns a list of active App Runner observability configurations in your Amazon Web Services account. You can query the revisions for a specific configuration name or the revisions for all active configurations in your account. You can optionally query only the latest revision of each requested name.

To retrieve a full description of a particular configuration revision, call and provide one of the ARNs returned by ListObservabilityConfigurations.

", "ListOperations": "

Return a list of operations that occurred on an App Runner service.

The resulting list of OperationSummary objects is sorted in reverse chronological order. The first object on the list represents the last started operation.

", "ListServices": "

Returns a list of running App Runner services in your Amazon Web Services account.

", + "ListServicesForAutoScalingConfiguration": "

Returns a list of the associated App Runner services using an auto scaling configuration.

", "ListTagsForResource": "

List tags that are associated with for an App Runner resource. The response contains a list of tag key-value pairs.

", "ListVpcConnectors": "

Returns a list of App Runner VPC connectors in your Amazon Web Services account.

", "ListVpcIngressConnections": "

Return a list of App Runner VPC Ingress Connections in your Amazon Web Services account.

", @@ -35,6 +36,7 @@ "StartDeployment": "

Initiate a manual deployment of the latest commit in a source code repository or the latest image in a source image repository to an App Runner service.

For a source code repository, App Runner retrieves the commit and builds a Docker image. For a source image repository, App Runner retrieves the latest Docker image. In both cases, App Runner then deploys the new image to your service and starts a new container instance.

This is an asynchronous operation. On a successful call, you can use the returned OperationId and the ListOperations call to track the operation's progress.

", "TagResource": "

Add tags to, or update the tag values of, an App Runner resource. A tag is a key-value pair.

", "UntagResource": "

Remove tags from an App Runner resource.

", + "UpdateDefaultAutoScalingConfiguration": "

Update an auto scaling configuration to be the default. The existing default auto scaling configuration will be set to non-default automatically.

", "UpdateService": "

Update an App Runner service. You can update the source configuration and instance configuration of the service. You can also update the ARN of the auto scaling configuration resource that's associated with the service. However, you can't change the name or the encryption configuration of the service. These can be set only when you create the service.

To update the tags applied to your service, use the separate actions TagResource and UntagResource.

This is an asynchronous operation. On a successful call, you can use the returned OperationId and the ListOperations call to track the operation's progress.

", "UpdateVpcIngressConnection": "

Update an existing App Runner VPC Ingress Connection resource. The VPC Ingress Connection must be in one of the following states to be updated:

" }, @@ -86,6 +88,7 @@ "DisassociateCustomDomainResponse$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that a custom domain name is disassociated from.

", "EgressConfiguration$VpcConnectorArn": "

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to associate with your App Runner service. Only valid when EgressType = VPC.

", "ListOperationsRequest$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that you want a list of operations for.

", + "ListServicesForAutoScalingConfigurationRequest$AutoScalingConfigurationArn": "

The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to list the services for.

The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name or .../name/revision . If a revision isn't specified, the latest active revision is used.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that a tag list is requested for.

It must be the ARN of an App Runner resource.

", "ListVpcIngressConnectionsFilter$ServiceArn": "

The Amazon Resource Name (ARN) of a service to filter by.

", "ObservabilityConfiguration$ObservabilityConfigurationArn": "

The Amazon Resource Name (ARN) of this observability configuration.

", @@ -94,11 +97,13 @@ "PauseServiceRequest$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that you want to pause.

", "ResumeServiceRequest$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that you want to resume.

", "Service$ServiceArn": "

The Amazon Resource Name (ARN) of this service.

", + "ServiceArnList$member": null, "ServiceObservabilityConfiguration$ObservabilityConfigurationArn": "

The Amazon Resource Name (ARN) of the observability configuration that is associated with the service. Specified only when ObservabilityEnabled is true.

Specify an ARN with a name and a revision number to associate that revision. For example: arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing/3

Specify just the name to associate the latest revision. For example: arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing

", "ServiceSummary$ServiceArn": "

The Amazon Resource Name (ARN) of this service.

", "StartDeploymentRequest$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that you want to manually deploy to.

", "TagResourceRequest$ResourceArn": "

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

It must be the ARN of an App Runner resource.

", "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to remove tags from.

It must be the ARN of an App Runner resource.

", + "UpdateDefaultAutoScalingConfigurationRequest$AutoScalingConfigurationArn": "

The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to set as the default.

The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name or .../name/revision . If a revision isn't specified, the latest active revision is set as the default.

", "UpdateServiceRequest$ServiceArn": "

The Amazon Resource Name (ARN) of the App Runner service that you want to update.

", "UpdateServiceRequest$AutoScalingConfigurationArn": "

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with the App Runner service.

", "UpdateVpcIngressConnectionRequest$VpcIngressConnectionArn": "

The Amazon Resource Name (Arn) for the App Runner VPC Ingress Connection resource that you want to update.

", @@ -131,7 +136,8 @@ "refs": { "CreateAutoScalingConfigurationResponse$AutoScalingConfiguration": "

A description of the App Runner auto scaling configuration that's created by this request.

", "DeleteAutoScalingConfigurationResponse$AutoScalingConfiguration": "

A description of the App Runner auto scaling configuration that this request just deleted.

", - "DescribeAutoScalingConfigurationResponse$AutoScalingConfiguration": "

A full description of the App Runner auto scaling configuration that you specified in this request.

" + "DescribeAutoScalingConfigurationResponse$AutoScalingConfiguration": "

A full description of the App Runner auto scaling configuration that you specified in this request.

", + "UpdateDefaultAutoScalingConfigurationResponse$AutoScalingConfiguration": "

A description of the App Runner auto scaling configuration that was set as default.

" } }, "AutoScalingConfigurationName": { @@ -139,14 +145,21 @@ "refs": { "AutoScalingConfiguration$AutoScalingConfigurationName": "

The customer-provided auto scaling configuration name. It can be used in multiple revisions of a configuration.

", "AutoScalingConfigurationSummary$AutoScalingConfigurationName": "

The customer-provided auto scaling configuration name. It can be used in multiple revisions of a configuration.

", - "CreateAutoScalingConfigurationRequest$AutoScalingConfigurationName": "

A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

The name DefaultConfiguration is reserved (it's the configuration that App Runner uses if you don't provide a custome one). You can't use it to create a new auto scaling configuration, and you can't create a revision of it.

When you want to use your own auto scaling configuration for your App Runner service, create a configuration with a different name, and then provide it when you create or update your service.

", + "CreateAutoScalingConfigurationRequest$AutoScalingConfigurationName": "

A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

Prior to the release of Managing auto scaling, the name DefaultConfiguration was reserved.

This restriction is no longer in place. You can now manage DefaultConfiguration the same way you manage your custom auto scaling configurations. This means you can do the following with the DefaultConfiguration that App Runner provides:

", "ListAutoScalingConfigurationsRequest$AutoScalingConfigurationName": "

The name of the App Runner auto scaling configuration that you want to list. If specified, App Runner lists revisions that share this name. If not specified, App Runner returns revisions of all active configurations.

" } }, + "AutoScalingConfigurationRevision": { + "base": null, + "refs": { + "AutoScalingConfiguration$AutoScalingConfigurationRevision": "

The revision of this auto scaling configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") that share the same AutoScalingConfigurationName.

" + } + }, "AutoScalingConfigurationStatus": { "base": null, "refs": { - "AutoScalingConfiguration$Status": "

The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

" + "AutoScalingConfiguration$Status": "

The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

", + "AutoScalingConfigurationSummary$Status": "

The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

" } }, "AutoScalingConfigurationSummary": { @@ -165,7 +178,7 @@ "Boolean": { "base": null, "refs": { - "AutoScalingConfiguration$Latest": "

It's set to true for the configuration with the highest Revision among all configurations that share the same AutoScalingConfigurationName. It's set to false otherwise.

", + "DeleteAutoScalingConfigurationRequest$DeleteAllRevisions": "

Set to true to delete all of the revisions associated with the AutoScalingConfigurationArn parameter value.

When DeleteAllRevisions is set to true, the only valid value for the Amazon Resource Name (ARN) is a partial ARN ending with: .../name.

", "IngressConfiguration$IsPubliclyAccessible": "

Specifies whether your App Runner service is publicly accessible. To make the service publicly accessible set it to True. To make the service privately accessible, from only within an Amazon VPC set it to False.

", "ListAutoScalingConfigurationsRequest$LatestOnly": "

Set to true to list only the latest revision for each requested configuration name.

Set to false to list all revisions for each requested configuration name.

Default: true

", "ListObservabilityConfigurationsRequest$LatestOnly": "

Set to true to list only the latest revision for each requested configuration name.

Set to false to list all revisions for each requested configuration name.

Default: true

", @@ -523,6 +536,13 @@ "ServiceQuotaExceededException$Message": null } }, + "HasAssociatedService": { + "base": null, + "refs": { + "AutoScalingConfiguration$HasAssociatedService": "

Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.

", + "AutoScalingConfigurationSummary$HasAssociatedService": "

Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.

" + } + }, "HealthCheckConfiguration": { "base": "

Describes the settings for the health check that App Runner performs to monitor the health of a service.

", "refs": { @@ -616,10 +636,6 @@ "Integer": { "base": null, "refs": { - "AutoScalingConfiguration$AutoScalingConfigurationRevision": "

The revision of this auto scaling configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") that share the same AutoScalingConfigurationName.

", - "AutoScalingConfiguration$MaxConcurrency": "

The maximum number of concurrent requests that an instance processes. If the number of concurrent requests exceeds this limit, App Runner scales the service up.

", - "AutoScalingConfiguration$MinSize": "

The minimum number of instances that App Runner provisions for a service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute capacity reserve and are ready to be quickly activated. You pay for memory usage of all the provisioned instances. You pay for CPU usage of only the active subset.

App Runner temporarily doubles the number of provisioned instances during deployments, to maintain the same capacity for both old and new code.

", - "AutoScalingConfiguration$MaxSize": "

The maximum number of instances that a service scales up to. At most MaxSize instances actively serve traffic for your service.

", "AutoScalingConfigurationSummary$AutoScalingConfigurationRevision": "

The revision of this auto scaling configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") with the same AutoScalingConfigurationName.

", "ObservabilityConfiguration$ObservabilityConfigurationRevision": "

The revision of this observability configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") that share the same ObservabilityConfigurationName.

", "ObservabilityConfigurationSummary$ObservabilityConfigurationRevision": "

The revision of this observability configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") that share the same ObservabilityConfigurationName.

", @@ -641,12 +657,25 @@ "refs": { } }, + "IsDefault": { + "base": null, + "refs": { + "AutoScalingConfiguration$IsDefault": "

Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.

", + "AutoScalingConfigurationSummary$IsDefault": "

Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.

" + } + }, "KmsKeyArn": { "base": null, "refs": { "EncryptionConfiguration$KmsKey": "

The ARN of the KMS key that's used for encryption.

" } }, + "Latest": { + "base": null, + "refs": { + "AutoScalingConfiguration$Latest": "

It's set to true for the configuration with the highest Revision among all configurations that share the same AutoScalingConfigurationName. It's set to false otherwise.

" + } + }, "ListAutoScalingConfigurationsRequest": { "base": null, "refs": { @@ -693,6 +722,16 @@ "refs": { } }, + "ListServicesForAutoScalingConfigurationRequest": { + "base": null, + "refs": { + } + }, + "ListServicesForAutoScalingConfigurationResponse": { + "base": null, + "refs": { + } + }, "ListServicesRequest": { "base": null, "refs": { @@ -739,22 +778,41 @@ "refs": { } }, + "MaxConcurrency": { + "base": null, + "refs": { + "AutoScalingConfiguration$MaxConcurrency": "

The maximum number of concurrent requests that an instance processes. If the number of concurrent requests exceeds this limit, App Runner scales the service up.

" + } + }, "MaxResults": { "base": null, "refs": { "ListAutoScalingConfigurationsRequest$MaxResults": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

", "ListConnectionsRequest$MaxResults": "

The maximum number of results to include in each response (result page). Used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

", "ListObservabilityConfigurationsRequest$MaxResults": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

", + "ListServicesForAutoScalingConfigurationRequest$MaxResults": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

", "ListVpcConnectorsRequest$MaxResults": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

", "ListVpcIngressConnectionsRequest$MaxResults": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

If you don't specify MaxResults, the request retrieves all available results in a single response.

" } }, + "MaxSize": { + "base": null, + "refs": { + "AutoScalingConfiguration$MaxSize": "

The maximum number of instances that a service scales up to. At most MaxSize instances actively serve traffic for your service.

" + } + }, "Memory": { "base": null, "refs": { "InstanceConfiguration$Memory": "

The amount of memory, in MB or GB, reserved for each instance of your App Runner service.

Default: 2 GB

" } }, + "MinSize": { + "base": null, + "refs": { + "AutoScalingConfiguration$MinSize": "

The minimum number of instances that App Runner provisions for a service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute capacity reserve and are ready to be quickly activated. You pay for memory usage of all the provisioned instances. You pay for CPU usage of only the active subset.

App Runner temporarily doubles the number of provisioned instances during deployments, to maintain the same capacity for both old and new code.

" + } + }, "NetworkConfiguration": { "base": "

Describes configuration settings related to network traffic of an App Runner service. Consists of embedded objects for each configurable network feature.

", "refs": { @@ -772,6 +830,8 @@ "ListConnectionsResponse$NextToken": "

The token that you can pass in a subsequent request to get the next result page. Returned in a paginated request.

", "ListObservabilityConfigurationsRequest$NextToken": "

A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the initial request.

If you don't specify NextToken, the request retrieves the first result page.

", "ListObservabilityConfigurationsResponse$NextToken": "

The token that you can pass in a subsequent request to get the next result page. It's returned in a paginated request.

", + "ListServicesForAutoScalingConfigurationRequest$NextToken": "

A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial request.

If you don't specify NextToken, the request retrieves the first result page.

", + "ListServicesForAutoScalingConfigurationResponse$NextToken": "

The token that you can pass in a subsequent request to get the next result page. It's returned in a paginated request.

", "ListVpcConnectorsRequest$NextToken": "

A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the initial request.

If you don't specify NextToken, the request retrieves the first result page.

", "ListVpcConnectorsResponse$NextToken": "

The token that you can pass in a subsequent request to get the next result page. It's returned in a paginated request.

", "ListVpcIngressConnectionsRequest$NextToken": "

A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the initial request.

If you don't specify NextToken, the request retrieves the first result page.

", @@ -940,6 +1000,12 @@ "UpdateServiceResponse$Service": "

A description of the App Runner service updated by this request. All configuration values in the returned Service structure reflect configuration changes that are being applied by this request.

" } }, + "ServiceArnList": { + "base": null, + "refs": { + "ListServicesForAutoScalingConfigurationResponse$ServiceArnList": "

A list of service ARN records. In a paginated request, the request returns up to MaxResults records for each call.

" + } + }, "ServiceId": { "base": null, "refs": { @@ -1120,6 +1186,7 @@ "refs": { "AutoScalingConfiguration$CreatedAt": "

The time when the auto scaling configuration was created. It's in Unix time stamp format.

", "AutoScalingConfiguration$DeletedAt": "

The time when the auto scaling configuration was deleted. It's in Unix time stamp format.

", + "AutoScalingConfigurationSummary$CreatedAt": "

The time when the auto scaling configuration was created. It's in Unix time stamp format.

", "Connection$CreatedAt": "

The App Runner connection creation time, expressed as a Unix time stamp.

", "ConnectionSummary$CreatedAt": "

The App Runner connection creation time, expressed as a Unix time stamp.

", "ObservabilityConfiguration$CreatedAt": "

The time when the observability configuration was created. It's in Unix time stamp format.

", @@ -1173,6 +1240,16 @@ "refs": { } }, + "UpdateDefaultAutoScalingConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateDefaultAutoScalingConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateServiceRequest": { "base": null, "refs": { diff --git a/models/apis/apprunner/2020-05-15/paginators-1.json b/models/apis/apprunner/2020-05-15/paginators-1.json index e360ded2057..33d0f0f8cfa 100644 --- a/models/apis/apprunner/2020-05-15/paginators-1.json +++ b/models/apis/apprunner/2020-05-15/paginators-1.json @@ -30,6 +30,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListServicesForAutoScalingConfiguration": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListVpcConnectors": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/codeartifact/2018-09-22/api-2.json b/models/apis/codeartifact/2018-09-22/api-2.json index 41a3c060c1e..be8f8362e27 100644 --- a/models/apis/codeartifact/2018-09-22/api-2.json +++ b/models/apis/codeartifact/2018-09-22/api-2.json @@ -2119,7 +2119,8 @@ "pypi", "maven", "nuget", - "generic" + "generic", + "swift" ] }, "PackageName":{ diff --git a/models/apis/codeartifact/2018-09-22/endpoint-rule-set-1.json b/models/apis/codeartifact/2018-09-22/endpoint-rule-set-1.json index 19c036173a9..a2bfb01a9e1 100644 --- a/models/apis/codeartifact/2018-09-22/endpoint-rule-set-1.json +++ b/models/apis/codeartifact/2018-09-22/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://codeartifact-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://codeartifact-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, { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://codeartifact-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://codeartifact-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, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://codeartifact.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://codeartifact.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://codeartifact.{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://codeartifact.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/kinesisvideo/2017-09-30/docs-2.json b/models/apis/kinesisvideo/2017-09-30/docs-2.json index 04f926105d9..bd0a48de875 100644 --- a/models/apis/kinesisvideo/2017-09-30/docs-2.json +++ b/models/apis/kinesisvideo/2017-09-30/docs-2.json @@ -10,7 +10,7 @@ "DescribeEdgeConfiguration": "

Describes a stream’s edge configuration that was set using the StartEdgeConfigurationUpdate API and the latest status of the edge agent's recorder and uploader jobs. Use this API to get the status of the configuration to determine if the configuration is in sync with the Edge Agent. Use this API to evaluate the health of the Edge Agent.

", "DescribeImageGenerationConfiguration": "

Gets the ImageGenerationConfiguration for a given Kinesis video stream.

", "DescribeMappedResourceConfiguration": "

Returns the most current information about the stream. The streamName or streamARN should be provided in the input.

", - "DescribeMediaStorageConfiguration": "

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

", + "DescribeMediaStorageConfiguration": "

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

", "DescribeNotificationConfiguration": "

Gets the NotificationConfiguration for a given Kinesis video stream.

", "DescribeSignalingChannel": "

Returns the most current information about the signaling channel. You must specify either the name or the Amazon Resource Name (ARN) of the channel that you want to describe.

", "DescribeStream": "

Returns the most current information about the specified stream. You must specify either the StreamName or the StreamARN.

", @@ -21,14 +21,14 @@ "ListStreams": "

Returns an array of StreamInfo objects. Each object describes a stream. To retrieve only streams that satisfy a specific condition, you can specify a StreamNameCondition.

", "ListTagsForResource": "

Returns a list of tags associated with the specified signaling channel.

", "ListTagsForStream": "

Returns a list of tags associated with the specified stream.

In the request, you must specify either the StreamName or the StreamARN.

", - "StartEdgeConfigurationUpdate": "

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

", + "StartEdgeConfigurationUpdate": "

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

", "TagResource": "

Adds one or more tags to a signaling channel. A tag is a key-value pair (the value is optional) that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the Billing and Cost Management and Cost Management User Guide.

", "TagStream": "

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the Billing and Cost Management and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

A Kinesis video stream can support up to 50 tags.

", "UntagResource": "

Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

", "UntagStream": "

Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

In the request, you must provide the StreamName or StreamARN.

", "UpdateDataRetention": "

Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN.

The retention period that you specify replaces the current value.

This operation requires permission for the KinesisVideo:UpdateDataRetention action.

Changing the data retention period affects the data in the stream as follows:

", "UpdateImageGenerationConfiguration": "

Updates the StreamInfo and ImageProcessingConfiguration fields.

", - "UpdateMediaStorageConfiguration": "

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

", + "UpdateMediaStorageConfiguration": "

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

", "UpdateNotificationConfiguration": "

Updates the notification information for a stream.

", "UpdateSignalingChannel": "

Updates the existing signaling channel. This is an asynchronous operation and takes time to complete.

If the MessageTtlSeconds value is updated (either increased or reduced), it only applies to new messages sent via this channel after it's been updated. Existing messages are still expired as per the previous MessageTtlSeconds value.

", "UpdateStream": "

Updates stream metadata, such as the device name and media type.

You must provide the stream name or the Amazon Resource Name (ARN) of the stream.

To make sure that you have the latest version of the stream before updating it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

UpdateStream is an asynchronous operation, and takes time to complete.

" @@ -759,7 +759,7 @@ "SamplingInterval": { "base": null, "refs": { - "ImageGenerationConfiguration$SamplingInterval": "

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

" + "ImageGenerationConfiguration$SamplingInterval": "

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

" } }, "ScheduleConfig": { diff --git a/models/apis/logs/2014-03-28/api-2.json b/models/apis/logs/2014-03-28/api-2.json index d5b86359943..4cb7597a4bb 100644 --- a/models/apis/logs/2014-03-28/api-2.json +++ b/models/apis/logs/2014-03-28/api-2.json @@ -793,6 +793,12 @@ "taskId":{"shape":"ExportTaskId"} } }, + "ClientToken":{ + "type":"string", + "max":128, + "min":36, + "pattern":"\\S{36,128}" + }, "CreateExportTaskRequest":{ "type":"structure", "required":[ @@ -1804,7 +1810,11 @@ "name":{"shape":"QueryDefinitionName"}, "queryDefinitionId":{"shape":"QueryId"}, "logGroupNames":{"shape":"LogGroupNames"}, - "queryString":{"shape":"QueryDefinitionString"} + "queryString":{"shape":"QueryDefinitionString"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } } }, "PutQueryDefinitionResponse":{ diff --git a/models/apis/logs/2014-03-28/docs-2.json b/models/apis/logs/2014-03-28/docs-2.json index 99896df5f3d..8ac5728ac69 100644 --- a/models/apis/logs/2014-03-28/docs-2.json +++ b/models/apis/logs/2014-03-28/docs-2.json @@ -5,7 +5,7 @@ "AssociateKmsKey": "

Associates the specified KMS key with either one log group in the account, or with all stored CloudWatch Logs query insights results in the account.

When you use AssociateKmsKey, you specify either the logGroupName parameter or the resourceIdentifier parameter. You can't specify both of those parameters in the same operation.

If you delete the key that is used to encrypt log events or log group query results, then all the associated stored log events or query results that were encrypted with that key will be unencryptable and unusable.

CloudWatch Logs supports only symmetric KMS keys. Do not use an associate an asymmetric KMS key with your log group or query results. For more information, see Using Symmetric and Asymmetric Keys.

It can take up to 5 minutes for this operation to take effect.

If you attempt to associate a KMS key with a log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

", "CancelExportTask": "

Cancels the specified export task.

The task must be in the PENDING or RUNNING state.

", "CreateExportTask": "

Creates an export task so that you can efficiently export data from a log group to an Amazon S3 bucket. When you perform a CreateExportTask operation, you must use credentials that have permission to write to the S3 bucket that you specify as the destination.

Exporting log data to S3 buckets that are encrypted by KMS is supported. Exporting log data to Amazon S3 buckets that have S3 Object Lock enabled with a retention period is also supported.

Exporting to S3 buckets that are encrypted with AES-256 is supported.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate log data for each export task, specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

Time-based sorting on chunks of log data inside an exported file is not guaranteed. You can sort the exported log field data by using Linux utilities.

", - "CreateLogGroup": "

Creates a log group with the specified name. You can create up to 20,000 log groups per account.

You must use the following guidelines when naming a log group:

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

", + "CreateLogGroup": "

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

", "CreateLogStream": "

Creates a log stream for the specified log group. A log stream is a sequence of log events that originate from a single source, such as an application instance or a resource that is being monitored.

There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on CreateLogStream operations, after which transactions are throttled.

You must use the following guidelines when naming a log stream:

", "DeleteAccountPolicy": "

Deletes a CloudWatch Logs account policy.

To use this operation, you must be signed on with the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

", "DeleteDataProtectionPolicy": "

Deletes the data protection policy from the specified log group.

For more information about data protection policies, see PutDataProtectionPolicy.

", @@ -41,10 +41,10 @@ "PutDestination": "

Creates or updates a destination. This operation is used only to create destinations for cross-account subscriptions.

A destination encapsulates a physical resource (such as an Amazon Kinesis stream). With a destination, you can subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents.

Through an access policy, a destination controls what is written to it. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

To perform a PutDestination operation, you must also have the iam:PassRole permission.

", "PutDestinationPolicy": "

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

", "PutLogEvents": "

Uploads a batch of log events to the specified log stream.

The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

The batch of events must satisfy the following constraints:

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

", - "PutMetricFilter": "

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs disables a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

", + "PutMetricFilter": "

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

", "PutQueryDefinition": "

Creates or updates a query definition for CloudWatch Logs Insights. For more information, see Analyzing Log Data with CloudWatch Logs Insights.

To update a query definition, specify its queryDefinitionId in your request. The values of name, queryString, and logGroupNames are changed to the values that you specify in your update operation. No current values are retained from the current query definition. For example, imagine updating a current query definition that includes log groups. If you don't specify the logGroupNames parameter in your update operation, the query definition changes to contain no log groups.

You must have the logs:PutQueryDefinition permission to be able to perform this operation.

", "PutResourcePolicy": "

Creates or updates a resource policy allowing other Amazon Web Services services to put log events to this account, such as Amazon Route 53. An account can have up to 10 resource policies per Amazon Web Services Region.

", - "PutRetentionPolicy": "

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

", + "PutRetentionPolicy": "

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

", "PutSubscriptionFilter": "

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

", "StartQuery": "

Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query and the query string to use.

For more information, see CloudWatch Logs Insights Query Syntax.

After you run a query using StartQuery, the query results are stored by CloudWatch Logs. You can use GetQueryResults to retrieve the results of a query, using the queryId that StartQuery returns.

If you have associated a KMS key with the query results in this account, then StartQuery uses that key to encrypt the results when it stores them. If no key is associated with query results, the query results are encrypted with the default CloudWatch Logs encryption method.

Queries time out after 60 minutes of runtime. If your queries are timing out, reduce the time range being searched or partition your query into a number of queries.

If you are using CloudWatch cross-account observability, you can use this operation in a monitoring account to start a query in a linked source account. For more information, see CloudWatch cross-account observability. For a cross-account StartQuery operation, the query definition must be defined in the monitoring account.

You can have up to 30 concurrent CloudWatch Logs insights queries, including queries that have been added to dashboards.

", "StopQuery": "

Stops a CloudWatch Logs Insights query that is in progress. If the query has already ended, the operation returns an error indicating that the specified query is not running.

", @@ -123,6 +123,12 @@ "refs": { } }, + "ClientToken": { + "base": null, + "refs": { + "PutQueryDefinitionRequest$clientToken": "

Used as an idempotency token, to avoid returning an exception if the service receives the same request twice because of a network error.

" + } + }, "CreateExportTaskRequest": { "base": null, "refs": { diff --git a/models/apis/logs/2014-03-28/endpoint-rule-set-1.json b/models/apis/logs/2014-03-28/endpoint-rule-set-1.json index 29f4692677a..e54c13da834 100644 --- a/models/apis/logs/2014-03-28/endpoint-rule-set-1.json +++ b/models/apis/logs/2014-03-28/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://logs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://logs-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, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://logs.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://logs.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://logs.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://logs-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://logs.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://logs-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, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://logs.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://logs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://logs.{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://logs.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index 0b74e51e202..ad5aec592e1 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -7843,7 +7843,7 @@ "flattened":true }, "Setting":{"type":"boolean"}, - "Size":{"type":"integer"}, + "Size":{"type":"long"}, "SkipValidation":{"type":"boolean"}, "SourceSelectionCriteria":{ "type":"structure", diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index 3a1c6c202fe..b4595d24f2a 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -4,8 +4,8 @@ "operations": { "AbortMultipartUpload": "

This action aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts action and ensure that the parts list is empty.

For information about permissions required to use the multipart upload, see Multipart Upload and Permissions.

The following operations are related to AbortMultipartUpload:

", "CompleteMultipartUpload": "

Completes a multipart upload by assembling previously uploaded parts.

You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions.

CompleteMultipartUpload has the following special errors:

The following operations are related to CompleteMultipartUpload:

", - "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

Versioning

By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

The following operations are related to CopyObject:

", - "CreateBucket": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

Permissions

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket request includes specific headers:

If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, see Setting Object Ownership on an existing bucket in the Amazon S3 User Guide.

The following operations are related to CreateBucket:

", + "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

If the source object's storage class is GLACIER or DEEP_ARCHIVE, or the object's storage class is INTELLIGENT_TIERING and it's S3 Intelligent-Tiering access tier is Archive Access or Deep Archive Access, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

Versioning

By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

The following operations are related to CopyObject:

", + "CreateBucket": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. To constrain the bucket creation to a specific Region, you can use LocationConstraint condition key. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

Permissions

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket request includes specific headers:

If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, see Setting Object Ownership on an existing bucket in the Amazon S3 User Guide.

The following operations are related to CreateBucket:

", "CreateMultipartUpload": "

This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

For more information about multipart uploads, see Multipart Upload Overview.

If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions.

For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4).

After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. You can request that Amazon S3 save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C).

To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

For more information, see Protecting Data Using Server-Side Encryption.

Access Permissions

When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Server-Side- Encryption-Specific Request Headers

Amazon S3 encrypts data by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can request that Amazon S3 encrypts data at rest by using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys (SSE-C).

Access-Control-List (ACL)-Specific Request Headers

You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

The following operations are related to CreateMultipartUpload:

", "DeleteBucket": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

The following operations are related to DeleteBucket:

", "DeleteBucketAnalyticsConfiguration": "

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

The following operations are related to DeleteBucketAnalyticsConfiguration:

", @@ -71,7 +71,7 @@ "PutBucketAcl": "

Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

You can use one of the following two ways to set a bucket's permissions:

You cannot specify access permission using both the body and the request headers.

Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Permissions

You can set access permissions by using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

The following operations are related to PutBucketAcl:

", "PutBucketAnalyticsConfiguration": "

Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You can have up to 1,000 analytics configurations per bucket.

You can choose to have storage class analysis export analysis reports sent to a comma-separated values (CSV) flat file. See the DataExport request element. Reports are updated daily and are based on the object filters that you configure. When selecting data export, you specify a destination bucket and an optional destination prefix where the file is written. You can export the data to a destination bucket in a different account. However, the destination bucket must be in the same Region as the bucket that you are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class Analysis.

You must create a bucket policy on the destination bucket where the exported file is written to grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

PutBucketAnalyticsConfiguration has the following special errors:

The following operations are related to PutBucketAnalyticsConfiguration:

", "PutBucketCors": "

Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it.

To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

You set this configuration on a bucket so that the bucket can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your Amazon S3 bucket at my.example.bucket.com by using the browser's XMLHttpRequest capability.

To enable cross-origin resource sharing (CORS) on a bucket, you add the cors subresource to the bucket. The cors subresource is an XML document in which you configure rules that identify origins and the HTTP methods that can be executed on your bucket. The document is limited to 64 KB in size.

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it evaluates the cors configuration on the bucket and uses the first CORSRule rule that matches the incoming browser request to enable a cross-origin request. For a rule to match, the following conditions must be met:

For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide.

The following operations are related to PutBucketCors:

", - "PutBucketEncryption": "

This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket.

By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided keys (SSE-C). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 bucket default encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

The following operations are related to PutBucketEncryption:

", + "PutBucketEncryption": "

This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket.

By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. If you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 does not validate the KMS key ID provided in PutBucketEncryption requests.

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

The following operations are related to PutBucketEncryption:

", "PutBucketIntelligentTieringConfiguration": "

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to PutBucketIntelligentTieringConfiguration include:

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access tier.

PutBucketIntelligentTieringConfiguration has the following special errors:

HTTP 400 Bad Request Error

Code: InvalidArgument

Cause: Invalid Argument

HTTP 400 Bad Request Error

Code: TooManyConfigurations

Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

HTTP 403 Forbidden Error

Cause: You are not the owner of the specified bucket, or you do not have the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration on the bucket.

", "PutBucketInventoryConfiguration": "

This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket.

When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide.

You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

Permissions

To use this operation, you must have permission to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others.

The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory report that includes all object metadata fields available and to specify the destination bucket to store the inventory. A user with read access to objects in the destination bucket can also access all object metadata fields that are available in the inventory report.

To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the Amazon S3 User Guide. For more information about the metadata fields available in S3 Inventory, see Amazon S3 Inventory lists in the Amazon S3 User Guide. For more information about permissions, see Permissions related to bucket subresource operations and Identity and access management in Amazon S3 in the Amazon S3 User Guide.

PutBucketInventoryConfiguration has the following special errors:

HTTP 400 Bad Request Error

Code: InvalidArgument

Cause: Invalid Argument

HTTP 400 Bad Request Error

Code: TooManyConfigurations

Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

HTTP 403 Forbidden Error

Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket.

The following operations are related to PutBucketInventoryConfiguration:

", "PutBucketLifecycle": "

For an updated version of this API, see PutBucketLifecycleConfiguration. This version has been deprecated. Existing lifecycle configurations will work. For new lifecycle configurations, use the updated API.

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Object Lifecycle Management in the Amazon S3 User Guide.

By default, all Amazon S3 resources, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration) are private. Only the resource owner, the Amazon Web Services account that created the resource, can access it. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, users must get the s3:PutLifecycleConfiguration permission.

You can also explicitly deny permissions. Explicit denial also supersedes any other permissions. If you want to prevent users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

For more information about permissions, see Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

For more examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration.

The following operations are related to PutBucketLifecycle:

", @@ -82,18 +82,18 @@ "PutBucketNotificationConfiguration": "

Enables notifications of specified events for a bucket. For more information about event notifications, see Configuring Event Notifications.

Using this API, you can replace an existing notification configuration. The configuration is an XML file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3 to publish an event notification when it detects an event of the specified type.

By default, your bucket has no event notifications configured. That is, the notification configuration will be an empty NotificationConfiguration.

<NotificationConfiguration>

</NotificationConfiguration>

This action replaces the existing notification configuration with the configuration you include in the request body.

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner has permission to publish to it by sending a test notification. In the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3 Events.

You can disable notifications by adding the empty NotificationConfiguration element.

For more information about the number of event notification configurations that you can create per bucket, see Amazon S3 service quotas in Amazon Web Services General Reference.

By default, only the bucket owner can configure notifications on a bucket. However, bucket owners can use a bucket policy to grant permission to other users to set this configuration with the required s3:PutBucketNotification permission.

The PUT notification is an atomic operation. For example, suppose your notification configuration includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add the configuration to your bucket.

If the configuration in the request body includes only one TopicConfiguration specifying only the s3:ReducedRedundancyLostObject event type, the response will also include the x-amz-sns-test-message-id header containing the message ID of the test notification sent to the topic.

The following action is related to PutBucketNotificationConfiguration:

", "PutBucketOwnershipControls": "

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

For information about Amazon S3 Object Ownership, see Using object ownership.

The following operations are related to PutBucketOwnershipControls:

", "PutBucketPolicy": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's Amazon Web Services account can perform the GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

For more information, see Bucket policy examples.

The following operations are related to PutBucketPolicy:

", - "PutBucketReplication": "

Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 User Guide.

Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.

A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.

To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

For information about enabling versioning on a bucket, see Using Versioning.

Handling Replication of Encrypted Objects

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using KMS keys.

For information on PutBucketReplication errors, see List of replication-related error codes

Permissions

To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration permissions for the bucket.

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

To perform this operation, the user or role performing the action must have the iam:PassRole permission.

The following operations are related to PutBucketReplication:

", + "PutBucketReplication": "

Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 User Guide.

Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information. You can invoke this request for a specific Amazon Web Services Region by using the aws:RequestedRegion condition key.

A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.

To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

For information about enabling versioning on a bucket, see Using Versioning.

Handling Replication of Encrypted Objects

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using KMS keys.

For information on PutBucketReplication errors, see List of replication-related error codes

Permissions

To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration permissions for the bucket.

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

To perform this operation, the user or role performing the action must have the iam:PassRole permission.

The following operations are related to PutBucketReplication:

", "PutBucketRequestPayment": "

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see Requester Pays Buckets.

The following operations are related to PutBucketRequestPayment:

", - "PutBucketTagging": "

Sets the tags for a bucket.

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. You cannot use this operation to add tags to an existing list of tags.

To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

PutBucketTagging has the following special errors:

The following operations are related to PutBucketTagging:

", + "PutBucketTagging": "

Sets the tags for a bucket.

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. You cannot use this operation to add tags to an existing list of tags.

To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

PutBucketTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

The following operations are related to PutBucketTagging:

", "PutBucketVersioning": "

Sets the versioning state of an existing bucket.

You can set the versioning state with one of the following values:

Enabled—Enables versioning for the objects in the bucket. All objects added to the bucket receive a unique version ID.

Suspended—Disables versioning for the objects in the bucket. All objects added to the bucket receive the version ID null.

If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner and want to enable MFA Delete in the bucket versioning configuration, you must include the x-amz-mfa request header and the Status and the MfaDelete request elements in a request to set the versioning state of the bucket.

If you have an object expiration lifecycle configuration in your non-versioned bucket and you want to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration will manage the deletes of the noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one current and zero or more noncurrent object versions.) For more information, see Lifecycle and Versioning.

The following operations are related to PutBucketVersioning:

", - "PutBucketWebsite": "

Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

", + "PutBucketWebsite": "

Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

The maximum request length is limited to 128 KB.

", "PutObject": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock.

To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

You have four mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side encryption by using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest by using server-side encryption with other key options. For more information, see Using Server-Side Encryption.

When adding a new object, you can use headers to grant ACL-based permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. By default, all objects are private. Only the owner has full access control. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

For more information about related Amazon S3 APIs, see the following:

", "PutObjectAcl": "

Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

This action is not supported by Amazon S3 on Outposts.

Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Versioning

The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

The following operations are related to PutObjectAcl:

", "PutObjectLegalHold": "

Applies a legal hold configuration to the specified object. For more information, see Locking Objects.

This action is not supported by Amazon S3 on Outposts.

", "PutObjectLockConfiguration": "

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

", "PutObjectRetention": "

Places an Object Retention configuration on an object. For more information, see Locking Objects. Users or accounts require the s3:PutObjectRetention permission in order to place an Object Retention configuration on objects. Bypassing a Governance Retention configuration requires the s3:BypassGovernanceRetention permission.

This action is not supported by Amazon S3 on Outposts.

", - "PutObjectTagging": "

Sets the supplied tag-set to an object that already exists in a bucket.

A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

For information about the Amazon S3 object tagging feature, see Object Tagging.

PutObjectTagging has the following special errors:

The following operations are related to PutObjectTagging:

", - "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

The following operations are related to PutPublicAccessBlock:

", + "PutObjectTagging": "

Sets the supplied tag-set to an object that already exists in a bucket. A tag is a key-value pair. For more information, see Object Tagging.

You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

PutObjectTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

The following operations are related to PutObjectTagging:

", + "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, S3 uses the most restrictive combination of the bucket-level and account-level settings.

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

The following operations are related to PutPublicAccessBlock:

", "RestoreObject": "

Restores an archived copy of an object back into Amazon S3

This action is not supported by Amazon S3 on Outposts.

This action performs the following types of requests:

For more information about the S3 structure in the request body, see the following:

Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples.

When making a select request, you can also do the following:

The following are additional important facts about the select feature:

Permissions

To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Restoring objects

Objects that you archive to the S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive storage classes, you must first initiate a restore request, and then wait until a temporary copy of the object is available. If you want a permanent copy of the object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the object for the duration (number of days) that you specify. For objects in the Archive Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier.

To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.

When restoring an archived object, you can specify one of the following data access tier options in the Tier element of the request body:

For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide.

To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide.

After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.

If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide.

Responses

A successful action returns either the 200 OK or 202 Accepted status code.

The following operations are related to RestoreObject:

", "SelectObjectContent": "

This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

This action is not supported by Amazon S3 on Outposts.

For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide.

Permissions

You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide.

Object Data Formats

You can use Amazon S3 Select to query objects that have the following format properties:

Working with the Response Body

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response.

GetObject Support

The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject.

Special Errors

For a list of special errors for this operation, see List of SELECT Object Content Error Codes

The following operations are related to SelectObjectContent:

", "UploadPart": "

Uploads a part in a multipart upload.

In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request.

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide .

For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide.

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

If you requested server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers.

UploadPart has the following special errors:

The following operations are related to UploadPart:

", @@ -1192,8 +1192,8 @@ "DeleteMarker": { "base": null, "refs": { - "DeleteObjectOutput$DeleteMarker": "

Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

", - "DeletedObject$DeleteMarker": "

Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete marker was created.

", + "DeleteObjectOutput$DeleteMarker": "

Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.

", + "DeletedObject$DeleteMarker": "

Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.

", "GetObjectAttributesOutput$DeleteMarker": "

Specifies whether the object retrieved was (true) or was not (false) a delete marker. If false, this response header does not appear in the response.

", "GetObjectOutput$DeleteMarker": "

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

", "HeadObjectOutput$DeleteMarker": "

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

", @@ -3609,7 +3609,7 @@ } }, "RequestPayer": { - "base": "

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from Requester Pays buckets, see Downloading Objects in Requester Pays Buckets in the Amazon S3 User Guide.

", + "base": "

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination Amazon S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see Downloading Objects in Requester Pays Buckets in the Amazon S3 User Guide.

", "refs": { "AbortMultipartUploadRequest$RequestPayer": null, "CompleteMultipartUploadRequest$RequestPayer": null, @@ -3881,19 +3881,19 @@ "refs": { "CompleteMultipartUploadOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", "CopyObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", - "CopyObjectRequest$SSEKMSKeyId": "

Specifies the KMS key ID to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", + "CopyObjectRequest$SSEKMSKeyId": "

Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", "CreateMultipartUploadOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", - "CreateMultipartUploadRequest$SSEKMSKeyId": "

Specifies the ID of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", + "CreateMultipartUploadRequest$SSEKMSKeyId": "

Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

", "Encryption$KMSKeyId": "

If the encryption type is aws:kms, this optional value specifies the ID of the symmetric encryption customer managed key to use for encryption of job results. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in KMS in the Amazon Web Services Key Management Service Developer Guide.

", "GetObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", "HeadObjectOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", "PutObjectOutput$SSEKMSKeyId": "

If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, this header specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", - "PutObjectRequest$SSEKMSKeyId": "

If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, this header specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3) to protect the data. If the KMS key does not exist in the same account that's issuing the command, you must use the full ARN and not just the ID.

", + "PutObjectRequest$SSEKMSKeyId": "

If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, this header specifies the ID (Key ID, Key ARN, or Key Alias) of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3) to protect the data. If the KMS key does not exist in the same account that's issuing the command, you must use the full ARN and not just the ID.

", "SSEKMS$KeyId": "

Specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key to use for encrypting inventory reports.

", - "ServerSideEncryptionByDefault$KMSMasterKeyID": "

Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.

If you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

", + "ServerSideEncryptionByDefault$KMSMasterKeyID": "

Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.

If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.

If you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

", "UploadPartCopyOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.

", "UploadPartOutput$SSEKMSKeyId": "

If present, specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key was used for the object.

", - "WriteGetObjectResponseRequest$SSEKMSKeyId": "

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.

" + "WriteGetObjectResponseRequest$SSEKMSKeyId": "

If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.

" } }, "SSES3": { @@ -4044,7 +4044,7 @@ "StorageClass": { "base": null, "refs": { - "CopyObjectRequest$StorageClass": "

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

", + "CopyObjectRequest$StorageClass": "

If the x-amz-storage-class header is not used, the copied object will be stored in the STANDARD Storage Class by default. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

", "CreateMultipartUploadRequest$StorageClass": "

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

", "Destination$StorageClass": "

The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.

For valid values, see the StorageClass element of the PUT Bucket replication action in the Amazon S3 API Reference.

", "GetObjectAttributesOutput$StorageClass": "

Provides the storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

For more information, see Storage Classes.

", diff --git a/models/apis/s3/2006-03-01/examples-1.json b/models/apis/s3/2006-03-01/examples-1.json index 66619afe495..75c697b58cf 100644 --- a/models/apis/s3/2006-03-01/examples-1.json +++ b/models/apis/s3/2006-03-01/examples-1.json @@ -84,10 +84,13 @@ "CreateBucket": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" }, "comments": { "input": { @@ -95,19 +98,16 @@ "output": { } }, - "description": "The following example creates a bucket.", - "id": "to-create-a-bucket--1472851826060", - "title": "To create a bucket " + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" }, { "input": { - "Bucket": "examplebucket", - "CreateBucketConfiguration": { - "LocationConstraint": "eu-west-1" - } + "Bucket": "examplebucket" }, "output": { - "Location": "http://examplebucket..s3.amazonaws.com/" + "Location": "/examplebucket" }, "comments": { "input": { @@ -115,9 +115,9 @@ "output": { } }, - "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", - "id": "to-create-a-bucket-in-a-specific-region-1483399072992", - "title": "To create a bucket in a specific region" + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " } ], "CreateMultipartUpload": [ @@ -257,10 +257,8 @@ "DeleteObject": [ { "input": { - "Bucket": "examplebucket", - "Key": "objectkey.jpg" - }, - "output": { + "Bucket": "ExampleBucket", + "Key": "HappyFace.jpg" }, "comments": { "input": { @@ -268,14 +266,16 @@ "output": { } }, - "description": "The following example deletes an object from an S3 bucket.", - "id": "to-delete-an-object-1472850136595", - "title": "To delete an object" + "description": "The following example deletes an object from a non-versioned bucket.", + "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", + "title": "To delete an object (from a non-versioned bucket)" }, { "input": { - "Bucket": "ExampleBucket", - "Key": "HappyFace.jpg" + "Bucket": "examplebucket", + "Key": "objectkey.jpg" + }, + "output": { }, "comments": { "input": { @@ -283,20 +283,19 @@ "output": { } }, - "description": "The following example deletes an object from a non-versioned bucket.", - "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", - "title": "To delete an object (from a non-versioned bucket)" + "description": "The following example deletes an object from an S3 bucket.", + "id": "to-delete-an-object-1472850136595", + "title": "To delete an object" } ], "DeleteObjectTagging": [ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -304,17 +303,18 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", - "id": "to-remove-tag-set-from-an-object-version-1483145285913", - "title": "To remove tag set from an object version" + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -322,9 +322,9 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", - "id": "to-remove-tag-set-from-an-object-1483145342862", - "title": "To remove tag set from an object" + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" } ], "DeleteObjects": [ @@ -334,10 +334,12 @@ "Delete": { "Objects": [ { - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" }, { - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" } ], "Quiet": false @@ -346,14 +348,12 @@ "output": { "Deleted": [ { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", - "Key": "objectkey1" + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" }, { - "DeleteMarker": "true", - "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", - "Key": "objectkey2" + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" } ] }, @@ -363,9 +363,9 @@ "output": { } }, - "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", - "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", - "title": "To delete multiple objects from a versioned bucket" + "description": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", + "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", + "title": "To delete multiple object versions from a versioned bucket" }, { "input": { @@ -373,12 +373,10 @@ "Delete": { "Objects": [ { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "Key": "objectkey2" } ], "Quiet": false @@ -387,12 +385,14 @@ "output": { "Deleted": [ { - "Key": "HappyFace.jpg", - "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", + "Key": "objectkey1" }, { - "Key": "HappyFace.jpg", - "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + "DeleteMarker": "true", + "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", + "Key": "objectkey2" } ] }, @@ -402,9 +402,9 @@ "output": { } }, - "description": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", - "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", - "title": "To delete multiple object versions from a versioned bucket" + "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", + "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", + "title": "To delete multiple objects from a versioned bucket" } ], "GetBucketCors": [ @@ -840,17 +840,20 @@ { "input": { "Bucket": "examplebucket", - "Key": "exampleobject", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { "TagSet": [ { - "Key": "Key1", - "Value": "Value1" + "Key": "Key4", + "Value": "Value4" + }, + { + "Key": "Key3", + "Value": "Value3" } ], - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -858,27 +861,24 @@ "output": { } }, - "description": "The following example retrieves tag set of an object. The request specifies object version.", - "id": "to-retrieve-tag-set-of-a-specific-object-version-1483400283663", - "title": "To retrieve tag set of a specific object version" + "description": "The following example retrieves tag set of an object.", + "id": "to-retrieve-tag-set-of-an-object-1481833847896", + "title": "To retrieve tag set of an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { "TagSet": [ { - "Key": "Key4", - "Value": "Value4" - }, - { - "Key": "Key3", - "Value": "Value3" + "Key": "Key1", + "Value": "Value1" } ], - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -886,9 +886,9 @@ "output": { } }, - "description": "The following example retrieves tag set of an object.", - "id": "to-retrieve-tag-set-of-an-object-1481833847896", - "title": "To retrieve tag set of an object" + "description": "The following example retrieves tag set of an object. The request specifies object version.", + "id": "to-retrieve-tag-set-of-a-specific-object-version-1483400283663", + "title": "To retrieve tag set of a specific object version" } ], "GetObjectTorrent": [ @@ -1569,14 +1569,11 @@ "input": { "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1584,20 +1581,22 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", + "Key": "exampleobject", + "ServerSideEncryption": "AES256", "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "ServerSideEncryption": "AES256", + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1605,22 +1604,19 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" }, { "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" + "Key": "objectkey" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" }, "comments": { "input": { @@ -1628,19 +1624,23 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." }, { "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1648,19 +1648,20 @@ "output": { } }, - "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-create-an-object-1483147613675", - "title": "To create an object." + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "HappyFace.jpg", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1668,9 +1669,9 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { @@ -1695,17 +1696,16 @@ }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "HappyFace.jpg", + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" } ], "PutObjectAcl": [ diff --git a/models/apis/servicediscovery/2017-03-14/api-2.json b/models/apis/servicediscovery/2017-03-14/api-2.json index 11a508578c8..5217edf5b6f 100644 --- a/models/apis/servicediscovery/2017-03-14/api-2.json +++ b/models/apis/servicediscovery/2017-03-14/api-2.json @@ -138,6 +138,22 @@ ], "endpoint":{"hostPrefix":"data-"} }, + "DiscoverInstancesRevision":{ + "name":"DiscoverInstancesRevision", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DiscoverInstancesRevisionRequest"}, + "output":{"shape":"DiscoverInstancesRevisionResponse"}, + "errors":[ + {"shape":"ServiceNotFound"}, + {"shape":"NamespaceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"RequestLimitExceeded"} + ], + "endpoint":{"hostPrefix":"data-"} + }, "GetInstance":{ "name":"GetInstance", "http":{ @@ -571,7 +587,25 @@ "DiscoverInstancesResponse":{ "type":"structure", "members":{ - "Instances":{"shape":"HttpInstanceSummaryList"} + "Instances":{"shape":"HttpInstanceSummaryList"}, + "InstancesRevision":{"shape":"Revision"} + } + }, + "DiscoverInstancesRevisionRequest":{ + "type":"structure", + "required":[ + "NamespaceName", + "ServiceName" + ], + "members":{ + "NamespaceName":{"shape":"NamespaceName"}, + "ServiceName":{"shape":"ServiceName"} + } + }, + "DiscoverInstancesRevisionResponse":{ + "type":"structure", + "members":{ + "InstancesRevision":{"shape":"Revision"} } }, "DiscoverMaxResults":{ @@ -1277,6 +1311,7 @@ "type":"string", "max":255 }, + "Revision":{"type":"long"}, "RoutingPolicy":{ "type":"string", "enum":[ diff --git a/models/apis/servicediscovery/2017-03-14/docs-2.json b/models/apis/servicediscovery/2017-03-14/docs-2.json index 33093418e0a..165b5e75ef3 100644 --- a/models/apis/servicediscovery/2017-03-14/docs-2.json +++ b/models/apis/servicediscovery/2017-03-14/docs-2.json @@ -9,11 +9,12 @@ "DeleteNamespace": "

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

", "DeleteService": "

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

", "DeregisterInstance": "

Deletes the Amazon Route 53 DNS records and health check, if any, that Cloud Map created for the specified instance.

", - "DiscoverInstances": "

Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.

", + "DiscoverInstances": "

Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. DiscoverInstances returns a randomized list of instances allowing customers to distribute traffic evenly across instances. For public and private DNS namespaces, you can also use DNS queries to discover instances.

", + "DiscoverInstancesRevision": "

Discovers the increasing revision associated with an instance.

", "GetInstance": "

Gets information about a specified instance.

", "GetInstancesHealthStatus": "

Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service.

There's a brief delay between when you register an instance and when the health status for the instance is available.

", "GetNamespace": "

Gets information about a namespace.

", - "GetOperation": "

Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

To get a list of operations that match specified criteria, see ListOperations.

", + "GetOperation": "

Gets information about any operation that returns an operation ID in the response, such as a CreateHttpNamespace request.

To get a list of operations that match specified criteria, see ListOperations.

", "GetService": "

Gets the settings for a specified service.

", "ListInstances": "

Lists summary information about the instances that you registered by using a specified service.

", "ListNamespaces": "

Lists summary information about the namespaces that were created by the current Amazon Web Services account.

", @@ -68,7 +69,7 @@ "HttpInstanceSummary$Attributes": "

If you included any attributes when you registered the instance, the values of those attributes.

", "Instance$Attributes": "

A string map that contains the following information for the service that you specify in ServiceId:

Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see AliasTarget->DNSName in the Route 53 API Reference.

Note the following:

  • The configuration for the service that's specified by ServiceId must include settings for an A record, an AAAA record, or both.

  • In the service that's specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

  • If the service that's specified by ServiceId includes HealthCheckConfig settings, Cloud Map creates the health check, but it won't associate the health check with the alias record.

  • Auto naming currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than ELB load balancers.

  • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 address.

AWS_INIT_HEALTH_STATUS

If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

AWS_INSTANCE_CNAME

If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

This value is required if the service specified by ServiceId includes settings for an CNAME record.

AWS_INSTANCE_IPV4

If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_IPV6

If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_PORT

If the service includes an SRV record, the value that you want Route 53 to return for the port.

If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

", "InstanceSummary$Attributes": "

A string map that contains the following information:

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that's associated with the load balancer.

AWS_EC2_INSTANCE_ID (HTTP namespaces only)

The Amazon EC2 instance ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 address.

AWS_INIT_HEALTH_STATUS

If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

AWS_INSTANCE_CNAME

For a CNAME record, the domain name that Route 53 returns in response to DNS queries (for example, example.com).

AWS_INSTANCE_IPV4

For an A record, the IPv4 address that Route 53 returns in response to DNS queries (for example, 192.0.2.44).

AWS_INSTANCE_IPV6

For an AAAA record, the IPv6 address that Route 53 returns in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

AWS_INSTANCE_PORT

For an SRV record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig, the port on the endpoint that Route 53 sends requests to.

", - "RegisterInstanceRequest$Attributes": "

A string map that contains the following information for the service that you specify in ServiceId:

Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.

Note the following:

  • The configuration for the service that's specified by ServiceId must include settings for an A record, an AAAA record, or both.

  • In the service that's specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

  • If the service that's specified by ServiceId includes HealthCheckConfig settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.

  • Auto naming currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.

  • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private IPv4 address.

AWS_INIT_HEALTH_STATUS

If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

AWS_INSTANCE_CNAME

If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

This value is required if the service specified by ServiceId includes settings for an CNAME record.

AWS_INSTANCE_IPV4

If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_IPV6

If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_PORT

If the service includes an SRV record, the value that you want Route 53 to return for the port.

If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

Custom attributes

You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.

" + "RegisterInstanceRequest$Attributes": "

A string map that contains the following information for the service that you specify in ServiceId:

Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.

Note the following:

  • The configuration for the service that's specified by ServiceId must include settings for an A record, an AAAA record, or both.

  • In the service that's specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

  • If the service that's specified by ServiceId includes HealthCheckConfig settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.

  • Cloud Map currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.

  • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private IPv4 address.

AWS_INIT_HEALTH_STATUS

If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

AWS_INSTANCE_CNAME

If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

This value is required if the service specified by ServiceId includes settings for an CNAME record.

AWS_INSTANCE_IPV4

If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_IPV6

If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_PORT

If the service includes an SRV record, the value that you want Route 53 to return for the port.

If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

Custom attributes

You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.

" } }, "Code": { @@ -168,6 +169,16 @@ "refs": { } }, + "DiscoverInstancesRevisionRequest": { + "base": null, + "refs": { + } + }, + "DiscoverInstancesRevisionResponse": { + "base": null, + "refs": { + } + }, "DiscoverMaxResults": { "base": null, "refs": { @@ -515,6 +526,7 @@ "base": null, "refs": { "DiscoverInstancesRequest$NamespaceName": "

The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

", + "DiscoverInstancesRevisionRequest$NamespaceName": "

The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

", "HttpProperties$HttpName": "

The name of an HTTP namespace.

", "Namespace$Name": "

The name of the namespace, such as example.com.

", "NamespaceSummary$Name": "

The name of the namespace. When you create a namespace, Cloud Map automatically creates a Route 53 hosted zone that has the same name as the namespace.

" @@ -858,6 +870,13 @@ "HealthCheckConfig$ResourcePath": "

The path that you want Route 53 to request when performing health checks. The path can be any value that your endpoint returns an HTTP status code of a 2xx or 3xx format for when the endpoint is healthy. An example file is /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service. If you don't specify a value for ResourcePath, the default value is /.

If you specify TCP for Type, you must not specify a value for ResourcePath.

" } }, + "Revision": { + "base": null, + "refs": { + "DiscoverInstancesResponse$InstancesRevision": "

The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision.

", + "DiscoverInstancesRevisionResponse$InstancesRevision": "

The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision.

" + } + }, "RoutingPolicy": { "base": null, "refs": { @@ -920,6 +939,7 @@ "refs": { "CreateServiceRequest$Name": "

The name that you want to assign to the service.

Do not include sensitive information in the name if the namespace is discoverable by public DNS queries.

If you want Cloud Map to create an SRV record when you register an instance and you're using a system that requires a specific SRV format, such as HAProxy, specify the following for Name:

When you register an instance, Cloud Map creates an SRV record and assigns a name to the record by concatenating the service name and the namespace name (for example,

_exampleservice._tcp.example.com).

For services that are accessible by DNS queries, you can't create multiple services with names that differ only by case (such as EXAMPLE and example). Otherwise, these services have the same DNS name and can't be distinguished. However, if you use a namespace that's only accessible by API calls, then you can create services that with names that differ only by case.

", "DiscoverInstancesRequest$ServiceName": "

The name of the service that you specified when you registered the instance.

", + "DiscoverInstancesRevisionRequest$ServiceName": "

The name of the service that you specified when you registered the instance.

", "HttpInstanceSummary$ServiceName": "

The name of the service that you specified when you registered the instance.

", "Service$Name": "

The name of the service.

", "ServiceSummary$Name": "

The name of the service.

" diff --git a/models/apis/servicediscovery/2017-03-14/endpoint-rule-set-1.json b/models/apis/servicediscovery/2017-03-14/endpoint-rule-set-1.json index f26f043db06..637ad5695ec 100644 --- a/models/apis/servicediscovery/2017-03-14/endpoint-rule-set-1.json +++ b/models/apis/servicediscovery/2017-03-14/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,135 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], "type": "tree", "rules": [ { - "conditions": [ + "conditions": [], + "endpoint": { + "url": "https://servicediscovery-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": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://servicediscovery-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, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], @@ -221,130 +277,113 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, + "aws-cn", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "stringEquals", + "argv": [ + "aws-us-gov", { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] } ] } - ] + ], + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { - "url": "https://servicediscovery.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://servicediscovery.{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://servicediscovery.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/servicediscovery/2017-03-14/endpoint-tests-1.json b/models/apis/servicediscovery/2017-03-14/endpoint-tests-1.json index ae95943c83d..957d84922d7 100644 --- a/models/apis/servicediscovery/2017-03-14/endpoint-tests-1.json +++ b/models/apis/servicediscovery/2017-03-14/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -333,22 +333,22 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.us-east-1.api.aws" + "url": "https://servicediscovery.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -398,22 +398,22 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://servicediscovery.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -476,22 +476,22 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.us-gov-east-1.api.aws" + "url": "https://servicediscovery.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -500,9 +500,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -513,9 +513,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -524,9 +524,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -537,9 +537,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -548,9 +548,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -561,9 +561,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -572,9 +572,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -585,9 +585,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -598,9 +598,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -623,9 +623,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -635,9 +635,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json b/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json new file mode 100644 index 00000000000..5e4f62c9a9f --- /dev/null +++ b/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json @@ -0,0 +1,339 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "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": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "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://oidc-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": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://oidc.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://oidc-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://oidc.{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://oidc.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/sso-oidc/2019-06-10/endpoint-tests-1.json b/models/apis/sso-oidc/2019-06-10/endpoint-tests-1.json new file mode 100644 index 00000000000..638ae14a528 --- /dev/null +++ b/models/apis/sso-oidc/2019-06-10/endpoint-tests-1.json @@ -0,0 +1,561 @@ +{ + "testCases": [ + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.me-south-1.amazonaws.com" + } + }, + "params": { + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://oidc.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 3361daa110f..5249f64a2ba 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -12182,13 +12182,16 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -19559,6 +19562,12 @@ "cn-northwest-1" : { } } }, + "sso" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "states" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/appconfig/api.go b/service/appconfig/api.go index beecc95ad98..6221ea43db1 100644 --- a/service/appconfig/api.go +++ b/service/appconfig/api.go @@ -75,6 +75,23 @@ func (c *AppConfig) CreateApplicationRequest(input *CreateApplicationInput) (req // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // +// - ServiceQuotaExceededException +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. +// // - InternalServerException // There was an internal failure in the AppConfig service. // @@ -196,6 +213,23 @@ func (c *AppConfig) CreateConfigurationProfileRequest(input *CreateConfiguration // - InternalServerException // There was an internal failure in the AppConfig service. // +// - ServiceQuotaExceededException +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile func (c *AppConfig) CreateConfigurationProfile(input *CreateConfigurationProfileInput) (*CreateConfigurationProfileOutput, error) { req, out := c.CreateConfigurationProfileRequest(input) @@ -279,6 +313,23 @@ func (c *AppConfig) CreateDeploymentStrategyRequest(input *CreateDeploymentStrat // - InternalServerException // There was an internal failure in the AppConfig service. // +// - ServiceQuotaExceededException +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. +// // - BadRequestException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. @@ -375,6 +426,23 @@ func (c *AppConfig) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // +// - ServiceQuotaExceededException +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment func (c *AppConfig) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) { req, out := c.CreateEnvironmentRequest(input) @@ -445,10 +513,23 @@ func (c *AppConfig) CreateExtensionRequest(input *CreateExtensionInput) (req *re // or deploying a configuration. // // You can create your own extensions or use the Amazon Web Services authored -// extensions provided by AppConfig. For most use cases, to create your own -// extension, you must create an Lambda function to perform any computation -// and processing defined in the extension. For more information about extensions, -// see Working with AppConfig extensions (https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html) +// extensions provided by AppConfig. For an AppConfig extension that uses Lambda, +// you must create a Lambda function to perform any computation and processing +// defined in the extension. If you plan to create custom versions of the Amazon +// Web Services authored notification extensions, you only need to specify an +// Amazon Resource Name (ARN) in the Uri field for the new extension version. +// +// - For a custom EventBridge notification extension, enter the ARN of the +// EventBridge default events in the Uri field. +// +// - For a custom Amazon SNS notification extension, enter the ARN of an +// Amazon SNS topic in the Uri field. +// +// - For a custom Amazon SQS notification extension, enter the ARN of an +// Amazon SQS message queue in the Uri field. +// +// For more information about extensions, see Working with AppConfig extensions +// (https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html) // in the AppConfig User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -469,8 +550,21 @@ func (c *AppConfig) CreateExtensionRequest(input *CreateExtensionInput) (req *re // of the resource. // // - ServiceQuotaExceededException -// The number of hosted configuration versions exceeds the limit for the AppConfig -// hosted configuration store. Delete one or more versions and try again. +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. // // - InternalServerException // There was an internal failure in the AppConfig service. @@ -573,8 +667,21 @@ func (c *AppConfig) CreateExtensionAssociationRequest(input *CreateExtensionAsso // There was an internal failure in the AppConfig service. // // - ServiceQuotaExceededException -// The number of hosted configuration versions exceeds the limit for the AppConfig -// hosted configuration store. Delete one or more versions and try again. +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtensionAssociation func (c *AppConfig) CreateExtensionAssociation(input *CreateExtensionAssociationInput) (*CreateExtensionAssociationOutput, error) { @@ -657,8 +764,21 @@ func (c *AppConfig) CreateHostedConfigurationVersionRequest(input *CreateHostedC // service. // // - ServiceQuotaExceededException -// The number of hosted configuration versions exceeds the limit for the AppConfig -// hosted configuration store. Delete one or more versions and try again. +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. // // - ResourceNotFoundException // The requested resource could not be found. @@ -4987,8 +5107,11 @@ type CreateConfigurationProfileInput struct { // specify either the parameter name in the format ssm-parameter:// or the ARN. // + // * For an Amazon Web Services CodePipeline pipeline, specify the URI in + // the following format: codepipeline://. + // // * For an Secrets Manager secret, specify the URI in the following format: - // secrets-manager://. + // secretsmanager://. // // * For an Amazon S3 object, specify the URI in the following format: s3:/// // . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json @@ -6865,9 +6988,15 @@ type DeploymentEvent struct { ActionInvocations []*ActionInvocation `type:"list"` // A description of the deployment event. Descriptions include, but are not - // limited to, the user account or the Amazon CloudWatch alarm ARN that initiated - // a rollback, the percentage of hosts that received the deployment, or in the - // case of an internal error, a recommendation to attempt a new deployment. + // limited to, the following: + // + // * The Amazon Web Services account or the Amazon CloudWatch alarm ARN that + // initiated a rollback. + // + // * The percentage of hosts that received the deployment. + // + // * A recommendation to attempt a new deployment (in the case of an internal + // error). Description *string `type:"string"` // The type of deployment event. Deployment event types include the start, stop, @@ -7065,6 +7194,9 @@ type DeploymentSummary struct { // The state of the deployment. State *string `type:"string" enum:"DeploymentState"` + + // A user-defined label for an AppConfig hosted configuration version. + VersionLabel *string `min:"1" type:"string"` } // String returns the string representation. @@ -7151,6 +7283,12 @@ func (s *DeploymentSummary) SetState(v string) *DeploymentSummary { return s } +// SetVersionLabel sets the VersionLabel field's value. +func (s *DeploymentSummary) SetVersionLabel(v string) *DeploymentSummary { + s.VersionLabel = &v + return s +} + type Environment struct { _ struct{} `type:"structure"` @@ -7969,6 +8107,9 @@ type GetDeploymentOutput struct { // The state of the deployment. State *string `type:"string" enum:"DeploymentState"` + + // A user-defined label for an AppConfig hosted configuration version. + VersionLabel *string `min:"1" type:"string"` } // String returns the string representation. @@ -8115,6 +8256,12 @@ func (s *GetDeploymentOutput) SetState(v string) *GetDeploymentOutput { return s } +// SetVersionLabel sets the VersionLabel field's value. +func (s *GetDeploymentOutput) SetVersionLabel(v string) *GetDeploymentOutput { + s.VersionLabel = &v + return s +} + type GetDeploymentStrategyInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -10360,8 +10507,21 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// The number of hosted configuration versions exceeds the limit for the AppConfig -// hosted configuration store. Delete one or more versions and try again. +// The number of one more AppConfig resources exceeds the maximum allowed. Verify +// that your environment doesn't exceed the following service quotas: +// +// Applications: 100 max +// +// Deployment strategies: 20 max +// +// Configuration profiles: 100 max per application +// +// Environments: 20 max per application +// +// To resolve this issue, you can delete one or more resources and try again. +// Or, you can request a quota increase. For more information about quotas and +// to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) +// in the Amazon Web Services General Reference. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10439,7 +10599,8 @@ type StartDeploymentInput struct { ConfigurationProfileId *string `type:"string" required:"true"` // The configuration version to deploy. If deploying an AppConfig hosted configuration - // version, you can specify either the version number or version label. + // version, you can specify either the version number or version label. For + // all other configurations, you must specify the version number. // // ConfigurationVersion is a required field ConfigurationVersion *string `min:"1" type:"string" required:"true"` @@ -10645,6 +10806,9 @@ type StartDeploymentOutput struct { // The state of the deployment. State *string `type:"string" enum:"DeploymentState"` + + // A user-defined label for an AppConfig hosted configuration version. + VersionLabel *string `min:"1" type:"string"` } // String returns the string representation. @@ -10791,6 +10955,12 @@ func (s *StartDeploymentOutput) SetState(v string) *StartDeploymentOutput { return s } +// SetVersionLabel sets the VersionLabel field's value. +func (s *StartDeploymentOutput) SetVersionLabel(v string) *StartDeploymentOutput { + s.VersionLabel = &v + return s +} + type StopDeploymentInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -10946,6 +11116,9 @@ type StopDeploymentOutput struct { // The state of the deployment. State *string `type:"string" enum:"DeploymentState"` + + // A user-defined label for an AppConfig hosted configuration version. + VersionLabel *string `min:"1" type:"string"` } // String returns the string representation. @@ -11092,6 +11265,12 @@ func (s *StopDeploymentOutput) SetState(v string) *StopDeploymentOutput { return s } +// SetVersionLabel sets the VersionLabel field's value. +func (s *StopDeploymentOutput) SetVersionLabel(v string) *StopDeploymentOutput { + s.VersionLabel = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` diff --git a/service/appconfig/errors.go b/service/appconfig/errors.go index 3f2fb5bc06b..a362d49a133 100644 --- a/service/appconfig/errors.go +++ b/service/appconfig/errors.go @@ -43,8 +43,21 @@ const ( // ErrCodeServiceQuotaExceededException for service response error code // "ServiceQuotaExceededException". // - // The number of hosted configuration versions exceeds the limit for the AppConfig - // hosted configuration store. Delete one or more versions and try again. + // The number of one more AppConfig resources exceeds the maximum allowed. Verify + // that your environment doesn't exceed the following service quotas: + // + // Applications: 100 max + // + // Deployment strategies: 20 max + // + // Configuration profiles: 100 max per application + // + // Environments: 20 max per application + // + // To resolve this issue, you can delete one or more resources and try again. + // Or, you can request a quota increase. For more information about quotas and + // to request an increase, see Service quotas for AppConfig (https://docs.aws.amazon.com/general/latest/gr/appconfig.html#limits_appconfig) + // in the Amazon Web Services General Reference. ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" ) diff --git a/service/appconfig/examples_test.go b/service/appconfig/examples_test.go index cc3b3554c50..6995be76108 100644 --- a/service/appconfig/examples_test.go +++ b/service/appconfig/examples_test.go @@ -40,6 +40,8 @@ func ExampleAppConfig_CreateApplication_shared00() { switch aerr.Code() { case appconfig.ErrCodeBadRequestException: fmt.Println(appconfig.ErrCodeBadRequestException, aerr.Error()) + case appconfig.ErrCodeServiceQuotaExceededException: + fmt.Println(appconfig.ErrCodeServiceQuotaExceededException, aerr.Error()) case appconfig.ErrCodeInternalServerException: fmt.Println(appconfig.ErrCodeInternalServerException, aerr.Error()) default: @@ -78,6 +80,8 @@ func ExampleAppConfig_CreateConfigurationProfile_shared00() { fmt.Println(appconfig.ErrCodeResourceNotFoundException, aerr.Error()) case appconfig.ErrCodeInternalServerException: fmt.Println(appconfig.ErrCodeInternalServerException, aerr.Error()) + case appconfig.ErrCodeServiceQuotaExceededException: + fmt.Println(appconfig.ErrCodeServiceQuotaExceededException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -111,6 +115,8 @@ func ExampleAppConfig_CreateDeploymentStrategy_shared00() { switch aerr.Code() { case appconfig.ErrCodeInternalServerException: fmt.Println(appconfig.ErrCodeInternalServerException, aerr.Error()) + case appconfig.ErrCodeServiceQuotaExceededException: + fmt.Println(appconfig.ErrCodeServiceQuotaExceededException, aerr.Error()) case appconfig.ErrCodeBadRequestException: fmt.Println(appconfig.ErrCodeBadRequestException, aerr.Error()) default: @@ -147,6 +153,8 @@ func ExampleAppConfig_CreateEnvironment_shared00() { fmt.Println(appconfig.ErrCodeResourceNotFoundException, aerr.Error()) case appconfig.ErrCodeBadRequestException: fmt.Println(appconfig.ErrCodeBadRequestException, aerr.Error()) + case appconfig.ErrCodeServiceQuotaExceededException: + fmt.Println(appconfig.ErrCodeServiceQuotaExceededException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/apprunner/api.go b/service/apprunner/api.go index 1585dbb693b..a33ab580953 100644 --- a/service/apprunner/api.go +++ b/service/apprunner/api.go @@ -744,8 +744,10 @@ func (c *AppRunner) DeleteAutoScalingConfigurationRequest(input *DeleteAutoScali // DeleteAutoScalingConfiguration API operation for AWS App Runner. // // Delete an App Runner automatic scaling configuration resource. You can delete -// a specific revision or the latest active revision. You can't delete a configuration -// that's used by one or more App Runner services. +// a top level auto scaling configuration, a specific revision of one, or all +// revisions associated with the top level configuration. You can't delete the +// default auto scaling configuration or a configuration that's used by one +// or more App Runner services. // // 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 @@ -2650,6 +2652,151 @@ func (c *AppRunner) ListServicesPagesWithContext(ctx aws.Context, input *ListSer return p.Err() } +const opListServicesForAutoScalingConfiguration = "ListServicesForAutoScalingConfiguration" + +// ListServicesForAutoScalingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ListServicesForAutoScalingConfiguration 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 ListServicesForAutoScalingConfiguration for more information on using the ListServicesForAutoScalingConfiguration +// 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 ListServicesForAutoScalingConfigurationRequest method. +// req, resp := client.ListServicesForAutoScalingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apprunner-2020-05-15/ListServicesForAutoScalingConfiguration +func (c *AppRunner) ListServicesForAutoScalingConfigurationRequest(input *ListServicesForAutoScalingConfigurationInput) (req *request.Request, output *ListServicesForAutoScalingConfigurationOutput) { + op := &request.Operation{ + Name: opListServicesForAutoScalingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListServicesForAutoScalingConfigurationInput{} + } + + output = &ListServicesForAutoScalingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListServicesForAutoScalingConfiguration API operation for AWS App Runner. +// +// Returns a list of the associated App Runner services using an auto scaling +// 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 AWS App Runner's +// API operation ListServicesForAutoScalingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// One or more input parameters aren't valid. Refer to the API action's document +// page, correct the input parameters, and try the action again. +// +// - InternalServiceErrorException +// An unexpected service exception occurred. +// +// - ResourceNotFoundException +// A resource doesn't exist for the specified Amazon Resource Name (ARN) in +// your Amazon Web Services account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apprunner-2020-05-15/ListServicesForAutoScalingConfiguration +func (c *AppRunner) ListServicesForAutoScalingConfiguration(input *ListServicesForAutoScalingConfigurationInput) (*ListServicesForAutoScalingConfigurationOutput, error) { + req, out := c.ListServicesForAutoScalingConfigurationRequest(input) + return out, req.Send() +} + +// ListServicesForAutoScalingConfigurationWithContext is the same as ListServicesForAutoScalingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ListServicesForAutoScalingConfiguration 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 *AppRunner) ListServicesForAutoScalingConfigurationWithContext(ctx aws.Context, input *ListServicesForAutoScalingConfigurationInput, opts ...request.Option) (*ListServicesForAutoScalingConfigurationOutput, error) { + req, out := c.ListServicesForAutoScalingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListServicesForAutoScalingConfigurationPages iterates over the pages of a ListServicesForAutoScalingConfiguration operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListServicesForAutoScalingConfiguration 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 ListServicesForAutoScalingConfiguration operation. +// pageNum := 0 +// err := client.ListServicesForAutoScalingConfigurationPages(params, +// func(page *apprunner.ListServicesForAutoScalingConfigurationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppRunner) ListServicesForAutoScalingConfigurationPages(input *ListServicesForAutoScalingConfigurationInput, fn func(*ListServicesForAutoScalingConfigurationOutput, bool) bool) error { + return c.ListServicesForAutoScalingConfigurationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListServicesForAutoScalingConfigurationPagesWithContext same as ListServicesForAutoScalingConfigurationPages 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 *AppRunner) ListServicesForAutoScalingConfigurationPagesWithContext(ctx aws.Context, input *ListServicesForAutoScalingConfigurationInput, fn func(*ListServicesForAutoScalingConfigurationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListServicesForAutoScalingConfigurationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListServicesForAutoScalingConfigurationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListServicesForAutoScalingConfigurationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -3492,6 +3639,94 @@ func (c *AppRunner) UntagResourceWithContext(ctx aws.Context, input *UntagResour return out, req.Send() } +const opUpdateDefaultAutoScalingConfiguration = "UpdateDefaultAutoScalingConfiguration" + +// UpdateDefaultAutoScalingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDefaultAutoScalingConfiguration 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 UpdateDefaultAutoScalingConfiguration for more information on using the UpdateDefaultAutoScalingConfiguration +// 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 UpdateDefaultAutoScalingConfigurationRequest method. +// req, resp := client.UpdateDefaultAutoScalingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apprunner-2020-05-15/UpdateDefaultAutoScalingConfiguration +func (c *AppRunner) UpdateDefaultAutoScalingConfigurationRequest(input *UpdateDefaultAutoScalingConfigurationInput) (req *request.Request, output *UpdateDefaultAutoScalingConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateDefaultAutoScalingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDefaultAutoScalingConfigurationInput{} + } + + output = &UpdateDefaultAutoScalingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDefaultAutoScalingConfiguration API operation for AWS App Runner. +// +// Update an auto scaling configuration to be the default. The existing default +// auto scaling configuration will be set to non-default automatically. +// +// 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 App Runner's +// API operation UpdateDefaultAutoScalingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// One or more input parameters aren't valid. Refer to the API action's document +// page, correct the input parameters, and try the action again. +// +// - InternalServiceErrorException +// An unexpected service exception occurred. +// +// - ResourceNotFoundException +// A resource doesn't exist for the specified Amazon Resource Name (ARN) in +// your Amazon Web Services account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/apprunner-2020-05-15/UpdateDefaultAutoScalingConfiguration +func (c *AppRunner) UpdateDefaultAutoScalingConfiguration(input *UpdateDefaultAutoScalingConfigurationInput) (*UpdateDefaultAutoScalingConfigurationOutput, error) { + req, out := c.UpdateDefaultAutoScalingConfigurationRequest(input) + return out, req.Send() +} + +// UpdateDefaultAutoScalingConfigurationWithContext is the same as UpdateDefaultAutoScalingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDefaultAutoScalingConfiguration 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 *AppRunner) UpdateDefaultAutoScalingConfigurationWithContext(ctx aws.Context, input *UpdateDefaultAutoScalingConfigurationInput, opts ...request.Option) (*UpdateDefaultAutoScalingConfigurationOutput, error) { + req, out := c.UpdateDefaultAutoScalingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateService = "UpdateService" // UpdateServiceRequest generates a "aws/request.Request" representing the @@ -3934,6 +4169,18 @@ type AutoScalingConfiguration struct { // stamp format. DeletedAt *time.Time `type:"timestamp"` + // Indicates if this auto scaling configuration has an App Runner service associated + // with it. A value of true indicates one or more services are associated. A + // value of false indicates no services are associated. + HasAssociatedService *bool `type:"boolean"` + + // Indicates if this auto scaling configuration should be used as the default + // for a new App Runner service that does not have an auto scaling configuration + // ARN specified during creation. Each account can have only one default AutoScalingConfiguration + // per region. The default AutoScalingConfiguration can be any revision under + // the same AutoScalingConfigurationName. + IsDefault *bool `type:"boolean"` + // It's set to true for the configuration with the highest Revision among all // configurations that share the same AutoScalingConfigurationName. It's set // to false otherwise. @@ -4013,6 +4260,18 @@ func (s *AutoScalingConfiguration) SetDeletedAt(v time.Time) *AutoScalingConfigu return s } +// SetHasAssociatedService sets the HasAssociatedService field's value. +func (s *AutoScalingConfiguration) SetHasAssociatedService(v bool) *AutoScalingConfiguration { + s.HasAssociatedService = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *AutoScalingConfiguration) SetIsDefault(v bool) *AutoScalingConfiguration { + s.IsDefault = &v + return s +} + // SetLatest sets the Latest field's value. func (s *AutoScalingConfiguration) SetLatest(v bool) *AutoScalingConfiguration { s.Latest = &v @@ -4065,6 +4324,27 @@ type AutoScalingConfigurationSummary struct { // The revision of this auto scaling configuration. It's unique among all the // active configurations ("Status": "ACTIVE") with the same AutoScalingConfigurationName. AutoScalingConfigurationRevision *int64 `type:"integer"` + + // The time when the auto scaling configuration was created. It's in Unix time + // stamp format. + CreatedAt *time.Time `type:"timestamp"` + + // Indicates if this auto scaling configuration has an App Runner service associated + // with it. A value of true indicates one or more services are associated. A + // value of false indicates no services are associated. + HasAssociatedService *bool `type:"boolean"` + + // Indicates if this auto scaling configuration should be used as the default + // for a new App Runner service that does not have an auto scaling configuration + // ARN specified during creation. Each account can have only one default AutoScalingConfiguration + // per region. The default AutoScalingConfiguration can be any revision under + // the same AutoScalingConfigurationName. + IsDefault *bool `type:"boolean"` + + // The current state of the auto scaling configuration. If the status of a configuration + // revision is INACTIVE, it was deleted and can't be used. Inactive configuration + // revisions are permanently removed some time after they are deleted. + Status *string `type:"string" enum:"AutoScalingConfigurationStatus"` } // String returns the string representation. @@ -4103,6 +4383,30 @@ func (s *AutoScalingConfigurationSummary) SetAutoScalingConfigurationRevision(v return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *AutoScalingConfigurationSummary) SetCreatedAt(v time.Time) *AutoScalingConfigurationSummary { + s.CreatedAt = &v + return s +} + +// SetHasAssociatedService sets the HasAssociatedService field's value. +func (s *AutoScalingConfigurationSummary) SetHasAssociatedService(v bool) *AutoScalingConfigurationSummary { + s.HasAssociatedService = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *AutoScalingConfigurationSummary) SetIsDefault(v bool) *AutoScalingConfigurationSummary { + s.IsDefault = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AutoScalingConfigurationSummary) SetStatus(v string) *AutoScalingConfigurationSummary { + s.Status = &v + return s +} + // Describes a certificate CNAME record to add to your DNS. For more information, // see AssociateCustomDomain (https://docs.aws.amazon.com/apprunner/latest/api/API_AssociateCustomDomain.html). type CertificateValidationRecord struct { @@ -4581,13 +4885,24 @@ type CreateAutoScalingConfigurationInput struct { // 1 of this name. When you use the same name in subsequent calls, App Runner // creates incremental revisions of the configuration. // - // The name DefaultConfiguration is reserved (it's the configuration that App - // Runner uses if you don't provide a custome one). You can't use it to create - // a new auto scaling configuration, and you can't create a revision of it. + // Prior to the release of Managing auto scaling (https://docs.aws.amazon.com/apprunner/latest/relnotes/release-yyyy-mm-dd-asc-improvements.html), + // the name DefaultConfiguration was reserved. // - // When you want to use your own auto scaling configuration for your App Runner - // service, create a configuration with a different name, and then provide it - // when you create or update your service. + // This restriction is no longer in place. You can now manage DefaultConfiguration + // the same way you manage your custom auto scaling configurations. This means + // you can do the following with the DefaultConfiguration that App Runner provides: + // + // * Create new revisions of the DefaultConfiguration. + // + // * Delete the revisions of the DefaultConfiguration. + // + // * Delete the auto scaling configuration for which the App Runner DefaultConfiguration + // was created. + // + // * If you delete the auto scaling configuration you can create another + // custom auto scaling configuration with the same DefaultConfiguration name. + // The original DefaultConfiguration resource provided by App Runner remains + // in your account unless you make changes to it. // // AutoScalingConfigurationName is a required field AutoScalingConfigurationName *string `min:"4" type:"string" required:"true"` @@ -5566,6 +5881,13 @@ type DeleteAutoScalingConfigurationInput struct { // // AutoScalingConfigurationArn is a required field AutoScalingConfigurationArn *string `min:"1" type:"string" required:"true"` + + // Set to true to delete all of the revisions associated with the AutoScalingConfigurationArn + // parameter value. + // + // When DeleteAllRevisions is set to true, the only valid value for the Amazon + // Resource Name (ARN) is a partial ARN ending with: .../name. + DeleteAllRevisions *bool `type:"boolean"` } // String returns the string representation. @@ -5608,6 +5930,12 @@ func (s *DeleteAutoScalingConfigurationInput) SetAutoScalingConfigurationArn(v s return s } +// SetDeleteAllRevisions sets the DeleteAllRevisions field's value. +func (s *DeleteAutoScalingConfigurationInput) SetDeleteAllRevisions(v bool) *DeleteAutoScalingConfigurationInput { + s.DeleteAllRevisions = &v + return s +} + type DeleteAutoScalingConfigurationOutput struct { _ struct{} `type:"structure"` @@ -8052,6 +8380,136 @@ func (s *ListOperationsOutput) SetOperationSummaryList(v []*OperationSummary) *L return s } +type ListServicesForAutoScalingConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the App Runner auto scaling configuration + // that you want to list the services for. + // + // The ARN can be a full auto scaling configuration ARN, or a partial ARN ending + // with either .../name or .../name/revision . If a revision isn't specified, + // the latest active revision is used. + // + // AutoScalingConfigurationArn is a required field + AutoScalingConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to include in each response (result page). + // It's used for a paginated request. + // + // If you don't specify MaxResults, the request retrieves all available results + // in a single response. + MaxResults *int64 `min:"1" type:"integer"` + + // A token from a previous result page. It's used for a paginated request. The + // request retrieves the next result page. All other parameter values must be + // identical to the ones specified in the initial request. + // + // If you don't specify NextToken, the request retrieves the first result page. + NextToken *string `min:"1" 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 ListServicesForAutoScalingConfigurationInput) 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 ListServicesForAutoScalingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListServicesForAutoScalingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListServicesForAutoScalingConfigurationInput"} + if s.AutoScalingConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingConfigurationArn")) + } + if s.AutoScalingConfigurationArn != nil && len(*s.AutoScalingConfigurationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingConfigurationArn", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingConfigurationArn sets the AutoScalingConfigurationArn field's value. +func (s *ListServicesForAutoScalingConfigurationInput) SetAutoScalingConfigurationArn(v string) *ListServicesForAutoScalingConfigurationInput { + s.AutoScalingConfigurationArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListServicesForAutoScalingConfigurationInput) SetMaxResults(v int64) *ListServicesForAutoScalingConfigurationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServicesForAutoScalingConfigurationInput) SetNextToken(v string) *ListServicesForAutoScalingConfigurationInput { + s.NextToken = &v + return s +} + +type ListServicesForAutoScalingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The token that you can pass in a subsequent request to get the next result + // page. It's returned in a paginated request. + NextToken *string `min:"1" type:"string"` + + // A list of service ARN records. In a paginated request, the request returns + // up to MaxResults records for each call. + // + // ServiceArnList is a required field + ServiceArnList []*string `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 ListServicesForAutoScalingConfigurationOutput) 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 ListServicesForAutoScalingConfigurationOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServicesForAutoScalingConfigurationOutput) SetNextToken(v string) *ListServicesForAutoScalingConfigurationOutput { + s.NextToken = &v + return s +} + +// SetServiceArnList sets the ServiceArnList field's value. +func (s *ListServicesForAutoScalingConfigurationOutput) SetServiceArnList(v []*string) *ListServicesForAutoScalingConfigurationOutput { + s.ServiceArnList = v + return s +} + type ListServicesInput struct { _ struct{} `type:"structure"` @@ -10093,6 +10551,94 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDefaultAutoScalingConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the App Runner auto scaling configuration + // that you want to set as the default. + // + // The ARN can be a full auto scaling configuration ARN, or a partial ARN ending + // with either .../name or .../name/revision . If a revision isn't specified, + // the latest active revision is set as the default. + // + // AutoScalingConfigurationArn is a required field + AutoScalingConfigurationArn *string `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 UpdateDefaultAutoScalingConfigurationInput) 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 UpdateDefaultAutoScalingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDefaultAutoScalingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDefaultAutoScalingConfigurationInput"} + if s.AutoScalingConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingConfigurationArn")) + } + if s.AutoScalingConfigurationArn != nil && len(*s.AutoScalingConfigurationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingConfigurationArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingConfigurationArn sets the AutoScalingConfigurationArn field's value. +func (s *UpdateDefaultAutoScalingConfigurationInput) SetAutoScalingConfigurationArn(v string) *UpdateDefaultAutoScalingConfigurationInput { + s.AutoScalingConfigurationArn = &v + return s +} + +type UpdateDefaultAutoScalingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // A description of the App Runner auto scaling configuration that was set as + // default. + // + // AutoScalingConfiguration is a required field + AutoScalingConfiguration *AutoScalingConfiguration `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 UpdateDefaultAutoScalingConfigurationOutput) 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 UpdateDefaultAutoScalingConfigurationOutput) GoString() string { + return s.String() +} + +// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value. +func (s *UpdateDefaultAutoScalingConfigurationOutput) SetAutoScalingConfiguration(v *AutoScalingConfiguration) *UpdateDefaultAutoScalingConfigurationOutput { + s.AutoScalingConfiguration = v + return s +} + type UpdateServiceInput struct { _ struct{} `type:"structure"` diff --git a/service/apprunner/apprunneriface/interface.go b/service/apprunner/apprunneriface/interface.go index d67543d1c2e..57b652435ac 100644 --- a/service/apprunner/apprunneriface/interface.go +++ b/service/apprunner/apprunneriface/interface.go @@ -178,6 +178,13 @@ type AppRunnerAPI interface { ListServicesPages(*apprunner.ListServicesInput, func(*apprunner.ListServicesOutput, bool) bool) error ListServicesPagesWithContext(aws.Context, *apprunner.ListServicesInput, func(*apprunner.ListServicesOutput, bool) bool, ...request.Option) error + ListServicesForAutoScalingConfiguration(*apprunner.ListServicesForAutoScalingConfigurationInput) (*apprunner.ListServicesForAutoScalingConfigurationOutput, error) + ListServicesForAutoScalingConfigurationWithContext(aws.Context, *apprunner.ListServicesForAutoScalingConfigurationInput, ...request.Option) (*apprunner.ListServicesForAutoScalingConfigurationOutput, error) + ListServicesForAutoScalingConfigurationRequest(*apprunner.ListServicesForAutoScalingConfigurationInput) (*request.Request, *apprunner.ListServicesForAutoScalingConfigurationOutput) + + ListServicesForAutoScalingConfigurationPages(*apprunner.ListServicesForAutoScalingConfigurationInput, func(*apprunner.ListServicesForAutoScalingConfigurationOutput, bool) bool) error + ListServicesForAutoScalingConfigurationPagesWithContext(aws.Context, *apprunner.ListServicesForAutoScalingConfigurationInput, func(*apprunner.ListServicesForAutoScalingConfigurationOutput, bool) bool, ...request.Option) error + ListTagsForResource(*apprunner.ListTagsForResourceInput) (*apprunner.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *apprunner.ListTagsForResourceInput, ...request.Option) (*apprunner.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*apprunner.ListTagsForResourceInput) (*request.Request, *apprunner.ListTagsForResourceOutput) @@ -216,6 +223,10 @@ type AppRunnerAPI interface { UntagResourceWithContext(aws.Context, *apprunner.UntagResourceInput, ...request.Option) (*apprunner.UntagResourceOutput, error) UntagResourceRequest(*apprunner.UntagResourceInput) (*request.Request, *apprunner.UntagResourceOutput) + UpdateDefaultAutoScalingConfiguration(*apprunner.UpdateDefaultAutoScalingConfigurationInput) (*apprunner.UpdateDefaultAutoScalingConfigurationOutput, error) + UpdateDefaultAutoScalingConfigurationWithContext(aws.Context, *apprunner.UpdateDefaultAutoScalingConfigurationInput, ...request.Option) (*apprunner.UpdateDefaultAutoScalingConfigurationOutput, error) + UpdateDefaultAutoScalingConfigurationRequest(*apprunner.UpdateDefaultAutoScalingConfigurationInput) (*request.Request, *apprunner.UpdateDefaultAutoScalingConfigurationOutput) + UpdateService(*apprunner.UpdateServiceInput) (*apprunner.UpdateServiceOutput, error) UpdateServiceWithContext(aws.Context, *apprunner.UpdateServiceInput, ...request.Option) (*apprunner.UpdateServiceOutput, error) UpdateServiceRequest(*apprunner.UpdateServiceInput) (*request.Request, *apprunner.UpdateServiceOutput) diff --git a/service/cloudwatchlogs/api.go b/service/cloudwatchlogs/api.go index fe23834dad8..2571d012832 100644 --- a/service/cloudwatchlogs/api.go +++ b/service/cloudwatchlogs/api.go @@ -396,8 +396,8 @@ func (c *CloudWatchLogs) CreateLogGroupRequest(input *CreateLogGroupInput) (req // CreateLogGroup API operation for Amazon CloudWatch Logs. // -// Creates a log group with the specified name. You can create up to 20,000 -// log groups per account. +// Creates a log group with the specified name. You can create up to 1,000,000 +// log groups per Region per account. // // You must use the following guidelines when naming a log group: // @@ -4279,9 +4279,8 @@ func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (re // or requestID as dimensions. Each different value found for a dimension is // treated as a separate metric and accrues charges as a separate custom metric. // -// CloudWatch Logs disables a metric filter if it generates 1,000 different -// name/value pairs for your specified dimensions within a certain amount of -// time. This helps to prevent accidental high charges. +// CloudWatch Logs might disable a metric filter if it generates 1,000 different +// name/value pairs for your specified dimensions within one hour. // // You can also set up a billing alarm to alert you if your charges are higher // than expected. For more information, see Creating a Billing Alarm to Monitor @@ -4580,6 +4579,12 @@ func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInpu // after the previous retention period ends. Alternatively, wait to change the // retention setting until you confirm that the earlier log events are deleted. // +// When log events reach their retention setting they are marked for deletion. +// After they are marked for deletion, they do not add to your archival storage +// costs anymore, even if they are not actually deleted until later. These log +// events marked for deletion are also not included when you use an API to retrieve +// the storedBytes value to see how many bytes a log group is storing. +// // 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. @@ -11480,6 +11485,10 @@ func (s PutMetricFilterOutput) GoString() string { type PutQueryDefinitionInput struct { _ struct{} `type:"structure"` + // Used as an idempotency token, to avoid returning an exception if the service + // receives the same request twice because of a network error. + ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // Use this parameter to include specific log groups as part of your query definition. // // If you are updating a query definition and you omit this parameter, then @@ -11532,6 +11541,9 @@ func (s PutQueryDefinitionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *PutQueryDefinitionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutQueryDefinitionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -11551,6 +11563,12 @@ func (s *PutQueryDefinitionInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *PutQueryDefinitionInput) SetClientToken(v string) *PutQueryDefinitionInput { + s.ClientToken = &v + return s +} + // SetLogGroupNames sets the LogGroupNames field's value. func (s *PutQueryDefinitionInput) SetLogGroupNames(v []*string) *PutQueryDefinitionInput { s.LogGroupNames = v diff --git a/service/codeartifact/api.go b/service/codeartifact/api.go index 127eb0b1bb4..f14acb81855 100644 --- a/service/codeartifact/api.go +++ b/service/codeartifact/api.go @@ -12249,6 +12249,9 @@ const ( // PackageFormatGeneric is a PackageFormat enum value PackageFormatGeneric = "generic" + + // PackageFormatSwift is a PackageFormat enum value + PackageFormatSwift = "swift" ) // PackageFormat_Values returns all elements of the PackageFormat enum @@ -12259,6 +12262,7 @@ func PackageFormat_Values() []string { PackageFormatMaven, PackageFormatNuget, PackageFormatGeneric, + PackageFormatSwift, } } diff --git a/service/kinesisvideo/api.go b/service/kinesisvideo/api.go index 1ab213cc979..4d5c3ef9258 100644 --- a/service/kinesisvideo/api.go +++ b/service/kinesisvideo/api.go @@ -954,6 +954,9 @@ func (c *KinesisVideo) DescribeMediaStorageConfigurationRequest(input *DescribeM // DescribeMediaStorageConfiguration API operation for Amazon Kinesis Video Streams. // +// This API is related to WebRTC Ingestion (https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) +// and is only available in the us-west-2 region. +// // Returns the most current information about the channel. Specify the ChannelName // or ChannelARN in the input. // @@ -2158,6 +2161,10 @@ func (c *KinesisVideo) StartEdgeConfigurationUpdateRequest(input *StartEdgeConfi // will be retried for 15 minutes. After 15 minutes, the status will transition // into the SYNC_FAILED state. // +// To move an edge configuration from one device to another, use DeleteEdgeConfiguration +// to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate +// with an updated Hub Device 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. @@ -2895,6 +2902,9 @@ func (c *KinesisVideo) UpdateMediaStorageConfigurationRequest(input *UpdateMedia // UpdateMediaStorageConfiguration API operation for Amazon Kinesis Video Streams. // +// This API is related to WebRTC Ingestion (https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) +// and is only available in the us-west-2 region. +// // Associates a SignalingChannel to a stream to store the media. There are two // signaling modes that can specified : // @@ -5510,10 +5520,9 @@ type ImageGenerationConfiguration struct { ImageSelectorType *string `type:"string" required:"true" enum:"ImageSelectorType"` // The time interval in milliseconds (ms) at which the images need to be generated - // from the stream. The minimum value that can be provided is 33 ms, because - // a camera that generates content at 30 FPS would create a frame every 33.3 - // ms. If the timestamp range is less than the sampling interval, the Image - // from the StartTimestamp will be returned if available. + // from the stream. The minimum value that can be provided is 200 ms. If the + // timestamp range is less than the sampling interval, the Image from the StartTimestamp + // will be returned if available. // // SamplingInterval is a required field SamplingInterval *int64 `type:"integer" required:"true"` diff --git a/service/s3/api.go b/service/s3/api.go index 2882d45568f..188e37fdcf1 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -478,9 +478,12 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) // in the Amazon S3 User Guide. // -// If the source object's storage class is GLACIER, you must restore a copy -// of this object before you can use it as a source object for the copy operation. -// For more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html). +// If the source object's storage class is GLACIER or DEEP_ARCHIVE, or the object's +// storage class is INTELLIGENT_TIERING and it's S3 Intelligent-Tiering access +// tier (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition) +// is Archive Access or Deep Archive Access, you must restore a copy of this +// object before you can use it as a source object for the copy operation. For +// more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html). // For more information, see Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html). // // # Versioning @@ -593,11 +596,12 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html). // // By default, the bucket is created in the US East (N. Virginia) Region. You -// can optionally specify a Region in the request body. You might choose a Region -// to optimize latency, minimize costs, or address regulatory requirements. -// For example, if you reside in Europe, you will probably find it advantageous -// to create buckets in the Europe (Ireland) Region. For more information, see -// Accessing a bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). +// can optionally specify a Region in the request body. To constrain the bucket +// creation to a specific Region, you can use LocationConstraint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketConfiguration.html) +// condition key. You might choose a Region to optimize latency, minimize costs, +// or address regulatory requirements. For example, if you reside in Europe, +// you will probably find it advantageous to create buckets in the Europe (Ireland) +// Region. For more information, see Accessing a bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). // // If you send your create bucket request to the s3.amazonaws.com endpoint, // the request goes to the us-east-1 Region. Accordingly, the signature calculations @@ -7646,15 +7650,13 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r // By default, all buckets have a default encryption configuration that uses // server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally // configure default encryption for a bucket by using server-side encryption -// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side -// encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption -// with customer-provided keys (SSE-C). If you specify default encryption by -// using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information -// about bucket default encryption, see Amazon S3 bucket default encryption -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) -// in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see -// Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) -// in the Amazon S3 User Guide. +// with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side +// encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify default +// encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html). If you +// use PutBucketEncryption to set your default bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) +// to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 +// does not validate the KMS key ID provided in PutBucketEncryption requests. // // This action requires Amazon Web Services Signature Version 4. For more information, // see Authenticating Requests (Amazon Web Services Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html). @@ -8941,6 +8943,9 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req // configuration, you provide the name of the destination bucket or buckets // where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 // can assume to replicate objects on your behalf, and other relevant information. +// You can invoke this request for a specific Amazon Web Services Region by +// using the aws:RequestedRegion (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion) +// condition key. // // A replication configuration must include at least one rule, and can contain // a maximum of 1,000. Each rule identifies a subset of objects to replicate @@ -9167,7 +9172,7 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request // name, and then organize your billing information to see the total cost of // that application across several services. For more information, see Cost // Allocation and Tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) -// and Using Cost Allocation in Amazon S3 Bucket Tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html). +// and Using Cost Allocation in Amazon S3 Bucket Tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html). // // When this operation sets the tags for a bucket, it will overwrite any current // tags the bucket already has. You cannot use this operation to add tags to @@ -9179,22 +9184,20 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request // Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). // -// PutBucketTagging has the following special errors: +// PutBucketTagging has the following special errors. For more Amazon S3 errors +// see, Error Responses (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html). // -// - Error code: InvalidTagError Description: The tag provided was not a -// valid tag. This error can occur if the tag did not pass input validation. -// For information about tag restrictions, see User-Defined Tag Restrictions -// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) -// and Amazon Web Services-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). +// - InvalidTag - The tag provided was not a valid tag. This error can occur +// if the tag did not pass input validation. For more information, see Using +// Cost Allocation in Amazon S3 Bucket Tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html). // -// - Error code: MalformedXMLError Description: The XML provided does not -// match the schema. +// - MalformedXML - The XML provided does not match the schema. // -// - Error code: OperationAbortedError Description: A conflicting conditional -// action is currently in progress against this resource. Please try again. +// - OperationAborted - A conflicting conditional action is currently in +// progress against this resource. Please try again. // -// - Error code: InternalError Description: The service was unable to apply -// the provided tag to the bucket. +// - InternalError - The service was unable to apply the provided tag to +// the bucket. // // The following operations are related to PutBucketTagging: // @@ -9456,6 +9459,8 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request // more information, see Configuring an Object Redirect (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) // in the Amazon S3 User Guide. // +// The maximum request length is limited to 128 KB. +// // 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. @@ -10116,12 +10121,13 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request // PutObjectTagging API operation for Amazon Simple Storage Service. // -// Sets the supplied tag-set to an object that already exists in a bucket. +// Sets the supplied tag-set to an object that already exists in a bucket. A +// tag is a key-value pair. For more information, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). // -// A tag is a key-value pair. You can associate tags with an object by sending -// a PUT request against the tagging subresource that is associated with the -// object. You can retrieve tags by sending a GET request. For more information, -// see GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html). +// You can associate tags with an object by sending a PUT request against the +// tagging subresource that is associated with the object. You can retrieve +// tags by sending a GET request. For more information, see GetObjectTagging +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html). // // For tagging-related restrictions related to characters and encodings, see // Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html). @@ -10134,22 +10140,20 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request // To put tags of any other version, use the versionId query parameter. You // also need permission for the s3:PutObjectVersionTagging action. // -// For information about the Amazon S3 object tagging feature, see Object Tagging -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html). -// -// PutObjectTagging has the following special errors: +// PutObjectTagging has the following special errors. For more Amazon S3 errors +// see, Error Responses (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html). // -// - Code: InvalidTagError Cause: The tag provided was not a valid tag. This -// error can occur if the tag did not pass input validation. For more information, -// see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html). +// - InvalidTag - The tag provided was not a valid tag. This error can occur +// if the tag did not pass input validation. For more information, see Object +// Tagging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). // -// - Code: MalformedXMLError Cause: The XML provided does not match the schema. +// - MalformedXML - The XML provided does not match the schema. // -// - Code: OperationAbortedError Cause: A conflicting conditional action -// is currently in progress against this resource. Please try again. +// - OperationAborted - A conflicting conditional action is currently in +// progress against this resource. Please try again. // -// - Code: InternalError Cause: The service was unable to apply the provided -// tag to the object. +// - InternalError - The service was unable to apply the provided tag to +// the object. // // The following operations are related to PutObjectTagging: // @@ -10242,7 +10246,7 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req // or an object, it checks the PublicAccessBlock configuration for both the // bucket (or the bucket that contains the object) and the bucket owner's account. // If the PublicAccessBlock configurations are different between the bucket -// and the account, Amazon S3 uses the most restrictive combination of the bucket-level +// and the account, S3 uses the most restrictive combination of the bucket-level // and account-level settings. // // For more information about when Amazon S3 considers a bucket or an object @@ -11399,7 +11403,9 @@ type AbortMultipartUploadInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -12819,7 +12825,9 @@ type CompleteMultipartUploadInput struct { MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -13634,7 +13642,9 @@ type CopyObjectInput struct { ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -13669,11 +13679,11 @@ type CopyObjectInput struct { // String and GoString methods. SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` - // Specifies the KMS key ID to use for object encryption. All GET and PUT requests - // for an object protected by KMS will fail if they're not made via SSL or using - // SigV4. For information about configuring any of the officially supported - // Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the - // Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) + // Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object encryption. + // All GET and PUT requests for an object protected by KMS will fail if they're + // not made via SSL or using SigV4. For information about configuring any of + // the officially supported Amazon Web Services SDKs and Amazon Web Services + // CLI, see Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // in the Amazon S3 User Guide. // // SSEKMSKeyId is a sensitive parameter and its value will be @@ -13685,11 +13695,12 @@ type CopyObjectInput struct { // S3 (for example, AES256, aws:kms, aws:kms:dsse). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` - // By default, Amazon S3 uses the STANDARD Storage Class to store newly created - // objects. The STANDARD storage class provides high durability and high availability. - // Depending on performance needs, you can specify a different Storage Class. - // Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, - // see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) + // If the x-amz-storage-class header is not used, the copied object will be + // stored in the STANDARD Storage Class by default. The STANDARD storage class + // provides high durability and high availability. Depending on performance + // needs, you can specify a different Storage Class. Amazon S3 on Outposts only + // uses the OUTPOSTS Storage Class. For more information, see Storage Classes + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) // in the Amazon S3 User Guide. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` @@ -14704,7 +14715,9 @@ type CreateMultipartUploadInput struct { ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -14739,12 +14752,12 @@ type CreateMultipartUploadInput struct { // String and GoString methods. SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` - // Specifies the ID of the symmetric encryption customer managed key to use - // for object encryption. All GET and PUT requests for an object protected by - // KMS will fail if they're not made via SSL or using SigV4. For information - // about configuring any of the officially supported Amazon Web Services SDKs - // and Amazon Web Services CLI, see Specifying the Signature Version in Request - // Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) + // Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption + // customer managed key to use for object encryption. All GET and PUT requests + // for an object protected by KMS will fail if they're not made via SSL or using + // SigV4. For information about configuring any of the officially supported + // Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the + // Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // in the Amazon S3 User Guide. // // SSEKMSKeyId is a sensitive parameter and its value will be @@ -17066,7 +17079,9 @@ type DeleteObjectInput struct { MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -17195,8 +17210,10 @@ func (s DeleteObjectInput) updateArnableField(v string) (interface{}, error) { type DeleteObjectOutput struct { _ struct{} `type:"structure"` - // Specifies whether the versioned object that was permanently deleted was (true) - // or was not (false) a delete marker. + // Indicates whether the specified object version that was permanently deleted + // was (true) or was not (false) a delete marker before deletion. In a simple + // DELETE, this header indicates whether (true) or not (false) the current version + // of the object is a delete marker. DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` // If present, indicates that the requester was successfully charged for the @@ -17480,7 +17497,9 @@ type DeleteObjectsInput struct { MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -17777,9 +17796,10 @@ func (s DeletePublicAccessBlockOutput) GoString() string { type DeletedObject struct { _ struct{} `type:"structure"` - // Specifies whether the versioned object that was permanently deleted was (true) - // or was not (false) a delete marker. In a simple DELETE, this header indicates - // whether (true) or not (false) a delete marker was created. + // Indicates whether the specified object version that was permanently deleted + // was (true) or was not (false) a delete marker before deletion. In a simple + // DELETE, this header indicates whether (true) or not (false) the current version + // of the object is a delete marker. DeleteMarker *bool `type:"boolean"` // The version ID of the delete marker created as a result of the DELETE operation. @@ -18737,7 +18757,9 @@ type GetBucketAccelerateConfigurationInput struct { ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -21517,7 +21539,9 @@ type GetObjectAclInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -21728,7 +21752,9 @@ type GetObjectAttributesInput struct { PartNumberMarker *int64 `location:"header" locationName:"x-amz-part-number-marker" type:"integer"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -22168,7 +22194,9 @@ type GetObjectInput struct { Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -22450,7 +22478,9 @@ type GetObjectLegalHoldInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -23152,7 +23182,9 @@ type GetObjectRetentionInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -23331,7 +23363,9 @@ type GetObjectTaggingInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -23507,7 +23541,9 @@ type GetObjectTorrentInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -24194,7 +24230,9 @@ type HeadObjectInput struct { Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -27107,7 +27145,9 @@ type ListMultipartUploadsInput struct { Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -27459,7 +27499,9 @@ type ListObjectVersionsInput struct { Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -28530,7 +28572,9 @@ type ListPartsInput struct { PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -29893,7 +29937,7 @@ type Object struct { RestoreStatus *RestoreStatus `type:"structure"` // Size in bytes of the object - Size *int64 `type:"integer"` + Size *int64 `type:"long"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"ObjectStorageClass"` @@ -30221,7 +30265,7 @@ type ObjectPart struct { PartNumber *int64 `type:"integer"` // The size of the uploaded part in bytes. - Size *int64 `type:"integer"` + Size *int64 `type:"long"` } // String returns the string representation. @@ -30309,7 +30353,7 @@ type ObjectVersion struct { RestoreStatus *RestoreStatus `type:"structure"` // Size in bytes of the object. - Size *int64 `type:"integer"` + Size *int64 `type:"long"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"` @@ -30727,7 +30771,7 @@ type Part struct { PartNumber *int64 `type:"integer"` // Size in bytes of the uploaded part data. - Size *int64 `type:"integer"` + Size *int64 `type:"long"` } // String returns the string representation. @@ -34324,7 +34368,9 @@ type PutObjectAclInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -34693,7 +34739,9 @@ type PutObjectInput struct { ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -34731,9 +34779,9 @@ type PutObjectInput struct { SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` // If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, - // this header specifies the ID of the Key Management Service (KMS) symmetric - // encryption customer managed key that was used for the object. If you specify - // x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, + // this header specifies the ID (Key ID, Key ARN, or Key Alias) of the Key Management + // Service (KMS) symmetric encryption customer managed key that was used for + // the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, // but do not providex-amz-server-side-encryption-aws-kms-key-id, Amazon S3 // uses the Amazon Web Services managed key (aws/s3) to protect the data. If // the KMS key does not exist in the same account that's issuing the command, @@ -35136,7 +35184,9 @@ type PutObjectLegalHoldInput struct { LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -35332,7 +35382,9 @@ type PutObjectLockConfigurationInput struct { ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -35723,7 +35775,9 @@ type PutObjectRetentionInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -35946,7 +36000,9 @@ type PutObjectTaggingInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -37329,7 +37385,9 @@ type RestoreObjectInput struct { Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -38574,7 +38632,15 @@ type ServerSideEncryptionByDefault struct { // KMS key ID to use for the default encryption. This parameter is allowed if // and only if SSEAlgorithm is set to aws:kms. // - // You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. + // You can specify the key ID, key alias, or the Amazon Resource Name (ARN) + // of the KMS key. + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key Alias: alias/alias-name + // // If you use a key ID, you can run into a LogDestination undeliverable error // when creating a VPC flow log. // @@ -38582,10 +38648,6 @@ type ServerSideEncryptionByDefault struct { // operations you must use a fully qualified KMS key ARN. For more information, // see Using encryption for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy). // - // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - // - // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - // // Amazon S3 only supports symmetric encryption KMS keys. For more information, // see Asymmetric keys in Amazon Web Services KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Amazon Web Services Key Management Service Developer Guide. @@ -39697,7 +39759,9 @@ type UploadPartCopyInput struct { PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -40148,7 +40212,9 @@ type UploadPartInput struct { PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -40845,9 +40911,9 @@ type WriteGetObjectResponseInput struct { // server-side encryption with customer-provided encryption keys (SSE-C) (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html). SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5" type:"string"` - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that - // was used for stored in Amazon S3 object. + // If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon + // Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption + // customer managed key that was used for stored in Amazon S3 object. // // SSEKMSKeyId is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by WriteGetObjectResponseInput's @@ -42356,7 +42422,9 @@ func RequestCharged_Values() []string { } // Confirms that the requester knows that they will be charged for the request. -// Bucket owners need not specify this parameter in their requests. For information +// Bucket owners need not specify this parameter in their requests. If either +// the source or destination Amazon S3 bucket has Requester Pays enabled, the +// requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. diff --git a/service/s3/examples_test.go b/service/s3/examples_test.go index 239ff70cbea..1552ad38a69 100644 --- a/service/s3/examples_test.go +++ b/service/s3/examples_test.go @@ -125,12 +125,16 @@ func ExampleS3_CopyObject_shared00() { fmt.Println(result) } -// To create a bucket -// The following example creates a bucket. +// To create a bucket in a specific region +// The following example creates a bucket. The request specifies an AWS region where +// to create the bucket. func ExampleS3_CreateBucket_shared00() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), + CreateBucketConfiguration: &s3.CreateBucketConfiguration{ + LocationConstraint: aws.String("eu-west-1"), + }, } result, err := svc.CreateBucket(input) @@ -155,16 +159,12 @@ func ExampleS3_CreateBucket_shared00() { fmt.Println(result) } -// To create a bucket in a specific region -// The following example creates a bucket. The request specifies an AWS region where -// to create the bucket. +// To create a bucket +// The following example creates a bucket. func ExampleS3_CreateBucket_shared01() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), - CreateBucketConfiguration: &s3.CreateBucketConfiguration{ - LocationConstraint: aws.String("eu-west-1"), - }, } result, err := svc.CreateBucket(input) @@ -398,13 +398,13 @@ func ExampleS3_DeleteBucketWebsite_shared00() { fmt.Println(result) } -// To delete an object -// The following example deletes an object from an S3 bucket. +// To delete an object (from a non-versioned bucket) +// The following example deletes an object from a non-versioned bucket. func ExampleS3_DeleteObject_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey.jpg"), + Bucket: aws.String("ExampleBucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObject(input) @@ -425,13 +425,13 @@ func ExampleS3_DeleteObject_shared00() { fmt.Println(result) } -// To delete an object (from a non-versioned bucket) -// The following example deletes an object from a non-versioned bucket. +// To delete an object +// The following example deletes an object from an S3 bucket. func ExampleS3_DeleteObject_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("ExampleBucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("objectkey.jpg"), } result, err := svc.DeleteObject(input) @@ -452,15 +452,15 @@ func ExampleS3_DeleteObject_shared01() { fmt.Println(result) } -// To remove tag set from an object version -// The following example removes tag set associated with the specified object version. -// The request specifies both the object key and object version. +// To remove tag set from an object +// The following example removes tag set associated with the specified object. If the +// bucket is versioning enabled, the operation removes tag set from the latest object +// version. func ExampleS3_DeleteObjectTagging_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObjectTagging(input) @@ -481,15 +481,15 @@ func ExampleS3_DeleteObjectTagging_shared00() { fmt.Println(result) } -// To remove tag set from an object -// The following example removes tag set associated with the specified object. If the -// bucket is versioning enabled, the operation removes tag set from the latest object -// version. +// To remove tag set from an object version +// The following example removes tag set associated with the specified object version. +// The request specifies both the object key and object version. func ExampleS3_DeleteObjectTagging_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), } result, err := svc.DeleteObjectTagging(input) @@ -510,10 +510,10 @@ func ExampleS3_DeleteObjectTagging_shared01() { fmt.Println(result) } -// To delete multiple objects from a versioned bucket -// The following example deletes objects from a bucket. The bucket is versioned, and -// the request does not specify the object version to delete. In this case, all versions -// remain in the bucket and S3 adds a delete marker. +// To delete multiple object versions from a versioned bucket +// The following example deletes objects from a bucket. The request specifies object +// versions. S3 deletes specific object versions and returns the key and versions of +// deleted objects in the response. func ExampleS3_DeleteObjects_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectsInput{ @@ -521,10 +521,12 @@ func ExampleS3_DeleteObjects_shared00() { Delete: &s3.Delete{ Objects: []*s3.ObjectIdentifier{ { - Key: aws.String("objectkey1"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b"), }, { - Key: aws.String("objectkey2"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd"), }, }, Quiet: aws.Bool(false), @@ -549,10 +551,10 @@ func ExampleS3_DeleteObjects_shared00() { fmt.Println(result) } -// To delete multiple object versions from a versioned bucket -// The following example deletes objects from a bucket. The request specifies object -// versions. S3 deletes specific object versions and returns the key and versions of -// deleted objects in the response. +// To delete multiple objects from a versioned bucket +// The following example deletes objects from a bucket. The bucket is versioned, and +// the request does not specify the object version to delete. In this case, all versions +// remain in the bucket and S3 adds a delete marker. func ExampleS3_DeleteObjects_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectsInput{ @@ -560,12 +562,10 @@ func ExampleS3_DeleteObjects_shared01() { Delete: &s3.Delete{ Objects: []*s3.ObjectIdentifier{ { - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b"), + Key: aws.String("objectkey1"), }, { - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd"), + Key: aws.String("objectkey2"), }, }, Quiet: aws.Bool(false), @@ -996,15 +996,13 @@ func ExampleS3_GetObjectAcl_shared00() { fmt.Println(result) } -// To retrieve tag set of a specific object version -// The following example retrieves tag set of an object. The request specifies object -// version. +// To retrieve tag set of an object +// The following example retrieves tag set of an object. func ExampleS3_GetObjectTagging_shared00() { svc := s3.New(session.New()) input := &s3.GetObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.GetObjectTagging(input) @@ -1025,13 +1023,15 @@ func ExampleS3_GetObjectTagging_shared00() { fmt.Println(result) } -// To retrieve tag set of an object -// The following example retrieves tag set of an object. +// To retrieve tag set of a specific object version +// The following example retrieves tag set of an object. The request specifies object +// version. func ExampleS3_GetObjectTagging_shared01() { svc := s3.New(session.New()) input := &s3.GetObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), } result, err := svc.GetObjectTagging(input) @@ -1748,17 +1748,16 @@ func ExampleS3_PutBucketWebsite_shared00() { fmt.Println(result) } -// To upload an object (specify optional headers) -// The following example uploads an object. The request specifies optional request headers -// to directs S3 to use specific storage class and use server-side encryption. +// To upload an object +// The following example uploads an object to a versioning-enabled bucket. The source +// file is specified using Windows file syntax. S3 returns VersionId of the newly created +// object. func ExampleS3_PutObject_shared00() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - ServerSideEncryption: aws.String("AES256"), - StorageClass: aws.String("STANDARD_IA"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.PutObject(input) @@ -1779,16 +1778,18 @@ func ExampleS3_PutObject_shared00() { fmt.Println(result) } -// To upload an object and specify optional tags -// The following example uploads an object. The request specifies optional object tags. -// The bucket is versioned, therefore S3 returns version ID of the newly created object. +// To upload an object and specify server-side encryption and object tags +// The following example uploads an object. The request specifies the optional server-side +// encryption option. The request also specifies optional object tags. If the bucket +// is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared01() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + ServerSideEncryption: aws.String("AES256"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1809,18 +1810,15 @@ func ExampleS3_PutObject_shared01() { fmt.Println(result) } -// To upload an object and specify server-side encryption and object tags -// The following example uploads an object. The request specifies the optional server-side -// encryption option. The request also specifies optional object tags. If the bucket -// is versioning enabled, S3 returns version ID in response. +// To create an object. +// The following example creates an object. If the bucket is versioning enabled, S3 +// returns version ID in response. func ExampleS3_PutObject_shared02() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - ServerSideEncryption: aws.String("AES256"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("objectkey"), } result, err := svc.PutObject(input) @@ -1841,15 +1839,19 @@ func ExampleS3_PutObject_shared02() { fmt.Println(result) } -// To create an object. -// The following example creates an object. If the bucket is versioning enabled, S3 -// returns version ID in response. +// To upload object and specify user-defined metadata +// The following example creates an object. The request also specifies optional metadata. +// If the bucket is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared03() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey"), + Key: aws.String("exampleobject"), + Metadata: map[string]*string{ + "metadata1": aws.String("value1"), + "metadata2": aws.String("value2"), + }, } result, err := svc.PutObject(input) @@ -1870,16 +1872,16 @@ func ExampleS3_PutObject_shared03() { fmt.Println(result) } -// To upload an object -// The following example uploads an object to a versioning-enabled bucket. The source -// file is specified using Windows file syntax. S3 returns VersionId of the newly created -// object. +// To upload an object and specify optional tags +// The following example uploads an object. The request specifies optional object tags. +// The bucket is versioned, therefore S3 returns version ID of the newly created object. func ExampleS3_PutObject_shared04() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1931,19 +1933,17 @@ func ExampleS3_PutObject_shared05() { fmt.Println(result) } -// To upload object and specify user-defined metadata -// The following example creates an object. The request also specifies optional metadata. -// If the bucket is versioning enabled, S3 returns version ID in response. +// To upload an object (specify optional headers) +// The following example uploads an object. The request specifies optional request headers +// to directs S3 to use specific storage class and use server-side encryption. func ExampleS3_PutObject_shared06() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - Metadata: map[string]*string{ - "metadata1": aws.String("value1"), - "metadata2": aws.String("value2"), - }, + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + ServerSideEncryption: aws.String("AES256"), + StorageClass: aws.String("STANDARD_IA"), } result, err := svc.PutObject(input) diff --git a/service/s3/s3manager/upload_input.go b/service/s3/s3manager/upload_input.go index 0086334985d..54c4fb3ece8 100644 --- a/service/s3/s3manager/upload_input.go +++ b/service/s3/s3manager/upload_input.go @@ -187,7 +187,9 @@ type UploadInput struct { ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that they will be charged for the request. - // Bucket owners need not specify this parameter in their requests. For information + // Bucket owners need not specify this parameter in their requests. If either + // the source or destination Amazon S3 bucket has Requester Pays enabled, the + // requester will pay for corresponding charges to copy the object. For information // about downloading objects from Requester Pays buckets, see Downloading Objects // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // in the Amazon S3 User Guide. @@ -217,9 +219,9 @@ type UploadInput struct { SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` // If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, - // this header specifies the ID of the Key Management Service (KMS) symmetric - // encryption customer managed key that was used for the object. If you specify - // x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, + // this header specifies the ID (Key ID, Key ARN, or Key Alias) of the Key Management + // Service (KMS) symmetric encryption customer managed key that was used for + // the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, // but do not providex-amz-server-side-encryption-aws-kms-key-id, Amazon S3 // uses the Amazon Web Services managed key (aws/s3) to protect the data. If // the KMS key does not exist in the same account that's issuing the command, diff --git a/service/servicediscovery/api.go b/service/servicediscovery/api.go index 37b2b50b233..35ecce108b2 100644 --- a/service/servicediscovery/api.go +++ b/service/servicediscovery/api.go @@ -758,8 +758,9 @@ func (c *ServiceDiscovery) DiscoverInstancesRequest(input *DiscoverInstancesInpu // // Discovers registered instances for a specified namespace and service. You // can use DiscoverInstances to discover instances for any type of namespace. -// For public and private DNS namespaces, you can also use DNS queries to discover -// instances. +// DiscoverInstances returns a randomized list of instances allowing customers +// to distribute traffic evenly across instances. For public and private DNS +// namespaces, you can also use DNS queries to discover instances. // // 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 @@ -809,6 +810,101 @@ func (c *ServiceDiscovery) DiscoverInstancesWithContext(ctx aws.Context, input * return out, req.Send() } +const opDiscoverInstancesRevision = "DiscoverInstancesRevision" + +// DiscoverInstancesRevisionRequest generates a "aws/request.Request" representing the +// client's request for the DiscoverInstancesRevision 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 DiscoverInstancesRevision for more information on using the DiscoverInstancesRevision +// 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 DiscoverInstancesRevisionRequest method. +// req, resp := client.DiscoverInstancesRevisionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesRevision +func (c *ServiceDiscovery) DiscoverInstancesRevisionRequest(input *DiscoverInstancesRevisionInput) (req *request.Request, output *DiscoverInstancesRevisionOutput) { + op := &request.Operation{ + Name: opDiscoverInstancesRevision, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DiscoverInstancesRevisionInput{} + } + + output = &DiscoverInstancesRevisionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DiscoverInstancesRevision API operation for AWS Cloud Map. +// +// Discovers the increasing revision associated with an instance. +// +// 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 Cloud Map's +// API operation DiscoverInstancesRevision for usage and error information. +// +// Returned Error Types: +// +// - ServiceNotFound +// No service exists with the specified ID. +// +// - NamespaceNotFound +// No namespace exists with the specified ID. +// +// - InvalidInput +// One or more specified values aren't valid. For example, a required value +// might be missing, a numeric value might be outside the allowed range, or +// a string value might exceed length constraints. +// +// - RequestLimitExceeded +// The operation can't be completed because you've reached the quota for the +// number of requests. For more information, see Cloud Map API request throttling +// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in +// the Cloud Map Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesRevision +func (c *ServiceDiscovery) DiscoverInstancesRevision(input *DiscoverInstancesRevisionInput) (*DiscoverInstancesRevisionOutput, error) { + req, out := c.DiscoverInstancesRevisionRequest(input) + return out, req.Send() +} + +// DiscoverInstancesRevisionWithContext is the same as DiscoverInstancesRevision with the addition of +// the ability to pass a context and additional request options. +// +// See DiscoverInstancesRevision 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 *ServiceDiscovery) DiscoverInstancesRevisionWithContext(ctx aws.Context, input *DiscoverInstancesRevisionInput, opts ...request.Option) (*DiscoverInstancesRevisionOutput, error) { + req, out := c.DiscoverInstancesRevisionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetInstance = "GetInstance" // GetInstanceRequest generates a "aws/request.Request" representing the @@ -1174,7 +1270,7 @@ func (c *ServiceDiscovery) GetOperationRequest(input *GetOperationInput) (req *r // GetOperation API operation for AWS Cloud Map. // // Gets information about any operation that returns an operation ID in the -// response, such as a CreateService request. +// response, such as a CreateHttpNamespace request. // // To get a list of operations that match specified criteria, see ListOperations // (https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html). @@ -3784,6 +3880,11 @@ type DiscoverInstancesOutput struct { // A complex type that contains one HttpInstanceSummary for each registered // instance. Instances []*HttpInstanceSummary `type:"list"` + + // The increasing revision associated to the response Instances list. If a new + // instance is registered or deregistered, the InstancesRevision updates. The + // health status updates don't update InstancesRevision. + InstancesRevision *int64 `type:"long"` } // String returns the string representation. @@ -3810,6 +3911,106 @@ func (s *DiscoverInstancesOutput) SetInstances(v []*HttpInstanceSummary) *Discov return s } +// SetInstancesRevision sets the InstancesRevision field's value. +func (s *DiscoverInstancesOutput) SetInstancesRevision(v int64) *DiscoverInstancesOutput { + s.InstancesRevision = &v + return s +} + +type DiscoverInstancesRevisionInput struct { + _ struct{} `type:"structure"` + + // The HttpName name of the namespace. It's found in the HttpProperties member + // of the Properties member of the namespace. + // + // NamespaceName is a required field + NamespaceName *string `type:"string" required:"true"` + + // The name of the service that you specified when you registered the instance. + // + // ServiceName is a required field + ServiceName *string `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 DiscoverInstancesRevisionInput) 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 DiscoverInstancesRevisionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DiscoverInstancesRevisionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DiscoverInstancesRevisionInput"} + if s.NamespaceName == nil { + invalidParams.Add(request.NewErrParamRequired("NamespaceName")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *DiscoverInstancesRevisionInput) SetNamespaceName(v string) *DiscoverInstancesRevisionInput { + s.NamespaceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DiscoverInstancesRevisionInput) SetServiceName(v string) *DiscoverInstancesRevisionInput { + s.ServiceName = &v + return s +} + +type DiscoverInstancesRevisionOutput struct { + _ struct{} `type:"structure"` + + // The increasing revision associated to the response Instances list. If a new + // instance is registered or deregistered, the InstancesRevision updates. The + // health status updates don't update InstancesRevision. + InstancesRevision *int64 `type:"long"` +} + +// 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 DiscoverInstancesRevisionOutput) 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 DiscoverInstancesRevisionOutput) GoString() string { + return s.String() +} + +// SetInstancesRevision sets the InstancesRevision field's value. +func (s *DiscoverInstancesRevisionOutput) SetInstancesRevision(v int64) *DiscoverInstancesRevisionOutput { + s.InstancesRevision = &v + return s +} + // A complex type that contains information about the Amazon Route 53 DNS records // that you want Cloud Map to create when you register an instance. // @@ -7532,7 +7733,7 @@ type RegisterInstanceInput struct { // settings, Cloud Map will create the Route 53 health check, but it doesn't // associate the health check with the alias record. // - // * Auto naming currently doesn't support creating alias records that route + // * Cloud Map currently doesn't support creating alias records that route // traffic to Amazon Web Services resources other than Elastic Load Balancing // load balancers. // diff --git a/service/servicediscovery/servicediscoveryiface/interface.go b/service/servicediscovery/servicediscoveryiface/interface.go index e29d429150e..72371713229 100644 --- a/service/servicediscovery/servicediscoveryiface/interface.go +++ b/service/servicediscovery/servicediscoveryiface/interface.go @@ -92,6 +92,10 @@ type ServiceDiscoveryAPI interface { DiscoverInstancesWithContext(aws.Context, *servicediscovery.DiscoverInstancesInput, ...request.Option) (*servicediscovery.DiscoverInstancesOutput, error) DiscoverInstancesRequest(*servicediscovery.DiscoverInstancesInput) (*request.Request, *servicediscovery.DiscoverInstancesOutput) + DiscoverInstancesRevision(*servicediscovery.DiscoverInstancesRevisionInput) (*servicediscovery.DiscoverInstancesRevisionOutput, error) + DiscoverInstancesRevisionWithContext(aws.Context, *servicediscovery.DiscoverInstancesRevisionInput, ...request.Option) (*servicediscovery.DiscoverInstancesRevisionOutput, error) + DiscoverInstancesRevisionRequest(*servicediscovery.DiscoverInstancesRevisionInput) (*request.Request, *servicediscovery.DiscoverInstancesRevisionOutput) + GetInstance(*servicediscovery.GetInstanceInput) (*servicediscovery.GetInstanceOutput, error) GetInstanceWithContext(aws.Context, *servicediscovery.GetInstanceInput, ...request.Option) (*servicediscovery.GetInstanceOutput, error) GetInstanceRequest(*servicediscovery.GetInstanceInput) (*request.Request, *servicediscovery.GetInstanceOutput)