diff --git a/CHANGELOG.md b/CHANGELOG.md index 15517b30611..b04c25a7b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.44.220 (2023-03-13) +=== + +### Service Client Updates +* `service/appintegrations`: Updates service API and documentation +* `service/lakeformation`: Updates service documentation +* `service/s3control`: Updates service API and documentation + * Added support for cross-account Multi-Region Access Points. Added support for S3 Replication for S3 on Outposts. +* `service/tnb`: Updates service API and documentation +* `service/wisdom`: Updates service API and documentation + Release v1.44.219 (2023-03-10) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index f90062d1d70..1bfcbd97642 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -21664,6 +21664,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 5f9a36411a4..330cae1befd 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.219" +const SDKVersion = "1.44.220" diff --git a/models/apis/appintegrations/2020-07-29/api-2.json b/models/apis/appintegrations/2020-07-29/api-2.json index 67017c21563..c6bbb9d51a2 100644 --- a/models/apis/appintegrations/2020-07-29/api-2.json +++ b/models/apis/appintegrations/2020-07-29/api-2.json @@ -278,18 +278,25 @@ }, "CreateDataIntegrationRequest":{ "type":"structure", - "required":["Name"], + "required":[ + "Name", + "KmsKey", + "SourceURI", + "ScheduleConfig" + ], "members":{ "Name":{"shape":"Name"}, "Description":{"shape":"Description"}, "KmsKey":{"shape":"NonBlankString"}, - "SourceURI":{"shape":"NonBlankString"}, + "SourceURI":{"shape":"SourceURI"}, "ScheduleConfig":{"shape":"ScheduleConfiguration"}, "Tags":{"shape":"TagMap"}, "ClientToken":{ "shape":"IdempotencyToken", "idempotencyToken":true - } + }, + "FileConfiguration":{"shape":"FileConfiguration"}, + "ObjectConfiguration":{"shape":"ObjectConfiguration"} } }, "CreateDataIntegrationResponse":{ @@ -300,10 +307,12 @@ "Name":{"shape":"Name"}, "Description":{"shape":"Description"}, "KmsKey":{"shape":"NonBlankString"}, - "SourceURI":{"shape":"NonBlankString"}, + "SourceURI":{"shape":"SourceURI"}, "ScheduleConfiguration":{"shape":"ScheduleConfiguration"}, "Tags":{"shape":"TagMap"}, - "ClientToken":{"shape":"IdempotencyToken"} + "ClientToken":{"shape":"IdempotencyToken"}, + "FileConfiguration":{"shape":"FileConfiguration"}, + "ObjectConfiguration":{"shape":"ObjectConfiguration"} } }, "CreateEventIntegrationRequest":{ @@ -350,7 +359,7 @@ "members":{ "Arn":{"shape":"Arn"}, "Name":{"shape":"Name"}, - "SourceURI":{"shape":"NonBlankString"} + "SourceURI":{"shape":"SourceURI"} } }, "DataIntegrationsList":{ @@ -458,6 +467,37 @@ "max":50, "min":1 }, + "Fields":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9\\/\\._\\-]+$" + }, + "FieldsList":{ + "type":"list", + "member":{"shape":"Fields"}, + "max":2048, + "min":1 + }, + "FieldsMap":{ + "type":"map", + "key":{"shape":"NonBlankString"}, + "value":{"shape":"FieldsList"} + }, + "FileConfiguration":{ + "type":"structure", + "required":["Folders"], + "members":{ + "Folders":{"shape":"FolderList"}, + "Filters":{"shape":"FieldsMap"} + } + }, + "FolderList":{ + "type":"list", + "member":{"shape":"NonBlankLongString"}, + "max":10, + "min":1 + }, "GetDataIntegrationRequest":{ "type":"structure", "required":["Identifier"], @@ -477,9 +517,11 @@ "Name":{"shape":"Name"}, "Description":{"shape":"Description"}, "KmsKey":{"shape":"NonBlankString"}, - "SourceURI":{"shape":"NonBlankString"}, + "SourceURI":{"shape":"SourceURI"}, "ScheduleConfiguration":{"shape":"ScheduleConfiguration"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "FileConfiguration":{"shape":"FileConfiguration"}, + "ObjectConfiguration":{"shape":"ObjectConfiguration"} } }, "GetEventIntegrationRequest":{ @@ -668,6 +710,12 @@ "min":1, "pattern":".*" }, + "NonBlankLongString":{ + "type":"string", + "max":200, + "min":1, + "pattern":".*\\S.*" + }, "NonBlankString":{ "type":"string", "max":255, @@ -680,6 +728,11 @@ "min":1, "pattern":"^[a-zA-Z0-9\\/\\._\\-]+$" }, + "ObjectConfiguration":{ + "type":"map", + "key":{"shape":"NonBlankString"}, + "value":{"shape":"FieldsMap"} + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -696,18 +749,13 @@ "error":{"httpStatusCode":429}, "exception":true }, - "Schedule":{ - "type":"string", - "max":255, - "min":1, - "pattern":"^[a-zA-Z0-9\\/\\._\\-]+$" - }, "ScheduleConfiguration":{ "type":"structure", + "required":["ScheduleExpression"], "members":{ "FirstExecutionFrom":{"shape":"NonBlankString"}, "Object":{"shape":"Object"}, - "ScheduleExpression":{"shape":"Schedule"} + "ScheduleExpression":{"shape":"NonBlankString"} } }, "Source":{ @@ -716,6 +764,12 @@ "min":1, "pattern":"^aws\\.partner\\/.*$" }, + "SourceURI":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+$)|(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+[\\w/!@#+=.-]+[\\w/!@#+=.,-]+$)" + }, "TagKey":{ "type":"string", "max":128, diff --git a/models/apis/appintegrations/2020-07-29/docs-2.json b/models/apis/appintegrations/2020-07-29/docs-2.json index 719876b0a6b..1e329a6750a 100644 --- a/models/apis/appintegrations/2020-07-29/docs-2.json +++ b/models/apis/appintegrations/2020-07-29/docs-2.json @@ -30,7 +30,7 @@ "CreateDataIntegrationResponse$Arn": "

The Amazon Resource Name (ARN)

", "CreateEventIntegrationResponse$EventIntegrationArn": "

The Amazon Resource Name (ARN) of the event integration.

", "DataIntegrationAssociationSummary$DataIntegrationAssociationArn": "

The Amazon Resource Name (ARN) of the DataIntegration association.

", - "DataIntegrationAssociationSummary$DataIntegrationArn": "

The Amazon Resource Name (ARN)of the DataIntegration.

", + "DataIntegrationAssociationSummary$DataIntegrationArn": "

The Amazon Resource Name (ARN) of the DataIntegration.

", "DataIntegrationSummary$Arn": "

The Amazon Resource Name (ARN) of the DataIntegration.

", "EventIntegration$EventIntegrationArn": "

The Amazon Resource Name (ARN) of the event integration.

", "EventIntegrationAssociation$EventIntegrationAssociationArn": "

The Amazon Resource Name (ARN) for the event integration association.

", @@ -50,7 +50,7 @@ "ClientId": { "base": null, "refs": { - "DataIntegrationAssociationSummary$ClientId": "

The identifier for teh client that is associated with the DataIntegration association.

", + "DataIntegrationAssociationSummary$ClientId": "

The identifier for the client that is associated with the DataIntegration association.

", "EventIntegrationAssociation$ClientId": "

The identifier for the client that is associated with the event integration.

" } }, @@ -182,6 +182,39 @@ "ListEventIntegrationsResponse$EventIntegrations": "

The event integrations.

" } }, + "Fields": { + "base": null, + "refs": { + "FieldsList$member": null + } + }, + "FieldsList": { + "base": null, + "refs": { + "FieldsMap$value": null + } + }, + "FieldsMap": { + "base": null, + "refs": { + "FileConfiguration$Filters": "

Restrictions for what files should be pulled from the source.

", + "ObjectConfiguration$value": null + } + }, + "FileConfiguration": { + "base": "

The configuration for what files should be pulled from the source.

", + "refs": { + "CreateDataIntegrationRequest$FileConfiguration": "

The configuration for what files should be pulled from the source.

", + "CreateDataIntegrationResponse$FileConfiguration": "

The configuration for what files should be pulled from the source.

", + "GetDataIntegrationResponse$FileConfiguration": "

The configuration for what files should be pulled from the source.

" + } + }, + "FolderList": { + "base": null, + "refs": { + "FileConfiguration$Folders": "

Identifiers for the source folders to pull all files from recursively.

" + } + }, "GetDataIntegrationRequest": { "base": null, "refs": { @@ -205,9 +238,9 @@ "IdempotencyToken": { "base": null, "refs": { - "CreateDataIntegrationRequest$ClientToken": "

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

", - "CreateDataIntegrationResponse$ClientToken": "

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

", - "CreateEventIntegrationRequest$ClientToken": "

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

" + "CreateDataIntegrationRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateDataIntegrationResponse$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateEventIntegrationRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

" } }, "Identifier": { @@ -331,19 +364,24 @@ "ListEventIntegrationsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

" } }, + "NonBlankLongString": { + "base": null, + "refs": { + "FolderList$member": null + } + }, "NonBlankString": { "base": null, "refs": { "ClientAssociationMetadata$key": null, "ClientAssociationMetadata$value": null, "CreateDataIntegrationRequest$KmsKey": "

The KMS key for the DataIntegration.

", - "CreateDataIntegrationRequest$SourceURI": "

The URI of the data source.

", "CreateDataIntegrationResponse$KmsKey": "

The KMS key for the DataIntegration.

", - "CreateDataIntegrationResponse$SourceURI": "

The URI of the data source.

", - "DataIntegrationSummary$SourceURI": "

The URI of the data source.

", + "FieldsMap$key": null, "GetDataIntegrationResponse$KmsKey": "

The KMS key for the DataIntegration.

", - "GetDataIntegrationResponse$SourceURI": "

The URI of the data source.

", - "ScheduleConfiguration$FirstExecutionFrom": "

The start date for objects to import in the first flow run.

" + "ObjectConfiguration$key": null, + "ScheduleConfiguration$FirstExecutionFrom": "

The start date for objects to import in the first flow run as an Unix/epoch timestamp in milliseconds or in ISO-8601 format.

", + "ScheduleConfiguration$ScheduleExpression": "

How often the data should be pulled from data source.

" } }, "Object": { @@ -352,6 +390,14 @@ "ScheduleConfiguration$Object": "

The name of the object to pull from the data source.

" } }, + "ObjectConfiguration": { + "base": "

The configuration for what data should be pulled from the source.

", + "refs": { + "CreateDataIntegrationRequest$ObjectConfiguration": "

The configuration for what data should be pulled from the source.

", + "CreateDataIntegrationResponse$ObjectConfiguration": "

The configuration for what data should be pulled from the source.

", + "GetDataIntegrationResponse$ObjectConfiguration": "

The configuration for what data should be pulled from the source.

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

The specified resource was not found.

", "refs": { @@ -362,12 +408,6 @@ "refs": { } }, - "Schedule": { - "base": null, - "refs": { - "ScheduleConfiguration$ScheduleExpression": "

How often the data should be pulled from data source.

" - } - }, "ScheduleConfiguration": { "base": "

The name of the data and how often it should be pulled from the source.

", "refs": { @@ -382,6 +422,15 @@ "EventFilter$Source": "

The source of the events.

" } }, + "SourceURI": { + "base": null, + "refs": { + "CreateDataIntegrationRequest$SourceURI": "

The URI of the data source.

", + "CreateDataIntegrationResponse$SourceURI": "

The URI of the data source.

", + "DataIntegrationSummary$SourceURI": "

The URI of the data source.

", + "GetDataIntegrationResponse$SourceURI": "

The URI of the data source.

" + } + }, "TagKey": { "base": null, "refs": { @@ -398,14 +447,14 @@ "TagMap": { "base": null, "refs": { - "CreateDataIntegrationRequest$Tags": "

One or more tags.

", - "CreateDataIntegrationResponse$Tags": "

One or more tags.

", - "CreateEventIntegrationRequest$Tags": "

One or more tags.

", - "EventIntegration$Tags": "

The tags.

", - "GetDataIntegrationResponse$Tags": "

One or more tags.

", - "GetEventIntegrationResponse$Tags": "

One or more tags.

", + "CreateDataIntegrationRequest$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateDataIntegrationResponse$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateEventIntegrationRequest$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "EventIntegration$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "GetDataIntegrationResponse$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "GetEventIntegrationResponse$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "ListTagsForResourceResponse$tags": "

Information about the tags.

", - "TagResourceRequest$tags": "

One or more tags.

" + "TagResourceRequest$tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

" } }, "TagResourceRequest": { diff --git a/models/apis/appintegrations/2020-07-29/endpoint-rule-set-1.json b/models/apis/appintegrations/2020-07-29/endpoint-rule-set-1.json new file mode 100644 index 00000000000..949e319b525 --- /dev/null +++ b/models/apis/appintegrations/2020-07-29/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "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": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://app-integrations-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://app-integrations-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": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://app-integrations.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://app-integrations.{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/appintegrations/2020-07-29/endpoint-tests-1.json b/models/apis/appintegrations/2020-07-29/endpoint-tests-1.json new file mode 100644 index 00000000000..0879f46a896 --- /dev/null +++ b/models/apis/appintegrations/2020-07-29/endpoint-tests-1.json @@ -0,0 +1,381 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.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://app-integrations.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.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://app-integrations.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://app-integrations.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://app-integrations.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.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://app-integrations-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://app-integrations-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://app-integrations.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://app-integrations-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://app-integrations-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://app-integrations.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://app-integrations.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://app-integrations-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://app-integrations-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations-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 disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.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 disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations-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 disabled", + "expect": { + "endpoint": { + "url": "https://app-integrations.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" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/lakeformation/2017-03-31/docs-2.json b/models/apis/lakeformation/2017-03-31/docs-2.json index 3bdc021f37a..c497a56123f 100644 --- a/models/apis/lakeformation/2017-03-31/docs-2.json +++ b/models/apis/lakeformation/2017-03-31/docs-2.json @@ -1084,7 +1084,7 @@ "PrincipalPermissions$Permissions": "

The permissions that are granted to the principal.

", "PrincipalResourcePermissions$Permissions": "

The permissions to be granted or revoked on the resource.

", "PrincipalResourcePermissions$PermissionsWithGrantOption": "

Indicates whether to grant the ability to grant permissions (as a subset of permissions granted).

", - "RevokePermissionsRequest$Permissions": "

The permissions revoked to the principal on the resource. For information about permissions, see Security and Access Control to Metadata and Data.

", + "RevokePermissionsRequest$Permissions": "

The permissions revoked to the principal on the resource. For information about permissions, see Security and Access Control to Metadata and Data.

", "RevokePermissionsRequest$PermissionsWithGrantOption": "

Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.

" } }, @@ -1706,7 +1706,7 @@ "VersionString": { "base": null, "refs": { - "DataCellsFilter$VersionId": null + "DataCellsFilter$VersionId": "

The ID of the data cells filter version.

" } }, "VirtualObject": { diff --git a/models/apis/lakeformation/2017-03-31/endpoint-tests-1.json b/models/apis/lakeformation/2017-03-31/endpoint-tests-1.json index c2fc01b14ac..2959ff198ff 100644 --- a/models/apis/lakeformation/2017-03-31/endpoint-tests-1.json +++ b/models/apis/lakeformation/2017-03-31/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "af-south-1", "UseFIPS": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -333,9 +333,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -346,9 +346,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -385,9 +385,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -398,9 +398,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -411,9 +411,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -424,9 +424,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -476,9 +476,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -489,9 +489,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -502,9 +502,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -515,9 +515,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -528,9 +528,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -541,9 +541,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -554,9 +554,9 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -568,8 +568,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -579,9 +579,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -591,9 +591,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } } diff --git a/models/apis/s3control/2018-08-20/api-2.json b/models/apis/s3control/2018-08-20/api-2.json index 974e9a61bbd..e7b4e3de330 100644 --- a/models/apis/s3control/2018-08-20/api-2.json +++ b/models/apis/s3control/2018-08-20/api-2.json @@ -206,6 +206,20 @@ "RequiresAccountId":{"value":true} } }, + "DeleteBucketReplication":{ + "name":"DeleteBucketReplication", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/bucket/{name}/replication" + }, + "input":{"shape":"DeleteBucketReplicationRequest"}, + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "DeleteBucketTagging":{ "name":"DeleteBucketTagging", "http":{ @@ -491,6 +505,21 @@ "RequiresAccountId":{"value":true} } }, + "GetBucketReplication":{ + "name":"GetBucketReplication", + "http":{ + "method":"GET", + "requestUri":"/v20180820/bucket/{name}/replication" + }, + "input":{"shape":"GetBucketReplicationRequest"}, + "output":{"shape":"GetBucketReplicationResult"}, + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "GetBucketTagging":{ "name":"GetBucketTagging", "http":{ @@ -837,6 +866,21 @@ "RequiresAccountId":{"value":true} } }, + "PutBucketReplication":{ + "name":"PutBucketReplication", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/bucket/{name}/replication" + }, + "input":{"shape":"PutBucketReplicationRequest"}, + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "PutBucketTagging":{ "name":"PutBucketTagging", "http":{ @@ -1034,6 +1078,13 @@ "DaysAfterInitiation":{"shape":"DaysAfterInitiation"} } }, + "AccessControlTranslation":{ + "type":"structure", + "required":["Owner"], + "members":{ + "Owner":{"shape":"OwnerOverride"} + } + }, "AccessPoint":{ "type":"structure", "required":[ @@ -1060,7 +1111,7 @@ }, "AccessPointName":{ "type":"string", - "max":63, + "max":255, "min":3 }, "AccountId":{ @@ -1197,6 +1248,7 @@ "authenticated-read" ] }, + "BucketIdentifierString":{"type":"string"}, "BucketLevel":{ "type":"structure", "members":{ @@ -1619,6 +1671,28 @@ } } }, + "DeleteBucketReplicationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Bucket" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "Bucket":{ + "shape":"BucketName", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"name" + } + } + }, "DeleteBucketRequest":{ "type":"structure", "required":[ @@ -1689,6 +1763,20 @@ "members":{ } }, + "DeleteMarkerReplication":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"DeleteMarkerReplicationStatus"} + } + }, + "DeleteMarkerReplicationStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "DeleteMultiRegionAccessPointInput":{ "type":"structure", "required":["Name"], @@ -1838,12 +1926,34 @@ "AsyncOperation":{"shape":"AsyncOperation"} } }, + "Destination":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Account":{"shape":"AccountId"}, + "Bucket":{"shape":"BucketIdentifierString"}, + "ReplicationTime":{"shape":"ReplicationTime"}, + "AccessControlTranslation":{"shape":"AccessControlTranslation"}, + "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}, + "Metrics":{"shape":"Metrics"}, + "StorageClass":{"shape":"ReplicationStorageClass"} + } + }, "DetailedStatusCodesMetrics":{ "type":"structure", "members":{ "IsEnabled":{"shape":"IsEnabled"} } }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "ReplicaKmsKeyID":{ + "shape":"ReplicaKmsKeyID", + "box":true + } + } + }, "Endpoints":{ "type":"map", "key":{"shape":"NonEmptyMaxLength64String"}, @@ -1867,6 +1977,20 @@ "Regions":{"shape":"Regions"} } }, + "ExistingObjectReplication":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"ExistingObjectReplicationStatus"} + } + }, + "ExistingObjectReplicationStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "ExpirationStatus":{ "type":"string", "enum":[ @@ -2164,6 +2288,34 @@ "Policy":{"shape":"Policy"} } }, + "GetBucketReplicationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Bucket" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "Bucket":{ + "shape":"BucketName", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"name" + } + } + }, + "GetBucketReplicationResult":{ + "type":"structure", + "members":{ + "ReplicationConfiguration":{"shape":"ReplicationConfiguration"} + } + }, "GetBucketRequest":{ "type":"structure", "required":[ @@ -3178,11 +3330,27 @@ "max":1000, "min":0 }, + "Metrics":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"MetricsStatus"}, + "EventThreshold":{"shape":"ReplicationTimeValue"} + } + }, + "MetricsStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "MinStorageBytesPercentage":{ "type":"double", "max":100, "min":0.1 }, + "Minutes":{"type":"integer"}, "MultiRegionAccessPointAlias":{ "type":"string", "max":63, @@ -3462,6 +3630,10 @@ "type":"string", "enum":["V_1"] }, + "OwnerOverride":{ + "type":"string", + "enum":["Destination"] + }, "Policy":{"type":"string"}, "PolicyStatus":{ "type":"structure", @@ -3487,6 +3659,7 @@ "SelectionCriteria":{"shape":"SelectionCriteria"} } }, + "Priority":{"type":"integer"}, "ProposedMultiRegionAccessPointPolicy":{ "type":"structure", "members":{ @@ -3642,6 +3815,35 @@ "Policy":{"shape":"Policy"} } }, + "PutBucketReplicationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Bucket", + "ReplicationConfiguration" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "Bucket":{ + "shape":"BucketName", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"name" + }, + "ReplicationConfiguration":{ + "shape":"ReplicationConfiguration", + "locationName":"ReplicationConfiguration", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + } + }, + "payload":"ReplicationConfiguration" + }, "PutBucketTaggingRequest":{ "type":"structure", "required":[ @@ -3850,7 +4052,8 @@ "type":"structure", "required":["Bucket"], "members":{ - "Bucket":{"shape":"BucketName"} + "Bucket":{"shape":"BucketName"}, + "BucketAccountId":{"shape":"AccountId"} } }, "RegionCreationList":{ @@ -3869,7 +4072,8 @@ "type":"structure", "members":{ "Bucket":{"shape":"BucketName"}, - "Region":{"shape":"RegionName"} + "Region":{"shape":"RegionName"}, + "BucketAccountId":{"shape":"AccountId"} } }, "RegionReportList":{ @@ -3908,6 +4112,88 @@ "locationName":"Region" } }, + "ReplicaKmsKeyID":{"type":"string"}, + "ReplicaModifications":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"ReplicaModificationsStatus"} + } + }, + "ReplicaModificationsStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ReplicationConfiguration":{ + "type":"structure", + "required":[ + "Role", + "Rules" + ], + "members":{ + "Role":{"shape":"Role"}, + "Rules":{"shape":"ReplicationRules"} + } + }, + "ReplicationRule":{ + "type":"structure", + "required":[ + "Status", + "Destination", + "Bucket" + ], + "members":{ + "ID":{"shape":"ID"}, + "Priority":{ + "shape":"Priority", + "box":true + }, + "Prefix":{ + "shape":"Prefix", + "deprecated":true, + "deprecatedMessage":"Prefix has been deprecated" + }, + "Filter":{"shape":"ReplicationRuleFilter"}, + "Status":{"shape":"ReplicationRuleStatus"}, + "SourceSelectionCriteria":{"shape":"SourceSelectionCriteria"}, + "ExistingObjectReplication":{"shape":"ExistingObjectReplication"}, + "Destination":{"shape":"Destination"}, + "DeleteMarkerReplication":{"shape":"DeleteMarkerReplication"}, + "Bucket":{"shape":"BucketIdentifierString"} + } + }, + "ReplicationRuleAndOperator":{ + "type":"structure", + "members":{ + "Prefix":{"shape":"Prefix"}, + "Tags":{"shape":"S3TagSet"} + } + }, + "ReplicationRuleFilter":{ + "type":"structure", + "members":{ + "Prefix":{"shape":"Prefix"}, + "Tag":{"shape":"S3Tag"}, + "And":{"shape":"ReplicationRuleAndOperator"} + } + }, + "ReplicationRuleStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ReplicationRules":{ + "type":"list", + "member":{ + "shape":"ReplicationRule", + "locationName":"Rule" + } + }, "ReplicationStatus":{ "type":"string", "enum":[ @@ -3921,6 +4207,47 @@ "type":"list", "member":{"shape":"ReplicationStatus"} }, + "ReplicationStorageClass":{ + "type":"string", + "enum":[ + "STANDARD", + "REDUCED_REDUNDANCY", + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "GLACIER", + "DEEP_ARCHIVE", + "OUTPOSTS", + "GLACIER_IR" + ] + }, + "ReplicationTime":{ + "type":"structure", + "required":[ + "Status", + "Time" + ], + "members":{ + "Status":{"shape":"ReplicationTimeStatus"}, + "Time":{"shape":"ReplicationTimeValue"} + } + }, + "ReplicationTimeStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ReplicationTimeValue":{ + "type":"structure", + "members":{ + "Minutes":{ + "shape":"Minutes", + "box":true + } + } + }, "ReportPrefixString":{ "type":"string", "max":512, @@ -3933,6 +4260,7 @@ "Ready" ] }, + "Role":{"type":"string"}, "RouteList":{ "type":"list", "member":{ @@ -4347,6 +4675,27 @@ } }, "Setting":{"type":"boolean"}, + "SourceSelectionCriteria":{ + "type":"structure", + "members":{ + "SseKmsEncryptedObjects":{"shape":"SseKmsEncryptedObjects"}, + "ReplicaModifications":{"shape":"ReplicaModifications"} + } + }, + "SseKmsEncryptedObjects":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"SseKmsEncryptedObjectsStatus"} + } + }, + "SseKmsEncryptedObjectsStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "StorageLensArn":{ "type":"string", "max":1024, diff --git a/models/apis/s3control/2018-08-20/docs-2.json b/models/apis/s3control/2018-08-20/docs-2.json index 88d67ba9461..3d05c24096e 100644 --- a/models/apis/s3control/2018-08-20/docs-2.json +++ b/models/apis/s3control/2018-08-20/docs-2.json @@ -14,8 +14,9 @@ "DeleteBucket": "

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference.

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

Related Resources

", "DeleteBucketLifecycleConfiguration": "

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

Deletes the lifecycle configuration from the specified Outposts bucket. Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

For more information about object expiration, see Elements to Describe Lifecycle Actions.

Related actions include:

", "DeleteBucketPolicy": "

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy, see DeleteBucketPolicy in the Amazon S3 API Reference.

This implementation of the DELETE action uses the policy subresource to delete the policy of a specified Amazon S3 on Outposts 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 s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket and belong to the bucket owner's account to use this action. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

If you don't have DeleteBucketPolicy 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.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketPolicy:

", + "DeleteBucketReplication": "

This operation deletes an Amazon S3 on Outposts bucket's replication configuration. To delete an S3 bucket's replication configuration, see DeleteBucketReplication in the Amazon S3 API Reference.

Deletes the replication configuration from the specified S3 on Outposts bucket.

To use this operation, you must have permissions to perform the s3-outposts:PutReplicationConfiguration action. The Outposts bucket owner has this permission by default and can grant it to others. For more information about permissions, see Setting up IAM with S3 on Outposts and Managing access to S3 on Outposts buckets in the Amazon S3 User Guide.

It can take a while to propagate PUT or DELETE requests for a replication configuration to all S3 on Outposts systems. Therefore, the replication configuration that's returned by a GET request soon after a PUT or DELETE request might return a more recent result than what's on the Outpost. If an Outpost is offline, the delay in updating the replication configuration on that Outpost can be significant.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

For information about S3 replication on Outposts configuration, see Replicating objects for Amazon Web Services Outposts in the Amazon S3 User Guide.

The following operations are related to DeleteBucketReplication:

", "DeleteBucketTagging": "

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags, see DeleteBucketTagging in the Amazon S3 API Reference.

Deletes the tags from the Outposts bucket. For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to DeleteBucketTagging:

", - "DeleteJobTagging": "

Removes the entire tag set from the specified S3 Batch Operations job. To use this operation, you must have permission to perform the s3:DeleteJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", + "DeleteJobTagging": "

Removes the entire tag set from the specified S3 Batch Operations job. To use the DeleteJobTagging operation, you must have permission to perform the s3:DeleteJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", "DeleteMultiRegionAccessPoint": "

Deletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point, only the Multi-Region Access Point itself.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

This request is asynchronous, meaning that you might receive a response before the command has completed. When this request provides a response, it provides a token that you can use to monitor the status of the request with DescribeMultiRegionAccessPointOperation.

The following actions are related to DeleteMultiRegionAccessPoint:

", "DeletePublicAccessBlock": "

Removes the PublicAccessBlock configuration for an Amazon Web Services account. For more information, see Using Amazon S3 block public access.

Related actions include:

", "DeleteStorageLensConfiguration": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", @@ -32,9 +33,10 @@ "GetBucket": "

Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

If you are using an identity other than the root user of the Amazon Web Services account that owns the Outposts bucket, the calling identity must have the s3-outposts:GetBucket permissions on the specified Outposts bucket and belong to the Outposts bucket owner's account in order to use this action. Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket.

If you don't have s3-outposts:GetBucket permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

The following actions are related to GetBucket for Amazon S3 on Outposts:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

", "GetBucketLifecycleConfiguration": "

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.

Returns the lifecycle configuration information set on the Outposts bucket. For more information, see Using Amazon S3 on Outposts and for information about lifecycle configuration, see Object Lifecycle Management in Amazon S3 User Guide.

To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration action. The Outposts 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.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

GetBucketLifecycleConfiguration has the following special error:

The following actions are related to GetBucketLifecycleConfiguration:

", "GetBucketPolicy": "

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for an S3 bucket, see GetBucketPolicy in the Amazon S3 API Reference.

Returns the policy of a specified Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

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 GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this action.

Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy permissions or you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access Denied error.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to GetBucketPolicy:

", + "GetBucketReplication": "

This operation gets an Amazon S3 on Outposts bucket's replication configuration. To get an S3 bucket's replication configuration, see GetBucketReplication in the Amazon S3 API Reference.

Returns the replication configuration of an S3 on Outposts bucket. For more information about S3 on Outposts, see Using Amazon S3 on Outposts in the Amazon S3 User Guide. For information about S3 replication on Outposts configuration, see Replicating objects for Amazon Web Services Outposts in the Amazon S3 User Guide.

It can take a while to propagate PUT or DELETE requests for a replication configuration to all S3 on Outposts systems. Therefore, the replication configuration that's returned by a GET request soon after a PUT or DELETE request might return a more recent result than what's on the Outpost. If an Outpost is offline, the delay in updating the replication configuration on that Outpost can be significant.

This action requires permissions for the s3-outposts:GetReplicationConfiguration action. The Outposts bucket owner has this permission by default and can grant it to others. For more information about permissions, see Setting up IAM with S3 on Outposts and Managing access to S3 on Outposts bucket in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

If you include the Filter element in a replication configuration, you must also include the DeleteMarkerReplication, Status, and Priority elements. The response also returns those elements.

For information about S3 on Outposts replication failure reasons, see Replication failure reasons in the Amazon S3 User Guide.

The following operations are related to GetBucketReplication:

", "GetBucketTagging": "

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see GetBucketTagging in the Amazon S3 API Reference.

Returns the tag set associated with the Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

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

GetBucketTagging has the following special error:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to GetBucketTagging:

", - "GetBucketVersioning": "

This operation returns the versioning state only for S3 on Outposts buckets. To return the versioning state for an S3 bucket, see GetBucketVersioning in the Amazon S3 API Reference.

Returns the versioning state for an S3 on Outposts bucket. With versioning, you can save multiple distinct copies of your data and recover from unintended user actions and application failures.

If you've never set versioning on your bucket, it has no versioning state. In that case, the GetBucketVersioning request does not return a versioning state value.

For more information about versioning, see Versioning in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following operations are related to GetBucketVersioning for S3 on Outposts.

", - "GetJobTagging": "

Returns the tags on an S3 Batch Operations job. To use this operation, you must have permission to perform the s3:GetJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", + "GetBucketVersioning": "

This operation returns the versioning state for S3 on Outposts buckets only. To return the versioning state for an S3 bucket, see GetBucketVersioning in the Amazon S3 API Reference.

Returns the versioning state for an S3 on Outposts bucket. With S3 Versioning, you can save multiple distinct copies of your objects and recover from unintended user actions and application failures.

If you've never set versioning on your bucket, it has no versioning state. In that case, the GetBucketVersioning request does not return a versioning state value.

For more information about versioning, see Versioning in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following operations are related to GetBucketVersioning for S3 on Outposts.

", + "GetJobTagging": "

Returns the tags on an S3 Batch Operations job. To use the GetJobTagging operation, you must have permission to perform the s3:GetJobTagging action. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

Related actions include:

", "GetMultiRegionAccessPoint": "

Returns configuration information about the specified Multi-Region Access Point.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to GetMultiRegionAccessPoint:

", "GetMultiRegionAccessPointPolicy": "

Returns the access control policy of the specified Multi-Region Access Point.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to GetMultiRegionAccessPointPolicy:

", "GetMultiRegionAccessPointPolicyStatus": "

Indicates whether the specified Multi-Region Access Point has an access control policy that allows public access.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to GetMultiRegionAccessPointPolicyStatus:

", @@ -42,7 +44,7 @@ "GetPublicAccessBlock": "

Retrieves the PublicAccessBlock configuration for an Amazon Web Services account. For more information, see Using Amazon S3 block public access.

Related actions include:

", "GetStorageLensConfiguration": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", "GetStorageLensConfigurationTagging": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", - "ListAccessPoints": "

Returns a list of the access points owned by the current account associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to ListAccessPoints:

", + "ListAccessPoints": "

Returns a list of the access points that are owned by the current account that's associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to ListAccessPoints:

", "ListAccessPointsForObjectLambda": "

Returns some or all (up to 1,000) access points associated with the Object Lambda Access Point per call. If there are more access points than what can be returned in one call, the response will include a continuation token that you can use to list the additional access points.

The following actions are related to ListAccessPointsForObjectLambda:

", "ListJobs": "

Lists current S3 Batch Operations jobs and jobs that have ended within the last 30 days for the Amazon Web Services account making the request. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

Related actions include:

", "ListMultiRegionAccessPoints": "

Returns a list of the Multi-Region Access Points currently associated with the specified Amazon Web Services account. Each call can return up to 100 Multi-Region Access Points, the maximum number of Multi-Region Access Points that can be associated with a single account.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to ListMultiRegionAccessPoint:

", @@ -53,9 +55,10 @@ "PutAccessPointPolicyForObjectLambda": "

Creates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon S3 User Guide.

The following actions are related to PutAccessPointPolicyForObjectLambda:

", "PutBucketLifecycleConfiguration": "

This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to PutBucketLifecycleConfiguration:

", "PutBucketPolicy": "

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an S3 bucket, see PutBucketPolicy in the Amazon S3 API Reference.

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

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

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.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to PutBucketPolicy:

", + "PutBucketReplication": "

This action creates an Amazon S3 on Outposts bucket's replication configuration. To create an S3 bucket's replication configuration, see PutBucketReplication in the Amazon S3 API Reference.

Creates a replication configuration or replaces an existing one. For information about S3 replication on Outposts configuration, see Replicating objects for Amazon Web Services Outposts in the Amazon S3 User Guide.

It can take a while to propagate PUT or DELETE requests for a replication configuration to all S3 on Outposts systems. Therefore, the replication configuration that's returned by a GET request soon after a PUT or DELETE request might return a more recent result than what's on the Outpost. If an Outpost is offline, the delay in updating the replication configuration on that Outpost can be significant.

Specify the replication configuration in the request body. In the replication configuration, you provide the following information:

A replication configuration must include at least one rule and can contain a maximum of 100. Each rule identifies a subset of objects to replicate by filtering the objects in the source Outposts 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 Outposts 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.

Using PutBucketReplication on Outposts requires that both the source and destination buckets must have versioning enabled. For information about enabling versioning on a bucket, see Managing S3 Versioning for your S3 on Outposts bucket.

For information about S3 on Outposts replication failure reasons, see Replication failure reasons in the Amazon S3 User Guide.

Handling Replication of Encrypted Objects

Outposts buckets are encrypted at all times. All the objects in the source Outposts bucket are encrypted and can be replicated. Also, all the replicas in the destination Outposts bucket are encrypted with the same encryption key as the objects in the source Outposts bucket.

Permissions

To create a PutBucketReplication request, you must have s3-outposts:PutReplicationConfiguration permissions for the bucket. The Outposts bucket owner has this permission by default and can grant it to others. For more information about permissions, see Setting up IAM with S3 on Outposts and Managing access to S3 on Outposts buckets.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following operations are related to PutBucketReplication:

", "PutBucketTagging": "

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see PutBucketTagging in the Amazon S3 API Reference.

Sets the tags for an S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

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.

Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see Using cost allocation in Amazon S3 bucket tags.

To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging action. The Outposts 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:

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to PutBucketTagging:

", - "PutBucketVersioning": "

This operation sets the versioning state only for S3 on Outposts buckets. To set the versioning state for an S3 bucket, see PutBucketVersioning in the Amazon S3 API Reference.

Sets the versioning state for an S3 on Outposts bucket. With versioning, you can save multiple distinct copies of your data and recover from unintended user actions and application failures.

You can set the versioning state to one of the following:

If you've never set versioning on your bucket, it has no versioning state. In that case, a GetBucketVersioning request does not return a versioning state value.

When you enable S3 Versioning, for each object in your bucket, you have a current version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle rules to expire noncurrent versions after a specified time period. For more information, see Creating and managing a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3 User Guide.

If you have an object expiration lifecycle policy 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 policy will manage the deletes of the noncurrent object versions in the version-enabled bucket. For more information, see Versioning in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following operations are related to PutBucketVersioning for S3 on Outposts.

", - "PutJobTagging": "

Sets the supplied tag-set on an S3 Batch Operations job.

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set with the one you modified. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutJobTagging action.

Related actions include:

", + "PutBucketVersioning": "

This operation sets the versioning state for S3 on Outposts buckets only. To set the versioning state for an S3 bucket, see PutBucketVersioning in the Amazon S3 API Reference.

Sets the versioning state for an S3 on Outposts bucket. With S3 Versioning, you can save multiple distinct copies of your objects and recover from unintended user actions and application failures.

You can set the versioning state to one of the following:

If you've never set versioning on your bucket, it has no versioning state. In that case, a GetBucketVersioning request does not return a versioning state value.

When you enable S3 Versioning, for each object in your bucket, you have a current version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle rules to expire noncurrent versions after a specified time period. For more information, see Creating and managing a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3 User Guide.

If you have an object expiration lifecycle policy 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 policy will manage the deletions of the noncurrent object versions in the version-enabled bucket. For more information, see Versioning in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following operations are related to PutBucketVersioning for S3 on Outposts.

", + "PutJobTagging": "

Sets the supplied tag-set on an S3 Batch Operations job.

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set with the one you modified. For more information, see Controlling access and labeling jobs using tags in the Amazon S3 User Guide.

To use the PutJobTagging operation, you must have permission to perform the s3:PutJobTagging action.

Related actions include:

", "PutMultiRegionAccessPointPolicy": "

Associates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only one policy, so a request made to this action replaces any existing policy that is associated with the specified Multi-Region Access Point.

This action will always be routed to the US West (Oregon) Region. For more information about the restrictions around managing Multi-Region Access Points, see Managing Multi-Region Access Points in the Amazon S3 User Guide.

The following actions are related to PutMultiRegionAccessPointPolicy:

", "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account. For this operation, users must have the s3:PutAccountPublicAccessBlock permission. For more information, see Using Amazon S3 block public access.

Related actions include:

", "PutStorageLensConfiguration": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

To use this action, you must have permission to perform the s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the Amazon S3 User Guide.

", @@ -71,6 +74,12 @@ "LifecycleRule$AbortIncompleteMultipartUpload": "

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 waits before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon S3 User Guide.

" } }, + "AccessControlTranslation": { + "base": "

A container for information about access control for replicas.

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "Destination$AccessControlTranslation": "

Specify this property only in a cross-account scenario (where the source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this property is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.

This is not supported by Amazon S3 on Outposts buckets.

" + } + }, "AccessPoint": { "base": "

An access point used to access a bucket.

", "refs": { @@ -88,13 +97,13 @@ "refs": { "AccessPoint$Name": "

The name of this access point.

", "CreateAccessPointRequest$Name": "

The name you want to assign to this access point.

", - "DeleteAccessPointPolicyRequest$Name": "

The name of the access point whose policy you want to delete.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", - "DeleteAccessPointRequest$Name": "

The name of the access point you want to delete.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", - "GetAccessPointPolicyRequest$Name": "

The name of the access point whose policy you want to retrieve.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "DeleteAccessPointPolicyRequest$Name": "

The name of the access point whose policy you want to delete.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "DeleteAccessPointRequest$Name": "

The name of the access point you want to delete.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "GetAccessPointPolicyRequest$Name": "

The name of the access point whose policy you want to retrieve.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "GetAccessPointPolicyStatusRequest$Name": "

The name of the access point whose policy status you want to retrieve.

", - "GetAccessPointRequest$Name": "

The name of the access point whose configuration information you want to retrieve.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "GetAccessPointRequest$Name": "

The name of the access point whose configuration information you want to retrieve.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "GetAccessPointResult$Name": "

The name of the specified access point.

", - "PutAccessPointPolicyRequest$Name": "

The name of the access point that you want to associate with the specified policy.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

" + "PutAccessPointPolicyRequest$Name": "

The name of the access point that you want to associate with the specified policy.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

" } }, "AccountId": { @@ -112,6 +121,7 @@ "DeleteAccessPointRequest$AccountId": "

The Amazon Web Services account ID for the account that owns the specified access point.

", "DeleteBucketLifecycleConfigurationRequest$AccountId": "

The account ID of the lifecycle configuration to delete.

", "DeleteBucketPolicyRequest$AccountId": "

The account ID of the Outposts bucket.

", + "DeleteBucketReplicationRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket to delete the replication configuration for.

", "DeleteBucketRequest$AccountId": "

The account ID that owns the Outposts bucket.

", "DeleteBucketTaggingRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket tag set to be removed.

", "DeleteJobTaggingRequest$AccountId": "

The Amazon Web Services account ID associated with the S3 Batch Operations job.

", @@ -121,6 +131,7 @@ "DeleteStorageLensConfigurationTaggingRequest$AccountId": "

The account ID of the requester.

", "DescribeJobRequest$AccountId": "

The Amazon Web Services account ID associated with the S3 Batch Operations job.

", "DescribeMultiRegionAccessPointOperationRequest$AccountId": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", + "Destination$Account": "

The destination bucket owner's account ID.

", "GetAccessPointConfigurationForObjectLambdaRequest$AccountId": "

The account ID for the account that owns the specified Object Lambda Access Point.

", "GetAccessPointForObjectLambdaRequest$AccountId": "

The account ID for the account that owns the specified Object Lambda Access Point.

", "GetAccessPointPolicyForObjectLambdaRequest$AccountId": "

The account ID for the account that owns the specified Object Lambda Access Point.

", @@ -131,6 +142,7 @@ "GetAccessPointResult$BucketAccountId": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

", "GetBucketLifecycleConfigurationRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "GetBucketPolicyRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", + "GetBucketReplicationRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "GetBucketRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "GetBucketTaggingRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "GetBucketVersioningRequest$AccountId": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

", @@ -153,6 +165,7 @@ "PutAccessPointPolicyRequest$AccountId": "

The Amazon Web Services account ID for owner of the bucket associated with the specified access point.

", "PutBucketLifecycleConfigurationRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "PutBucketPolicyRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", + "PutBucketReplicationRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "PutBucketTaggingRequest$AccountId": "

The Amazon Web Services account ID of the Outposts bucket.

", "PutBucketVersioningRequest$AccountId": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

", "PutJobTaggingRequest$AccountId": "

The Amazon Web Services account ID associated with the S3 Batch Operations job.

", @@ -160,6 +173,8 @@ "PutPublicAccessBlockRequest$AccountId": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to set.

", "PutStorageLensConfigurationRequest$AccountId": "

The account ID of the requester.

", "PutStorageLensConfigurationTaggingRequest$AccountId": "

The account ID of the requester.

", + "Region$BucketAccountId": "

The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.

", + "RegionReport$BucketAccountId": "

The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.

", "S3BucketDestination$AccountId": "

The account ID of the owner of the S3 Storage Lens metrics export bucket.

", "S3JobManifestGenerator$ExpectedBucketOwner": "

The Amazon Web Services account ID that owns the bucket the generated manifest is written to. If provided the generated manifest bucket's owner Amazon Web Services account ID must match this value, else the job fails.

", "S3ManifestOutputLocation$ExpectedManifestBucketOwner": "

The Account ID that owns the bucket the generated manifest is written to.

", @@ -308,6 +323,13 @@ "CreateBucketRequest$ACL": "

The canned ACL to apply to the bucket.

This is not supported by Amazon S3 on Outposts buckets.

" } }, + "BucketIdentifierString": { + "base": null, + "refs": { + "Destination$Bucket": "

The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on Outposts to store the replication results.

", + "ReplicationRule$Bucket": "

The Amazon Resource Name (ARN) of the access point for the source Outposts bucket that you want S3 on Outposts to replicate the objects from.

" + } + }, "BucketLevel": { "base": "

A container for the bucket-level configuration for Amazon S3 Storage Lens.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide.

", "refs": { @@ -324,24 +346,27 @@ "base": null, "refs": { "AccessPoint$Bucket": "

The name of the bucket associated with this access point.

", - "CreateAccessPointRequest$Bucket": "

The name of the bucket that you want to associate this access point with.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "CreateAccessPointRequest$Bucket": "

The name of the bucket that you want to associate this access point with.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "CreateBucketRequest$Bucket": "

The name of the bucket.

", - "DeleteBucketLifecycleConfigurationRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "DeleteBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "DeleteBucketRequest$Bucket": "

Specifies the bucket being deleted.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "DeleteBucketTaggingRequest$Bucket": "

The bucket ARN that has the tag set to be removed.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "DeleteBucketLifecycleConfigurationRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "DeleteBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "DeleteBucketReplicationRequest$Bucket": "

Specifies the S3 on Outposts bucket to delete the replication configuration for.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "DeleteBucketRequest$Bucket": "

Specifies the bucket being deleted.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "DeleteBucketTaggingRequest$Bucket": "

The bucket ARN that has the tag set to be removed.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "GetAccessPointResult$Bucket": "

The name of the bucket associated with the specified access point.

", - "GetBucketLifecycleConfigurationRequest$Bucket": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "GetBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "GetBucketRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "GetBucketLifecycleConfigurationRequest$Bucket": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "GetBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "GetBucketReplicationRequest$Bucket": "

Specifies the bucket to get the replication information for.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "GetBucketRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "GetBucketResult$Bucket": "

The Outposts bucket requested.

", - "GetBucketTaggingRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "GetBucketTaggingRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "GetBucketVersioningRequest$Bucket": "

The S3 on Outposts bucket to return the versioning state for.

", - "ListAccessPointsRequest$Bucket": "

The name of the bucket whose associated access points you want to list.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "ListAccessPointsRequest$Bucket": "

The name of the bucket whose associated access points you want to list.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "MultiRegionAccessPointRoute$Bucket": "

The name of the Amazon S3 bucket for which you'll submit a routing configuration change. Either the Bucket or the Region value must be provided. If both are provided, the bucket must be in the specified Region.

", "PutBucketLifecycleConfigurationRequest$Bucket": "

The name of the bucket for which to set the configuration.

", - "PutBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", - "PutBucketTaggingRequest$Bucket": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "PutBucketPolicyRequest$Bucket": "

Specifies the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "PutBucketReplicationRequest$Bucket": "

Specifies the S3 on Outposts bucket to set the configuration for.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "PutBucketTaggingRequest$Bucket": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "PutBucketVersioningRequest$Bucket": "

The S3 on Outposts bucket to set the versioning state for.

", "Region$Bucket": "

The name of the associated bucket for the Region.

", "RegionReport$Bucket": "

The name of the bucket.

", @@ -531,6 +556,11 @@ "refs": { } }, + "DeleteBucketReplicationRequest": { + "base": null, + "refs": { + } + }, "DeleteBucketRequest": { "base": null, "refs": { @@ -551,6 +581,18 @@ "refs": { } }, + "DeleteMarkerReplication": { + "base": "

Specifies whether S3 on Outposts replicates delete markers. If you specify a Filter element in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication element's Status child element must be set to Disabled, because S3 on Outposts does not support replicating delete markers for tag-based rules.

For more information about delete marker replication, see How delete operations affect replication in the Amazon S3 User Guide.

", + "refs": { + "ReplicationRule$DeleteMarkerReplication": "

Specifies whether S3 on Outposts replicates delete markers. If you specify a Filter element in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication element's Status child element must be set to Disabled, because S3 on Outposts doesn't support replicating delete markers for tag-based rules.

For more information about delete marker replication, see How delete operations affect replication in the Amazon S3 User Guide.

" + } + }, + "DeleteMarkerReplicationStatus": { + "base": null, + "refs": { + "DeleteMarkerReplication$Status": "

Indicates whether to replicate delete markers.

" + } + }, "DeleteMultiRegionAccessPointInput": { "base": "

A container for the information associated with a DeleteMultiRegionAccessPoint request.

", "refs": { @@ -608,6 +650,12 @@ "refs": { } }, + "Destination": { + "base": "

Specifies information about the replication destination bucket and its settings for an S3 on Outposts replication configuration.

", + "refs": { + "ReplicationRule$Destination": "

A container for information about the replication destination and its configurations.

" + } + }, "DetailedStatusCodesMetrics": { "base": "

The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status code metrics generate metrics for HTTP status codes, such as 200 OK, 403 Forbidden, 503 Service Unavailable and others.

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

", "refs": { @@ -615,6 +663,12 @@ "BucketLevel$DetailedStatusCodesMetrics": "

A container for bucket-level detailed status code metrics for S3 Storage Lens.

" } }, + "EncryptionConfiguration": { + "base": "

Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "Destination$EncryptionConfiguration": "

A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

This is not supported by Amazon S3 on Outposts buckets.

" + } + }, "Endpoints": { "base": null, "refs": { @@ -647,6 +701,18 @@ "StorageLensConfiguration$Exclude": "

A container for what is excluded in this configuration. This container can only be valid if there is no Include container submitted, and it's not empty.

" } }, + "ExistingObjectReplication": { + "base": "

An optional configuration to replicate existing source bucket objects.

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "ReplicationRule$ExistingObjectReplication": "

An optional configuration to replicate existing source bucket objects.

This is not supported by Amazon S3 on Outposts buckets.

" + } + }, + "ExistingObjectReplicationStatus": { + "base": null, + "refs": { + "ExistingObjectReplication$Status": "

Specifies whether Amazon S3 replicates existing source bucket objects.

" + } + }, "ExpirationStatus": { "base": null, "refs": { @@ -775,6 +841,16 @@ "refs": { } }, + "GetBucketReplicationRequest": { + "base": null, + "refs": { + } + }, + "GetBucketReplicationResult": { + "base": null, + "refs": { + } + }, "GetBucketRequest": { "base": null, "refs": { @@ -925,7 +1001,8 @@ "ID": { "base": null, "refs": { - "LifecycleRule$ID": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

" + "LifecycleRule$ID": "

Unique identifier for the rule. The value cannot be longer than 255 characters.

", + "ReplicationRule$ID": "

A unique identifier for the rule. The maximum value is 255 characters.

" } }, "IdempotencyException": { @@ -1369,12 +1446,30 @@ "ListRegionalBucketsRequest$MaxResults": "

" } }, + "Metrics": { + "base": "

A container that specifies replication metrics-related settings.

", + "refs": { + "Destination$Metrics": "

A container that specifies replication metrics-related settings.

" + } + }, + "MetricsStatus": { + "base": null, + "refs": { + "Metrics$Status": "

Specifies whether replication metrics are enabled.

" + } + }, "MinStorageBytesPercentage": { "base": null, "refs": { "SelectionCriteria$MinStorageBytesPercentage": "

The minimum number of storage bytes percentage whose metrics will be selected.

You must choose a value greater than or equal to 1.0.

" } }, + "Minutes": { + "base": null, + "refs": { + "ReplicationTimeValue$Minutes": "

Contains an integer that specifies the time period in minutes.

Valid value: 15

" + } + }, "MultiRegionAccessPointAlias": { "base": null, "refs": { @@ -1489,7 +1584,7 @@ "ListMultiRegionAccessPointsResult$NextToken": "

If the specified bucket has more Multi-Region Access Points than can be returned in one call to this action, this field contains a continuation token. You can use this token tin subsequent calls to this action to retrieve additional Multi-Region Access Points.

", "ListRegionalBucketsRequest$NextToken": "

", "ListRegionalBucketsResult$NextToken": "

NextToken is sent when isTruncated is true, which means there are more buckets that can be listed. The next list requests to Amazon S3 can be continued with this NextToken. NextToken is obfuscated and is not a real key.

", - "S3CopyObjectOperation$TargetKeyPrefix": "

Specifies the folder prefix into which you would like the objects to be copied. For example, to copy objects into a folder named Folder1 in the destination bucket, set the TargetKeyPrefix to Folder1.

", + "S3CopyObjectOperation$TargetKeyPrefix": "

Specifies the folder prefix that you want the objects to be copied into. For example, to copy objects into a folder named Folder1 in the destination bucket, set the TargetKeyPrefix property to Folder1.

", "S3Grantee$Identifier": "

", "S3Grantee$DisplayName": "

", "S3ObjectMetadata$CacheControl": "

", @@ -1693,6 +1788,12 @@ "S3BucketDestination$OutputSchemaVersion": "

The schema version of the export file.

" } }, + "OwnerOverride": { + "base": null, + "refs": { + "AccessControlTranslation$Owner": "

Specifies the replica ownership.

" + } + }, "Policy": { "base": null, "refs": { @@ -1717,7 +1818,10 @@ "base": null, "refs": { "LifecycleRuleAndOperator$Prefix": "

Prefix identifying one or more objects to which the rule applies.

", - "LifecycleRuleFilter$Prefix": "

Prefix identifying one or more objects to which the rule applies.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

", + "LifecycleRuleFilter$Prefix": "

Prefix identifying one or more objects to which the rule applies.

When you're using XML requests, you must replace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. For more information, see XML-related object key constraints in the Amazon S3 User Guide.

", + "ReplicationRule$Prefix": "

An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in an Outposts bucket, specify an empty string.

When you're using XML requests, you must replace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. For more information, see XML-related object key constraints in the Amazon S3 User Guide.

", + "ReplicationRuleAndOperator$Prefix": "

An object key name prefix that identifies the subset of objects that the rule applies to.

", + "ReplicationRuleFilter$Prefix": "

An object key name prefix that identifies the subset of objects that the rule applies to.

When you're using XML requests, you must replace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. For more information, see XML-related object key constraints in the Amazon S3 User Guide.

", "S3BucketDestination$Prefix": "

The prefix of the destination bucket where the metrics export will be delivered.

" } }, @@ -1733,6 +1837,12 @@ "PrefixLevel$StorageMetrics": "

A container for the prefix-level storage metrics for S3 Storage Lens.

" } }, + "Priority": { + "base": null, + "refs": { + "ReplicationRule$Priority": "

The priority indicates which rule has precedence whenever two or more replication rules conflict. S3 on Outposts attempts to replicate objects according to all replication rules. However, if there are two or more rules with the same destination Outposts bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.

For more information, see Creating replication rules between Outposts in the Amazon S3 User Guide.

" + } + }, "ProposedMultiRegionAccessPointPolicy": { "base": "

The proposed access control policy for the Multi-Region Access Point.

When you update the policy, the update is first listed as the proposed policy. After the update is finished and all Regions have been updated, the proposed policy is listed as the established policy. If both policies have the same version number, the proposed policy is the established policy.

", "refs": { @@ -1783,6 +1893,11 @@ "refs": { } }, + "PutBucketReplicationRequest": { + "base": null, + "refs": { + } + }, "PutBucketTaggingRequest": { "base": null, "refs": { @@ -1891,6 +2006,61 @@ "Include$Regions": "

A container for the S3 Storage Lens Region includes.

" } }, + "ReplicaKmsKeyID": { + "base": null, + "refs": { + "EncryptionConfiguration$ReplicaKmsKeyID": "

Specifies the ID of the customer managed KMS key that's stored in Key Management Service (KMS) for the destination bucket. This ID is either the Amazon Resource Name (ARN) for the KMS key or the alias ARN for the KMS key. Amazon S3 uses this KMS key to encrypt replica objects. Amazon S3 supports only symmetric encryption KMS keys. For more information, see Symmetric encryption KMS keys in the Amazon Web Services Key Management Service Developer Guide.

" + } + }, + "ReplicaModifications": { + "base": "

A filter that you can use to specify whether replica modification sync is enabled. S3 on Outposts replica modification sync can help you keep object metadata synchronized between replicas and source objects. By default, S3 on Outposts replicates metadata from the source objects to the replicas only. When replica modification sync is enabled, S3 on Outposts replicates metadata changes made to the replica copies back to the source object, making the replication bidirectional.

To replicate object metadata modifications on replicas, you can specify this element and set the Status of this element to Enabled.

You must enable replica modification sync on the source and destination buckets to replicate replica metadata changes between the source and the replicas.

", + "refs": { + "SourceSelectionCriteria$ReplicaModifications": "

A filter that you can use to specify whether replica modification sync is enabled. S3 on Outposts replica modification sync can help you keep object metadata synchronized between replicas and source objects. By default, S3 on Outposts replicates metadata from the source objects to the replicas only. When replica modification sync is enabled, S3 on Outposts replicates metadata changes made to the replica copies back to the source object, making the replication bidirectional.

To replicate object metadata modifications on replicas, you can specify this element and set the Status of this element to Enabled.

You must enable replica modification sync on the source and destination buckets to replicate replica metadata changes between the source and the replicas.

" + } + }, + "ReplicaModificationsStatus": { + "base": null, + "refs": { + "ReplicaModifications$Status": "

Specifies whether S3 on Outposts replicates modifications to object metadata on replicas.

" + } + }, + "ReplicationConfiguration": { + "base": "

A container for one or more replication rules. A replication configuration must have at least one rule and you can add up to 100 rules. The maximum size of a replication configuration is 128 KB.

", + "refs": { + "GetBucketReplicationResult$ReplicationConfiguration": "

A container for one or more replication rules. A replication configuration must have at least one rule and you can add up to 100 rules. The maximum size of a replication configuration is 128 KB.

", + "PutBucketReplicationRequest$ReplicationConfiguration": "

" + } + }, + "ReplicationRule": { + "base": "

Specifies which S3 on Outposts objects to replicate and where to store the replicas.

", + "refs": { + "ReplicationRules$member": null + } + }, + "ReplicationRuleAndOperator": { + "base": "

A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter.

For example:

", + "refs": { + "ReplicationRuleFilter$And": "

A container for specifying rule filters. The filters determine the subset of objects that the rule applies to. This element is required only if you specify more than one filter. For example:

" + } + }, + "ReplicationRuleFilter": { + "base": "

A filter that identifies the subset of objects to which the replication rule applies. A Filter element must specify exactly one Prefix, Tag, or And child element.

", + "refs": { + "ReplicationRule$Filter": "

A filter that identifies the subset of objects to which the replication rule applies. A Filter element must specify exactly one Prefix, Tag, or And child element.

" + } + }, + "ReplicationRuleStatus": { + "base": null, + "refs": { + "ReplicationRule$Status": "

Specifies whether the rule is enabled.

" + } + }, + "ReplicationRules": { + "base": null, + "refs": { + "ReplicationConfiguration$Rules": "

A container for one or more replication rules. A replication configuration must have at least one rule and can contain an array of 100 rules at the most.

" + } + }, "ReplicationStatus": { "base": null, "refs": { @@ -1903,6 +2073,31 @@ "JobManifestGeneratorFilter$ObjectReplicationStatuses": "

If provided, the generated manifest should include only source bucket objects that have one of the specified Replication statuses.

" } }, + "ReplicationStorageClass": { + "base": null, + "refs": { + "Destination$StorageClass": "

The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the OUTPOSTS storage class. S3 on Outposts uses the OUTPOSTS storage class to create the object replicas.

Values other than OUTPOSTS are not supported by Amazon S3 on Outposts.

" + } + }, + "ReplicationTime": { + "base": "

A container that specifies S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated.

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "Destination$ReplicationTime": "

A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

This is not supported by Amazon S3 on Outposts buckets.

" + } + }, + "ReplicationTimeStatus": { + "base": null, + "refs": { + "ReplicationTime$Status": "

Specifies whether S3 Replication Time Control (S3 RTC) is enabled.

" + } + }, + "ReplicationTimeValue": { + "base": "

A container that specifies the time value for S3 Replication Time Control (S3 RTC). This value is also used for the replication metrics EventThreshold element.

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "Metrics$EventThreshold": "

A container that specifies the time threshold for emitting the s3:Replication:OperationMissedThreshold event.

This is not supported by Amazon S3 on Outposts buckets.

", + "ReplicationTime$Time": "

A container that specifies the time by which replication should be complete for all objects and operations on objects.

" + } + }, "ReportPrefixString": { "base": null, "refs": { @@ -1915,6 +2110,12 @@ "UpdateJobStatusRequest$RequestedJobStatus": "

The status that you want to move the specified job to.

" } }, + "Role": { + "base": null, + "refs": { + "ReplicationConfiguration$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that S3 on Outposts assumes when replicating objects. For information about S3 replication on Outposts configuration, see Setting up replication in the Amazon S3 User Guide.

" + } + }, "RouteList": { "base": null, "refs": { @@ -1955,7 +2156,7 @@ "Buckets$member": null, "JobReport$Bucket": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

", "S3BucketDestination$Arn": "

The Amazon Resource Name (ARN) of the bucket. This property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name

", - "S3CopyObjectOperation$TargetResource": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy objects to a bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

", + "S3CopyObjectOperation$TargetResource": "

Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation. For example, to copy objects to a bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

", "S3JobManifestGenerator$SourceBucket": "

The source bucket used by the ManifestGenerator.

", "S3ManifestOutputLocation$Bucket": "

The bucket ARN the generated manifest should be written to.

" } @@ -1976,7 +2177,7 @@ "S3ChecksumAlgorithm": { "base": null, "refs": { - "S3CopyObjectOperation$ChecksumAlgorithm": "

Indicates the algorithm you want Amazon S3 to use to create the checksum. For more information see Checking object integrity in the Amazon S3 User Guide.

" + "S3CopyObjectOperation$ChecksumAlgorithm": "

Indicates the algorithm that you want Amazon S3 to use to create the checksum. For more information, see Checking object integrity in the Amazon S3 User Guide.

" } }, "S3ContentLength": { @@ -1986,13 +2187,13 @@ } }, "S3CopyObjectOperation": { - "base": "

Contains the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every object to the underlying PUT Copy object API. For more information about the parameters for this operation, see PUT Object - Copy.

", + "base": "

Contains the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every object to the underlying CopyObject API operation. For more information about the parameters for this operation, see CopyObject.

", "refs": { "JobOperation$S3PutObjectCopy": "

Directs the specified job to run a PUT Copy object call on every object in the manifest.

" } }, "S3DeleteObjectTaggingOperation": { - "base": "

Contains no configuration parameters because the DELETE Object tagging API only accepts the bucket name and key name as parameters, which are defined in the job's manifest.

", + "base": "

Contains no configuration parameters because the DELETE Object tagging (DeleteObjectTagging) API operation accepts only the bucket name and key name as parameters, which are defined in the job's manifest.

", "refs": { "JobOperation$S3DeleteObjectTagging": "

Directs the specified job to execute a DELETE Object tagging call on every object in the manifest.

" } @@ -2041,7 +2242,7 @@ } }, "S3InitiateRestoreObjectOperation": { - "base": "

Contains the configuration parameters for an S3 Initiate Restore Object job. S3 Batch Operations passes every object to the underlying POST Object restore API. For more information about the parameters for this operation, see RestoreObject.

", + "base": "

Contains the configuration parameters for a POST Object restore job. S3 Batch Operations passes every object to the underlying RestoreObject API operation. For more information about the parameters for this operation, see RestoreObject.

", "refs": { "JobOperation$S3InitiateRestoreObject": "

Directs the specified job to initiate restore requests for every archived object in the manifest.

" } @@ -2055,7 +2256,7 @@ "S3KeyArnString": { "base": null, "refs": { - "JobManifestLocation$ObjectArn": "

The Amazon Resource Name (ARN) for a manifest object.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

" + "JobManifestLocation$ObjectArn": "

The Amazon Resource Name (ARN) for a manifest object.

When you're using XML requests, you must replace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. For more information, see XML-related object key constraints in the Amazon S3 User Guide.

" } }, "S3ManifestOutputLocation": { @@ -2122,7 +2323,7 @@ "S3RegionalBucketArn": { "base": null, "refs": { - "CreateBucketResult$BucketArn": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "CreateBucketResult$BucketArn": "

The Amazon Resource Name (ARN) of the bucket.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "RegionalBucket$BucketArn": "

The Amazon Resource Name (ARN) for the regional bucket.

" } }, @@ -2145,25 +2346,25 @@ } }, "S3SetObjectAclOperation": { - "base": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations passes every object to the underlying PutObjectAcl API. For more information about the parameters for this operation, see PutObjectAcl .

", + "base": "

Contains the configuration parameters for a PUT Object ACL operation. S3 Batch Operations passes every object to the underlying PutObjectAcl API operation. For more information about the parameters for this operation, see PutObjectAcl.

", "refs": { "JobOperation$S3PutObjectAcl": "

Directs the specified job to run a PutObjectAcl call on every object in the manifest.

" } }, "S3SetObjectLegalHoldOperation": { - "base": "

Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold API. For more information, see Using S3 Object Lock legal hold with S3 Batch Operations in the Amazon S3 User Guide.

", + "base": "

Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes to every object to the underlying PutObjectLegalHold API operation. For more information, see Using S3 Object Lock legal hold with S3 Batch Operations in the Amazon S3 User Guide.

", "refs": { "JobOperation$S3PutObjectLegalHold": null } }, "S3SetObjectRetentionOperation": { - "base": "

Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying PutObjectRetention API. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.

", + "base": "

Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying PutObjectRetention API operation. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.

", "refs": { "JobOperation$S3PutObjectRetention": null } }, "S3SetObjectTaggingOperation": { - "base": "

Contains the configuration parameters for a Set Object Tagging operation. S3 Batch Operations passes every object to the underlying PUT Object tagging API. For more information about the parameters for this operation, see PUT Object tagging.

", + "base": "

Contains the configuration parameters for a PUT Object Tagging operation. S3 Batch Operations passes every object to the underlying PutObjectTagging API operation. For more information about the parameters for this operation, see PutObjectTagging.

", "refs": { "JobOperation$S3PutObjectTagging": "

Directs the specified job to run a PUT Object tagging call on every object in the manifest.

" } @@ -2178,6 +2379,7 @@ "base": "

A container for a key-value name pair.

", "refs": { "LifecycleRuleFilter$Tag": null, + "ReplicationRuleFilter$Tag": null, "S3TagSet$member": null } }, @@ -2189,6 +2391,7 @@ "GetJobTaggingResult$Tags": "

The set of tags associated with the S3 Batch Operations job.

", "LifecycleRuleAndOperator$Tags": "

All of these tags must exist in the object's tag set in order for the rule to apply.

", "PutJobTaggingRequest$Tags": "

The set of tags to associate with the S3 Batch Operations job.

", + "ReplicationRuleAndOperator$Tags": "

An array of tags that contain key and value pairs.

", "S3CopyObjectOperation$NewObjectTagging": "

", "S3SetObjectTaggingOperation$TagSet": "

", "Tagging$TagSet": "

A collection for a set of tags.

" @@ -2245,6 +2448,24 @@ "PublicAccessBlockConfiguration$RestrictPublicBuckets": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only Amazon Web Service principals and authorized users within this account.

Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

This property is not supported for Amazon S3 on Outposts.

" } }, + "SourceSelectionCriteria": { + "base": "

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.

", + "refs": { + "ReplicationRule$SourceSelectionCriteria": "

A container that describes additional filters for identifying the source Outposts objects that you want to replicate. You can choose to enable or disable the replication of these objects.

" + } + }, + "SseKmsEncryptedObjects": { + "base": "

A container for filter information that you can use to select S3 objects that are encrypted with Key Management Service (KMS).

This is not supported by Amazon S3 on Outposts buckets.

", + "refs": { + "SourceSelectionCriteria$SseKmsEncryptedObjects": "

A filter that you can use to select Amazon S3 objects that are encrypted with server-side encryption by using Key Management Service (KMS) keys. If you include SourceSelectionCriteria in the replication configuration, this element is required.

This is not supported by Amazon S3 on Outposts buckets.

" + } + }, + "SseKmsEncryptedObjectsStatus": { + "base": null, + "refs": { + "SseKmsEncryptedObjects$Status": "

Specifies whether Amazon S3 replicates objects that are created with server-side encryption by using an KMS key stored in Key Management Service.

" + } + }, "StorageLensArn": { "base": null, "refs": { @@ -2381,7 +2602,7 @@ "TrafficDialPercentage": { "base": null, "refs": { - "MultiRegionAccessPointRoute$TrafficDialPercentage": "

The traffic state for the specified bucket or Amazon Web Services Region.

A value of 0 indicates a passive state, which means that no new traffic will be routed to the Region.

A value of 100 indicates an active state, which means that traffic will be routed to the specified Region.

When the routing configuration for a Region is changed from active to passive, any in-progress operations (uploads, copies, deletes, and so on) to the formerly active Region will continue to run to until a final success or failure status is reached.

If all Regions in the routing configuration are designated as passive, you'll receive an InvalidRequest error.

" + "MultiRegionAccessPointRoute$TrafficDialPercentage": "

The traffic state for the specified bucket or Amazon Web Services Region.

A value of 0 indicates a passive state, which means that no new traffic will be routed to the Region.

A value of 100 indicates an active state, which means that traffic will be routed to the specified Region.

When the routing configuration for a Region is changed from active to passive, any in-progress operations (uploads, copies, deletes, and so on) to the formerly active Region will continue to run to until a final success or failure status is reached.

If all Regions in the routing configuration are designated as passive, you'll receive an InvalidRequest error.

" } }, "Transition": { diff --git a/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json b/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json index e889cf6e133..fb9bc2cbe4a 100644 --- a/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json +++ b/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json @@ -304,9 +304,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -332,9 +332,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -350,9 +350,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -821,9 +821,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -864,9 +864,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -889,9 +889,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -1453,9 +1453,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -1496,9 +1496,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -1521,9 +1521,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3-outposts", - "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -1875,9 +1875,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -1893,9 +1893,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -1963,9 +1963,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2000,9 +2000,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2062,9 +2062,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2099,9 +2099,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2161,9 +2161,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2198,9 +2198,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2260,9 +2260,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2297,9 +2297,9 @@ "properties": { "authSchemes": [ { + "disableDoubleEncoding": true, "name": "sigv4", "signingName": "s3", - "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] diff --git a/models/apis/tnb/2008-10-21/api-2.json b/models/apis/tnb/2008-10-21/api-2.json index d98b2037528..c9f26a92847 100644 --- a/models/apis/tnb/2008-10-21/api-2.json +++ b/models/apis/tnb/2008-10-21/api-2.json @@ -1126,12 +1126,12 @@ "type": "structure" }, "CreateSolNetworkInstanceInputNsDescriptionString": { - "max": 124, - "min": 1, + "max": 255, + "min": 0, "type": "string" }, "CreateSolNetworkInstanceInputNsNameString": { - "max": 80, + "max": 100, "min": 1, "type": "string" }, @@ -1856,6 +1856,9 @@ "location": "uri", "locationName": "nsInstanceId", "shape": "NsInstanceId" + }, + "tags": { + "shape": "TagMap" } }, "required": [ @@ -1867,6 +1870,9 @@ "members": { "nsLcmOpOccId": { "shape": "NsLcmOpOccId" + }, + "tags": { + "shape": "TagMap" } }, "required": [ @@ -2777,6 +2783,9 @@ "location": "uri", "locationName": "nsInstanceId", "shape": "NsInstanceId" + }, + "tags": { + "shape": "TagMap" } }, "required": [ @@ -2788,6 +2797,9 @@ "members": { "nsLcmOpOccId": { "shape": "NsLcmOpOccId" + }, + "tags": { + "shape": "TagMap" } }, "type": "structure" @@ -2877,6 +2889,9 @@ "locationName": "nsInstanceId", "shape": "NsInstanceId" }, + "tags": { + "shape": "TagMap" + }, "updateType": { "shape": "UpdateSolNetworkType" } @@ -2891,6 +2906,9 @@ "members": { "nsLcmOpOccId": { "shape": "NsLcmOpOccId" + }, + "tags": { + "shape": "TagMap" } }, "type": "structure" diff --git a/models/apis/tnb/2008-10-21/docs-2.json b/models/apis/tnb/2008-10-21/docs-2.json index 4d09812d97a..c2b9ceba588 100644 --- a/models/apis/tnb/2008-10-21/docs-2.json +++ b/models/apis/tnb/2008-10-21/docs-2.json @@ -3,12 +3,12 @@ "service": "

Amazon Web Services Telco Network Builder (TNB) is a network automation service that helps you deploy and manage telecom networks. AWS TNB helps you with the lifecycle management of your telecommunication network functions throughout planning, deployment, and post-deployment activities.

", "operations": { "CancelSolNetworkOperation": "

Cancels a network operation.

A network operation is any operation that is done to your network, such as network instance instantiation or termination.

", - "CreateSolFunctionPackage": "

Creates a function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network. For more information, see Function packages in the Amazon Web Services Telco Network Builder User Guide.

Creating a function package is the first step for creating a network in AWS TNB. This request creates an empty container with an ID. The next step is to upload the actual CSAR zip file into that empty container. To upload function package content, see PutSolFunctionPackageContent.

", - "CreateSolNetworkInstance": "

Creates a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed. Creating a network instance is the third step after creating a network package. For more information about network instances, Network instances in the Amazon Web Services Telco Network Builder User Guide.

Once you create a network instance, you can instantiate it. To instantiate a network, see InstantiateSolNetworkInstance.

", - "CreateSolNetworkPackage": "

Creates a network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on. For more information, see Network instances in the Amazon Web Services Telco Network Builder User Guide.

A network package consists of a network service descriptor (NSD) file (required) and any additional files (optional), such as scripts specific to your needs. For example, if you have multiple function packages in your network package, you can use the NSD to define which network functions should run in certain VPCs, subnets, or EKS clusters.

This request creates an empty network package container with an ID. Once you create a network package, you can upload the network package content using PutSolNetworkPackageContent.

", - "DeleteSolFunctionPackage": "

Deletes a function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

To delete a function package, the package must be in a disabled state. To disable a function package, see UpdateSolFunctionPackage.

", - "DeleteSolNetworkInstance": "

Deletes a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

To delete a network instance, the instance must be in a stopped or terminated state. To terminate a network instance, see TerminateSolNetworkInstance.

", - "DeleteSolNetworkPackage": "

Deletes network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

To delete a network package, the package must be in a disable state. To disable a network package, see UpdateSolNetworkPackage.

", + "CreateSolFunctionPackage": "

Creates a function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network. For more information, see Function packages in the Amazon Web Services Telco Network Builder User Guide.

Creating a function package is the first step for creating a network in AWS TNB. This request creates an empty container with an ID. The next step is to upload the actual CSAR zip file into that empty container. To upload function package content, see PutSolFunctionPackageContent.

", + "CreateSolNetworkInstance": "

Creates a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed. Creating a network instance is the third step after creating a network package. For more information about network instances, Network instances in the Amazon Web Services Telco Network Builder User Guide.

Once you create a network instance, you can instantiate it. To instantiate a network, see InstantiateSolNetworkInstance.

", + "CreateSolNetworkPackage": "

Creates a network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on. For more information, see Network instances in the Amazon Web Services Telco Network Builder User Guide.

A network package consists of a network service descriptor (NSD) file (required) and any additional files (optional), such as scripts specific to your needs. For example, if you have multiple function packages in your network package, you can use the NSD to define which network functions should run in certain VPCs, subnets, or EKS clusters.

This request creates an empty network package container with an ID. Once you create a network package, you can upload the network package content using PutSolNetworkPackageContent.

", + "DeleteSolFunctionPackage": "

Deletes a function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

To delete a function package, the package must be in a disabled state. To disable a function package, see UpdateSolFunctionPackage.

", + "DeleteSolNetworkInstance": "

Deletes a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

To delete a network instance, the instance must be in a stopped or terminated state. To terminate a network instance, see TerminateSolNetworkInstance.

", + "DeleteSolNetworkPackage": "

Deletes network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

To delete a network package, the package must be in a disable state. To disable a network package, see UpdateSolNetworkPackage.

", "GetSolFunctionInstance": "

Gets the details of a network function instance, including the instantation state and metadata from the function package descriptor in the network function package.

A network function instance is a function in a function package .

", "GetSolFunctionPackage": "

Gets the details of an individual function package, such as the operational state and whether the package is in use.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network..

", "GetSolFunctionPackageContent": "

Gets the contents of a function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

", @@ -18,7 +18,7 @@ "GetSolNetworkPackage": "

Gets the details of a network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

", "GetSolNetworkPackageContent": "

Gets the contents of a network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

", "GetSolNetworkPackageDescriptor": "

Gets the content of the network service descriptor.

A network service descriptor is a .yaml file in a network package that uses the TOSCA standard to describe the network functions you want to deploy and the Amazon Web Services infrastructure you want to deploy the network functions on.

", - "InstantiateSolNetworkInstance": "

Instantiates a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

Before you can instantiate a network instance, you have to create a network instance. For more information, see CreateSolNetworkInstance.

", + "InstantiateSolNetworkInstance": "

Instantiates a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

Before you can instantiate a network instance, you have to create a network instance. For more information, see CreateSolNetworkInstance.

", "ListSolFunctionInstances": "

Lists network function instances.

A network function instance is a function in a function package .

", "ListSolFunctionPackages": "

Lists information about function packages.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

", "ListSolNetworkInstances": "

Lists your network instances.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

", @@ -33,8 +33,8 @@ "UpdateSolFunctionPackage": "

Updates the operational state of function package.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

", "UpdateSolNetworkInstance": "

Update a network instance.

A network instance is a single network created in Amazon Web Services TNB that can be deployed and on which life-cycle operations (like terminate, update, and delete) can be performed.

", "UpdateSolNetworkPackage": "

Updates the operational state of a network package.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

A network service descriptor is a .yaml file in a network package that uses the TOSCA standard to describe the network functions you want to deploy and the Amazon Web Services infrastructure you want to deploy the network functions on.

", - "ValidateSolFunctionPackageContent": "

Validates function package content. This can be used as a dry run before uploading function package content with PutSolFunctionPackageContent.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

", - "ValidateSolNetworkPackageContent": "

Validates network package content. This can be used as a dry run before uploading network package content with PutSolNetworkPackageContent.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

" + "ValidateSolFunctionPackageContent": "

Validates function package content. This can be used as a dry run before uploading function package content with PutSolFunctionPackageContent.

A function package is a .zip file in CSAR (Cloud Service Archive) format that contains a network function (an ETSI standard telecommunication application) and function package descriptor that uses the TOSCA standard to describe how the network functions should run on your network.

", + "ValidateSolNetworkPackageContent": "

Validates network package content. This can be used as a dry run before uploading network package content with PutSolNetworkPackageContent.

A network package is a .zip file in CSAR (Cloud Service Archive) format defines the function packages you want to deploy and the Amazon Web Services infrastructure you want to deploy them on.

" }, "shapes": { "AccessDeniedException": { @@ -244,7 +244,7 @@ } }, "GetSolNetworkOperationMetadata": { - "base": "

Metadata related to a network operation occurence.

A network operation is any operation that is done to your network, such as network instance instantiation or termination.

", + "base": "

Metadata related to a network operation occurrence.

A network operation is any operation that is done to your network, such as network instance instantiation or termination.

", "refs": { "GetSolNetworkOperationOutput$metadata": "

Metadata of this network operation occurrence.

" } @@ -577,14 +577,14 @@ "NsLcmOpOccId": { "base": null, "refs": { - "CancelSolNetworkOperationInput$nsLcmOpOccId": "

The ID of a network operation occurrence.

", - "GetSolNetworkOperationInput$nsLcmOpOccId": "

The identifier of the operation occurrence.

", + "CancelSolNetworkOperationInput$nsLcmOpOccId": "

The identifier of the network operation.

", + "GetSolNetworkOperationInput$nsLcmOpOccId": "

The identifier of the network operation.

", "GetSolNetworkOperationOutput$id": "

ID of this network operation occurrence.

", - "InstantiateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the network instance.

", - "LcmOperationInfo$nsLcmOpOccId": "

The identifier of the latest network lifecycle management operation occurrence.

", + "InstantiateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the network operation.

", + "LcmOperationInfo$nsLcmOpOccId": "

The identifier of the network operation.

", "ListSolNetworkOperationsInfo$id": "

ID of this network operation.

", - "TerminateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the operation occurrence.

", - "UpdateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the network instance operation occurrence.

" + "TerminateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the network operation.

", + "UpdateSolNetworkInstanceOutput$nsLcmOpOccId": "

The identifier of the network operation.

" } }, "NsLcmOperationState": { @@ -724,7 +724,7 @@ "ProblemDetails": { "base": "

Details related to problems with AWS TNB resources.

", "refs": { - "GetSolNetworkOperationOutput$error": "

Error related to this specific network operation occurence.

", + "GetSolNetworkOperationOutput$error": "

Error related to this specific network operation occurrence.

", "ListSolNetworkOperationsInfo$error": "

Error related to this specific network operation.

" } }, @@ -893,8 +893,14 @@ "GetSolNetworkInstanceOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", "GetSolNetworkOperationOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", "GetSolNetworkPackageOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", + "InstantiateSolNetworkInstanceInput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

", + "InstantiateSolNetworkInstanceOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

", "ListTagsForResourceOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", - "TagResourceInput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

" + "TagResourceInput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", + "TerminateSolNetworkInstanceInput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

", + "TerminateSolNetworkInstanceOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

", + "UpdateSolNetworkInstanceInput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

", + "UpdateSolNetworkInstanceOutput$tags": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. When you use this API, the tags are transferred to the network operation that is created. Use tags to search and filter your resources or track your Amazon Web Services costs.

" } }, "TagResourceInput": { diff --git a/models/apis/wisdom/2020-10-19/api-2.json b/models/apis/wisdom/2020-10-19/api-2.json index ed6c5d5a706..bd5d1eb98cc 100644 --- a/models/apis/wisdom/2020-10-19/api-2.json +++ b/models/apis/wisdom/2020-10-19/api-2.json @@ -505,10 +505,7 @@ }, "AppIntegrationsConfiguration":{ "type":"structure", - "required":[ - "appIntegrationArn", - "objectFields" - ], + "required":["appIntegrationArn"], "members":{ "appIntegrationArn":{"shape":"GenericArn"}, "objectFields":{"shape":"ObjectFieldsList"} diff --git a/models/apis/wisdom/2020-10-19/docs-2.json b/models/apis/wisdom/2020-10-19/docs-2.json index 5b4c4b6eabd..d0ac3769ab6 100644 --- a/models/apis/wisdom/2020-10-19/docs-2.json +++ b/models/apis/wisdom/2020-10-19/docs-2.json @@ -1,11 +1,11 @@ { "version": "2.0", - "service": "

Amazon Connect Wisdom delivers agents the information they need to solve customer issues as they're actively speaking with customers. Agents can search across connected repositories from within their agent desktop to find answers quickly. Use the Amazon Connect Wisdom APIs to create an assistant and a knowledge base, for example, or manage content by uploading custom files.

", + "service": "

Amazon Connect Wisdom delivers agents the information they need to solve customer issues as they're actively speaking with customers. Agents can search across connected repositories from within their agent desktop to find answers quickly. Use Amazon Connect Wisdom to create an assistant and a knowledge base, for example, or manage content by uploading custom files.

", "operations": { "CreateAssistant": "

Creates an Amazon Connect Wisdom assistant.

", "CreateAssistantAssociation": "

Creates an association between an Amazon Connect Wisdom assistant and another resource. Currently, the only supported association is with a knowledge base. An assistant can have only a single association.

", "CreateContent": "

Creates Wisdom content. Before to calling this API, use StartContentUpload to upload an asset.

", - "CreateKnowledgeBase": "

Creates a knowledge base.

When using this API, you cannot reuse Amazon AppIntegrations DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an InvalidRequestException error.

 <p>For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:</p> <ol> <li> <p>Call <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_DeleteKnowledgeBase.html">DeleteKnowledgeBase</a>.</p> </li> <li> <p>Call <a href="https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html">DeleteDataIntegration</a>.</p> </li> <li> <p>Call <a href="https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html">CreateDataIntegration</a> to recreate the DataIntegration or a create different one.</p> </li> <li> <p>Call CreateKnowledgeBase.</p> </li> </ol> </note> 
", + "CreateKnowledgeBase": "

Creates a knowledge base.

When using this API, you cannot reuse Amazon AppIntegrations DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an InvalidRequestException error.

For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:

  1. Call DeleteKnowledgeBase.

  2. Call DeleteDataIntegration.

  3. Call CreateDataIntegration to recreate the DataIntegration or a create different one.

  4. Call CreateKnowledgeBase.

", "CreateSession": "

Creates a session. A session is a contextual container used for generating recommendations. Amazon Connect creates a new Wisdom session for each contact on which Wisdom is enabled.

", "DeleteAssistant": "

Deletes an assistant.

", "DeleteAssistantAssociation": "

Deletes an assistant association.

", @@ -155,9 +155,9 @@ "ClientToken": { "base": null, "refs": { - "CreateAssistantAssociationRequest$clientToken": "

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

", - "CreateAssistantRequest$clientToken": "

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

", - "CreateSessionRequest$clientToken": "

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

" + "CreateAssistantAssociationRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateAssistantRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateSessionRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

" } }, "ConflictException": { @@ -370,7 +370,7 @@ "GenericArn": { "base": null, "refs": { - "AppIntegrationsConfiguration$appIntegrationArn": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

" + "AppIntegrationsConfiguration$appIntegrationArn": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

" } }, "GetAssistantAssociationRequest": { @@ -612,8 +612,8 @@ "ContentMetadata$key": null, "ContentMetadata$value": null, "ContentSummary$revisionId": "

The identifier of the revision of the content.

", - "CreateContentRequest$clientToken": "

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

", - "CreateKnowledgeBaseRequest$clientToken": "

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

", + "CreateContentRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateKnowledgeBaseRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "Filter$value": "

The desired field value on which to filter.

", "Headers$key": null, "Headers$value": null, @@ -655,7 +655,7 @@ "ObjectFieldsList": { "base": null, "refs": { - "AppIntegrationsConfiguration$objectFields": "

The fields from the source that are made available to your agents in Wisdom.

Make sure to include additional fields. These fields are indexed and used to source recommendations.

" + "AppIntegrationsConfiguration$objectFields": "

The fields from the source that are made available to your agents in Wisdom. Optional if ObjectConfiguration is included in the provided DataIntegration.

Make sure to include additional fields. These fields are indexed and used to source recommendations.

" } }, "PreconditionFailedException": { @@ -999,7 +999,7 @@ "refs": { "ContentData$linkOutUri": "

The URI of the content.

", "CreateContentRequest$overrideLinkOutUri": "

The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.

", - "RenderingConfiguration$templateUri": "

A URI template containing exactly one variable in ${variableName} format. This can only be set for EXTERNAL knowledge bases. For Salesforce and ServiceNow, the variable must be one of the following:

 <p>The variable is replaced with the actual value for a piece of content when calling <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html">GetContent</a>. </p> 
", + "RenderingConfiguration$templateUri": "

A URI template containing exactly one variable in ${variableName} format. This can only be set for EXTERNAL knowledge bases. For Salesforce, ServiceNow, and Zendesk, the variable must be one of the following:

The variable is replaced with the actual value for a piece of content when calling GetContent.

", "UpdateContentRequest$overrideLinkOutUri": "

The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing overrideLinkOurUri, exclude this argument and set removeOverrideLinkOutUri to true.

", "UpdateKnowledgeBaseTemplateUriRequest$templateUri": "

The template URI to update.

" } diff --git a/models/apis/wisdom/2020-10-19/endpoint-rule-set-1.json b/models/apis/wisdom/2020-10-19/endpoint-rule-set-1.json index 84ca7760cec..ed174d9d57a 100644 --- a/models/apis/wisdom/2020-10-19/endpoint-rule-set-1.json +++ b/models/apis/wisdom/2020-10-19/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://wisdom-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://wisdom-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://wisdom-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://wisdom.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -222,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://wisdom-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://wisdom.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -231,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://wisdom.{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://wisdom.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/wisdom/2020-10-19/endpoint-tests-1.json b/models/apis/wisdom/2020-10-19/endpoint-tests-1.json index 2da46a4bac2..992d9927332 100644 --- a/models/apis/wisdom/2020-10-19/endpoint-tests-1.json +++ b/models/apis/wisdom/2020-10-19/endpoint-tests-1.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://wisdom-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.eu-central-1.amazonaws.com" + "url": "https://wisdom.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, "UseDualStack": false, - "Region": "eu-central-1" + "UseFIPS": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.eu-central-1.api.aws" + "url": "https://wisdom.ap-southeast-2.amazonaws.com" } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-central-1" + "Region": "ap-southeast-2" } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseFIPS": false, "UseDualStack": false, + "UseFIPS": false, "Region": "eu-central-1" } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://wisdom-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.us-west-2.amazonaws.com" + "url": "https://wisdom.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, "UseDualStack": false, - "Region": "us-west-2" + "UseFIPS": false, + "Region": "eu-west-2" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.us-west-2.api.aws" + "url": "https://wisdom.us-east-1.amazonaws.com" } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-2" + "Region": "us-east-1" } }, { @@ -99,230 +73,230 @@ } }, "params": { - "UseFIPS": false, "UseDualStack": false, + "UseFIPS": false, "Region": "us-west-2" } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.eu-west-2.api.aws" + "url": "https://wisdom-fips.us-east-1.api.aws" } }, "params": { - "UseFIPS": true, "UseDualStack": true, - "Region": "eu-west-2" + "UseFIPS": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.eu-west-2.amazonaws.com" + "url": "https://wisdom-fips.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, "UseDualStack": false, - "Region": "eu-west-2" + "UseFIPS": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom.eu-west-2.api.aws" + "url": "https://wisdom.us-east-1.api.aws" } }, "params": { - "UseFIPS": false, "UseDualStack": true, - "Region": "eu-west-2" + "UseFIPS": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom.eu-west-2.amazonaws.com" + "url": "https://wisdom-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.ap-northeast-1.api.aws" + "url": "https://wisdom-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-1" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.ap-northeast-1.amazonaws.com" + "url": "https://wisdom.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.ap-northeast-1.api.aws" + "url": "https://wisdom.cn-north-1.amazonaws.com.cn" } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-1" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom.ap-northeast-1.amazonaws.com" + "url": "https://wisdom-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.ap-southeast-2.api.aws" + "url": "https://wisdom-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-southeast-2" + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.ap-southeast-2.amazonaws.com" + "url": "https://wisdom.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.ap-southeast-2.api.aws" + "url": "https://wisdom.us-gov-east-1.amazonaws.com" } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-southeast-2" + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.ap-southeast-2.amazonaws.com" + "url": "https://wisdom-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": false, "UseDualStack": false, - "Region": "ap-southeast-2" + "UseFIPS": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.us-east-1.api.aws" + "url": "https://wisdom.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom-fips.us-east-1.amazonaws.com" + "url": "https://wisdom-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1" + "UseFIPS": true, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://wisdom.us-east-1.api.aws" + "url": "https://wisdom.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://wisdom.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1" + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, - "Region": "us-east-1", + "UseFIPS": false, "Endpoint": "https://example.com" } }, @@ -332,8 +306,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "UseDualStack": false, + "UseFIPS": true, "Region": "us-east-1", "Endpoint": "https://example.com" } @@ -344,8 +318,8 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "UseDualStack": true, + "UseFIPS": false, "Region": "us-east-1", "Endpoint": "https://example.com" } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 8af3a9bc2bb..dabbac6a661 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -12504,6 +12504,7 @@ "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, diff --git a/service/appintegrationsservice/api.go b/service/appintegrationsservice/api.go index c724184af7e..1038c2d796c 100644 --- a/service/appintegrationsservice/api.go +++ b/service/appintegrationsservice/api.go @@ -1477,27 +1477,42 @@ type CreateDataIntegrationInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // A description of the DataIntegration. Description *string `min:"1" type:"string"` + // The configuration for what files should be pulled from the source. + FileConfiguration *FileConfiguration `type:"structure"` + // The KMS key for the DataIntegration. - KmsKey *string `min:"1" type:"string"` + // + // KmsKey is a required field + KmsKey *string `min:"1" type:"string" required:"true"` // The name of the DataIntegration. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` + // The configuration for what data should be pulled from the source. + ObjectConfiguration map[string]map[string][]*string `type:"map"` + // The name of the data and how often it should be pulled from the source. - ScheduleConfig *ScheduleConfiguration `type:"structure"` + // + // ScheduleConfig is a required field + ScheduleConfig *ScheduleConfiguration `type:"structure" required:"true"` // The URI of the data source. - SourceURI *string `min:"1" type:"string"` + // + // SourceURI is a required field + SourceURI *string `min:"1" type:"string" required:"true"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -1528,6 +1543,9 @@ func (s *CreateDataIntegrationInput) Validate() error { if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.KmsKey == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKey")) + } if s.KmsKey != nil && len(*s.KmsKey) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1)) } @@ -1537,12 +1555,23 @@ func (s *CreateDataIntegrationInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.ScheduleConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleConfig")) + } + if s.SourceURI == nil { + invalidParams.Add(request.NewErrParamRequired("SourceURI")) + } if s.SourceURI != nil && len(*s.SourceURI) < 1 { invalidParams.Add(request.NewErrParamMinLen("SourceURI", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.FileConfiguration != nil { + if err := s.FileConfiguration.Validate(); err != nil { + invalidParams.AddNested("FileConfiguration", err.(request.ErrInvalidParams)) + } + } if s.ScheduleConfig != nil { if err := s.ScheduleConfig.Validate(); err != nil { invalidParams.AddNested("ScheduleConfig", err.(request.ErrInvalidParams)) @@ -1567,6 +1596,12 @@ func (s *CreateDataIntegrationInput) SetDescription(v string) *CreateDataIntegra return s } +// SetFileConfiguration sets the FileConfiguration field's value. +func (s *CreateDataIntegrationInput) SetFileConfiguration(v *FileConfiguration) *CreateDataIntegrationInput { + s.FileConfiguration = v + return s +} + // SetKmsKey sets the KmsKey field's value. func (s *CreateDataIntegrationInput) SetKmsKey(v string) *CreateDataIntegrationInput { s.KmsKey = &v @@ -1579,6 +1614,12 @@ func (s *CreateDataIntegrationInput) SetName(v string) *CreateDataIntegrationInp return s } +// SetObjectConfiguration sets the ObjectConfiguration field's value. +func (s *CreateDataIntegrationInput) SetObjectConfiguration(v map[string]map[string][]*string) *CreateDataIntegrationInput { + s.ObjectConfiguration = v + return s +} + // SetScheduleConfig sets the ScheduleConfig field's value. func (s *CreateDataIntegrationInput) SetScheduleConfig(v *ScheduleConfiguration) *CreateDataIntegrationInput { s.ScheduleConfig = v @@ -1604,12 +1645,17 @@ type CreateDataIntegrationOutput struct { Arn *string `min:"1" type:"string"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `min:"1" type:"string"` // A description of the DataIntegration. Description *string `min:"1" type:"string"` + // The configuration for what files should be pulled from the source. + FileConfiguration *FileConfiguration `type:"structure"` + // A unique identifier. Id *string `type:"string"` @@ -1619,13 +1665,17 @@ type CreateDataIntegrationOutput struct { // The name of the DataIntegration. Name *string `min:"1" type:"string"` + // The configuration for what data should be pulled from the source. + ObjectConfiguration map[string]map[string][]*string `type:"map"` + // The name of the data and how often it should be pulled from the source. ScheduleConfiguration *ScheduleConfiguration `type:"structure"` // The URI of the data source. SourceURI *string `min:"1" type:"string"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -1665,6 +1715,12 @@ func (s *CreateDataIntegrationOutput) SetDescription(v string) *CreateDataIntegr return s } +// SetFileConfiguration sets the FileConfiguration field's value. +func (s *CreateDataIntegrationOutput) SetFileConfiguration(v *FileConfiguration) *CreateDataIntegrationOutput { + s.FileConfiguration = v + return s +} + // SetId sets the Id field's value. func (s *CreateDataIntegrationOutput) SetId(v string) *CreateDataIntegrationOutput { s.Id = &v @@ -1683,6 +1739,12 @@ func (s *CreateDataIntegrationOutput) SetName(v string) *CreateDataIntegrationOu return s } +// SetObjectConfiguration sets the ObjectConfiguration field's value. +func (s *CreateDataIntegrationOutput) SetObjectConfiguration(v map[string]map[string][]*string) *CreateDataIntegrationOutput { + s.ObjectConfiguration = v + return s +} + // SetScheduleConfiguration sets the ScheduleConfiguration field's value. func (s *CreateDataIntegrationOutput) SetScheduleConfiguration(v *ScheduleConfiguration) *CreateDataIntegrationOutput { s.ScheduleConfiguration = v @@ -1705,7 +1767,9 @@ type CreateEventIntegrationInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // The description of the event integration. @@ -1726,7 +1790,8 @@ type CreateEventIntegrationInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -1858,11 +1923,11 @@ func (s *CreateEventIntegrationOutput) SetEventIntegrationArn(v string) *CreateE type DataIntegrationAssociationSummary struct { _ struct{} `type:"structure"` - // The identifier for teh client that is associated with the DataIntegration + // The identifier for the client that is associated with the DataIntegration // association. ClientId *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN)of the DataIntegration. + // The Amazon Resource Name (ARN) of the DataIntegration. DataIntegrationArn *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the DataIntegration association. @@ -2230,7 +2295,8 @@ type EventIntegration struct { // The name of the event integration. Name *string `min:"1" type:"string"` - // The tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -2365,6 +2431,65 @@ func (s *EventIntegrationAssociation) SetEventIntegrationName(v string) *EventIn return s } +// The configuration for what files should be pulled from the source. +type FileConfiguration struct { + _ struct{} `type:"structure"` + + // Restrictions for what files should be pulled from the source. + Filters map[string][]*string `type:"map"` + + // Identifiers for the source folders to pull all files from recursively. + // + // Folders is a required field + Folders []*string `min:"1" 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 FileConfiguration) 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 FileConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileConfiguration"} + if s.Folders == nil { + invalidParams.Add(request.NewErrParamRequired("Folders")) + } + if s.Folders != nil && len(s.Folders) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Folders", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *FileConfiguration) SetFilters(v map[string][]*string) *FileConfiguration { + s.Filters = v + return s +} + +// SetFolders sets the Folders field's value. +func (s *FileConfiguration) SetFolders(v []*string) *FileConfiguration { + s.Folders = v + return s +} + type GetDataIntegrationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -2423,6 +2548,9 @@ type GetDataIntegrationOutput struct { // The KMS key for the DataIntegration. Description *string `min:"1" type:"string"` + // The configuration for what files should be pulled from the source. + FileConfiguration *FileConfiguration `type:"structure"` + // A unique identifier. Id *string `type:"string"` @@ -2432,13 +2560,17 @@ type GetDataIntegrationOutput struct { // The name of the DataIntegration. Name *string `min:"1" type:"string"` + // The configuration for what data should be pulled from the source. + ObjectConfiguration map[string]map[string][]*string `type:"map"` + // The name of the data and how often it should be pulled from the source. ScheduleConfiguration *ScheduleConfiguration `type:"structure"` // The URI of the data source. SourceURI *string `min:"1" type:"string"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -2472,6 +2604,12 @@ func (s *GetDataIntegrationOutput) SetDescription(v string) *GetDataIntegrationO return s } +// SetFileConfiguration sets the FileConfiguration field's value. +func (s *GetDataIntegrationOutput) SetFileConfiguration(v *FileConfiguration) *GetDataIntegrationOutput { + s.FileConfiguration = v + return s +} + // SetId sets the Id field's value. func (s *GetDataIntegrationOutput) SetId(v string) *GetDataIntegrationOutput { s.Id = &v @@ -2490,6 +2628,12 @@ func (s *GetDataIntegrationOutput) SetName(v string) *GetDataIntegrationOutput { return s } +// SetObjectConfiguration sets the ObjectConfiguration field's value. +func (s *GetDataIntegrationOutput) SetObjectConfiguration(v map[string]map[string][]*string) *GetDataIntegrationOutput { + s.ObjectConfiguration = v + return s +} + // SetScheduleConfiguration sets the ScheduleConfiguration field's value. func (s *GetDataIntegrationOutput) SetScheduleConfiguration(v *ScheduleConfiguration) *GetDataIntegrationOutput { s.ScheduleConfiguration = v @@ -2575,7 +2719,8 @@ type GetEventIntegrationOutput struct { // The name of the event integration. Name *string `min:"1" type:"string"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. Tags map[string]*string `min:"1" type:"map"` } @@ -3395,14 +3540,17 @@ func (s *ResourceQuotaExceededException) RequestID() string { type ScheduleConfiguration struct { _ struct{} `type:"structure"` - // The start date for objects to import in the first flow run. + // The start date for objects to import in the first flow run as an Unix/epoch + // timestamp in milliseconds or in ISO-8601 format. FirstExecutionFrom *string `min:"1" type:"string"` // The name of the object to pull from the data source. Object *string `min:"1" type:"string"` // How often the data should be pulled from data source. - ScheduleExpression *string `min:"1" type:"string"` + // + // ScheduleExpression is a required field + ScheduleExpression *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3432,6 +3580,9 @@ func (s *ScheduleConfiguration) Validate() error { if s.Object != nil && len(*s.Object) < 1 { invalidParams.Add(request.NewErrParamMinLen("Object", 1)) } + if s.ScheduleExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleExpression")) + } if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) } @@ -3468,7 +3619,8 @@ type TagResourceInput struct { // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` - // One or more tags. + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. // // Tags is a required field Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` diff --git a/service/connectwisdomservice/api.go b/service/connectwisdomservice/api.go index 99f66267b38..080237c6488 100644 --- a/service/connectwisdomservice/api.go +++ b/service/connectwisdomservice/api.go @@ -351,13 +351,18 @@ func (c *ConnectWisdomService) CreateKnowledgeBaseRequest(input *CreateKnowledge // DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. // If you do, you'll get an InvalidRequestException error. // -//

For example, you're programmatically managing your external knowledge -// base, and you want to add or remove one of the fields that is being ingested -// from Salesforce. Do the following:

  1. Call DeleteKnowledgeBase.

    -//
  2. Call DeleteDataIntegration.

    -//
  3. Call CreateDataIntegration -// to recreate the DataIntegration or a create different one.

  4. -//

    Call CreateKnowledgeBase.

+// For example, you're programmatically managing your external knowledge base, +// and you want to add or remove one of the fields that is being ingested from +// Salesforce. Do the following: +// +// Call DeleteKnowledgeBase (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_DeleteKnowledgeBase.html). +// +// Call DeleteDataIntegration (https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html). +// +// Call CreateDataIntegration (https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html) +// to recreate the DataIntegration or a create different one. +// +// Call CreateKnowledgeBase. // // 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 @@ -3202,10 +3207,30 @@ type AppIntegrationsConfiguration struct { // The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to // use for ingesting content. // + // * For Salesforce (https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm), + // your AppIntegrations DataIntegration must have an ObjectConfiguration + // if objectFields is not provided, including at least Id, ArticleNumber, + // VersionNumber, Title, PublishStatus, and IsDeleted as source fields. + // + // * For ServiceNow (https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api), + // your AppIntegrations DataIntegration must have an ObjectConfiguration + // if objectFields is not provided, including at least number, short_description, + // sys_mod_count, workflow_state, and active as source fields. + // + // * For Zendesk (https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/), + // your AppIntegrations DataIntegration must have an ObjectConfiguration + // if objectFields is not provided, including at least id, title, updated_at, + // and draft as source fields. + // + // * For SharePoint (https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/sharepoint-net-server-csom-jsom-and-rest-api-index), + // your AppIntegrations DataIntegration must have a FileConfiguration, including + // only file extensions that are among docx, pdf, html, htm, and txt. + // // AppIntegrationArn is a required field AppIntegrationArn *string `locationName:"appIntegrationArn" min:"1" type:"string" required:"true"` // The fields from the source that are made available to your agents in Wisdom. + // Optional if ObjectConfiguration is included in the provided DataIntegration. // // * For Salesforce (https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm), // you must include at least Id, ArticleNumber, VersionNumber, Title, PublishStatus, @@ -3215,11 +3240,12 @@ type AppIntegrationsConfiguration struct { // you must include at least number, short_description, sys_mod_count, workflow_state, // and active. // + // * For Zendesk (https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/), + // you must include at least id, title, updated_at, and draft. + // // Make sure to include additional fields. These fields are indexed and used // to source recommendations. - // - // ObjectFields is a required field - ObjectFields []*string `locationName:"objectFields" min:"1" type:"list" required:"true"` + ObjectFields []*string `locationName:"objectFields" min:"1" type:"list"` } // String returns the string representation. @@ -3249,9 +3275,6 @@ func (s *AppIntegrationsConfiguration) Validate() error { if s.AppIntegrationArn != nil && len(*s.AppIntegrationArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("AppIntegrationArn", 1)) } - if s.ObjectFields == nil { - invalidParams.Add(request.NewErrParamRequired("ObjectFields")) - } if s.ObjectFields != nil && len(s.ObjectFields) < 1 { invalidParams.Add(request.NewErrParamMinLen("ObjectFields", 1)) } @@ -4215,7 +4238,9 @@ type CreateAssistantAssociationInput struct { AssociationType *string `locationName:"associationType" type:"string" required:"true" enum:"AssociationType"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The tags used to organize, track, or control access for this resource. @@ -4330,7 +4355,9 @@ type CreateAssistantInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The description of the assistant. @@ -4472,7 +4499,9 @@ type CreateContentInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The identifier of the knowledge base. Can be either the ID or the ARN. URLs @@ -4650,7 +4679,9 @@ type CreateKnowledgeBaseInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The description. @@ -4829,7 +4860,9 @@ type CreateSessionInput struct { AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` // A unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The description. @@ -7660,8 +7693,8 @@ type RenderingConfiguration struct { _ struct{} `type:"structure"` // A URI template containing exactly one variable in ${variableName} format. - // This can only be set for EXTERNAL knowledge bases. For Salesforce and ServiceNow, - // the variable must be one of the following: + // This can only be set for EXTERNAL knowledge bases. For Salesforce, ServiceNow, + // and Zendesk, the variable must be one of the following: // // * Salesforce: Id, ArticleNumber, VersionNumber, Title, PublishStatus, // or IsDeleted @@ -7669,9 +7702,10 @@ type RenderingConfiguration struct { // * ServiceNow: number, short_description, sys_mod_count, workflow_state, // or active // - //

The variable is replaced with the actual value for a piece of content - // when calling GetContent. - //

+ // * Zendesk: id, title, updated_at, or draft + // + // The variable is replaced with the actual value for a piece of content when + // calling GetContent (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html). TemplateUri *string `locationName:"templateUri" min:"1" type:"string"` } diff --git a/service/connectwisdomservice/doc.go b/service/connectwisdomservice/doc.go index b56039ee2b6..d418acc90ee 100644 --- a/service/connectwisdomservice/doc.go +++ b/service/connectwisdomservice/doc.go @@ -6,8 +6,8 @@ // Amazon Connect Wisdom delivers agents the information they need to solve // customer issues as they're actively speaking with customers. Agents can search // across connected repositories from within their agent desktop to find answers -// quickly. Use the Amazon Connect Wisdom APIs to create an assistant and a -// knowledge base, for example, or manage content by uploading custom files. +// quickly. Use Amazon Connect Wisdom to create an assistant and a knowledge +// base, for example, or manage content by uploading custom files. // // See https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19 for more information on this service. // diff --git a/service/lakeformation/api.go b/service/lakeformation/api.go index cfbfee89b67..d6df5ed81d8 100644 --- a/service/lakeformation/api.go +++ b/service/lakeformation/api.go @@ -6490,6 +6490,7 @@ type DataCellsFilter struct { // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` + // The ID of the data cells filter version. VersionId *string `min:"1" type:"string"` } @@ -12193,7 +12194,7 @@ type RevokePermissionsInput struct { CatalogId *string `min:"1" type:"string"` // The permissions revoked to the principal on the resource. For information - // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). + // about permissions, see Security and Access Control to Metadata and Data (https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Permissions is a required field Permissions []*string `type:"list" required:"true" enum:"Permission"` diff --git a/service/s3control/api.go b/service/s3control/api.go index 2c34fcd0af5..9f34802f9eb 100644 --- a/service/s3control/api.go +++ b/service/s3control/api.go @@ -1214,6 +1214,122 @@ func (c *S3Control) DeleteBucketPolicyWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteBucketReplication = "DeleteBucketReplication" + +// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketReplication 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 DeleteBucketReplication for more information on using the DeleteBucketReplication +// 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 DeleteBucketReplicationRequest method. +// req, resp := client.DeleteBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketReplication +func (c *S3Control) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { + op := &request.Operation{ + Name: opDeleteBucketReplication, + HTTPMethod: "DELETE", + HTTPPath: "/v20180820/bucket/{name}/replication", + } + + if input == nil { + input = &DeleteBucketReplicationInput{} + } + + output = &DeleteBucketReplicationOutput{} + req = c.newRequest(op, input, output) + // update account id or check if provided input for account id member matches + // the account id present in ARN + req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteBucketReplication API operation for AWS S3 Control. +// +// This operation deletes an Amazon S3 on Outposts bucket's replication configuration. +// To delete an S3 bucket's replication configuration, see DeleteBucketReplication +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) +// in the Amazon S3 API Reference. +// +// Deletes the replication configuration from the specified S3 on Outposts bucket. +// +// To use this operation, you must have permissions to perform the s3-outposts:PutReplicationConfiguration +// action. The Outposts bucket owner has this permission by default and can +// grant it to others. For more information about permissions, see Setting up +// IAM with S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html) +// and Managing access to S3 on Outposts buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html) +// in the Amazon S3 User Guide. +// +// It can take a while to propagate PUT or DELETE requests for a replication +// configuration to all S3 on Outposts systems. Therefore, the replication configuration +// that's returned by a GET request soon after a PUT or DELETE request might +// return a more recent result than what's on the Outpost. If an Outpost is +// offline, the delay in updating the replication configuration on that Outpost +// can be significant. +// +// All Amazon S3 on Outposts REST API requests for this action require an additional +// parameter of x-amz-outpost-id to be passed with the request. In addition, +// you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. +// For an example of the request syntax for Amazon S3 on Outposts that uses +// the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived +// by using the access point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html#API_control_DeleteBucketReplication_Examples) +// section. +// +// For information about S3 replication on Outposts configuration, see Replicating +// objects for Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html) +// in the Amazon S3 User Guide. +// +// The following operations are related to DeleteBucketReplication: +// +// - PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html) +// +// - GetBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS S3 Control's +// API operation DeleteBucketReplication for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketReplication +func (c *S3Control) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { + req, out := c.DeleteBucketReplicationRequest(input) + return out, req.Send() +} + +// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBucketReplication 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 *S3Control) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) { + req, out := c.DeleteBucketReplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteBucketTagging = "DeleteBucketTagging" // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the @@ -1364,9 +1480,9 @@ func (c *S3Control) DeleteJobTaggingRequest(input *DeleteJobTaggingInput) (req * // DeleteJobTagging API operation for AWS S3 Control. // // Removes the entire tag set from the specified S3 Batch Operations job. To -// use this operation, you must have permission to perform the s3:DeleteJobTagging -// action. For more information, see Controlling access and labeling jobs using -// tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) +// use the DeleteJobTagging operation, you must have permission to perform the +// s3:DeleteJobTagging action. For more information, see Controlling access +// and labeling jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) // in the Amazon S3 User Guide. // // Related actions include: @@ -2869,6 +2985,129 @@ func (c *S3Control) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucket return out, req.Send() } +const opGetBucketReplication = "GetBucketReplication" + +// GetBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketReplication 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 GetBucketReplication for more information on using the GetBucketReplication +// 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 GetBucketReplicationRequest method. +// req, resp := client.GetBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketReplication +func (c *S3Control) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { + op := &request.Operation{ + Name: opGetBucketReplication, + HTTPMethod: "GET", + HTTPPath: "/v20180820/bucket/{name}/replication", + } + + if input == nil { + input = &GetBucketReplicationInput{} + } + + output = &GetBucketReplicationOutput{} + req = c.newRequest(op, input, output) + // update account id or check if provided input for account id member matches + // the account id present in ARN + req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetBucketReplication API operation for AWS S3 Control. +// +// This operation gets an Amazon S3 on Outposts bucket's replication configuration. +// To get an S3 bucket's replication configuration, see GetBucketReplication +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) +// in the Amazon S3 API Reference. +// +// Returns the replication configuration of an S3 on Outposts bucket. For more +// information about S3 on Outposts, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) +// in the Amazon S3 User Guide. For information about S3 replication on Outposts +// configuration, see Replicating objects for Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html) +// in the Amazon S3 User Guide. +// +// It can take a while to propagate PUT or DELETE requests for a replication +// configuration to all S3 on Outposts systems. Therefore, the replication configuration +// that's returned by a GET request soon after a PUT or DELETE request might +// return a more recent result than what's on the Outpost. If an Outpost is +// offline, the delay in updating the replication configuration on that Outpost +// can be significant. +// +// This action requires permissions for the s3-outposts:GetReplicationConfiguration +// action. The Outposts bucket owner has this permission by default and can +// grant it to others. For more information about permissions, see Setting up +// IAM with S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html) +// and Managing access to S3 on Outposts bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html) +// in the Amazon S3 User Guide. +// +// All Amazon S3 on Outposts REST API requests for this action require an additional +// parameter of x-amz-outpost-id to be passed with the request. In addition, +// you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. +// For an example of the request syntax for Amazon S3 on Outposts that uses +// the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived +// by using the access point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html#API_control_GetBucketReplication_Examples) +// section. +// +// If you include the Filter element in a replication configuration, you must +// also include the DeleteMarkerReplication, Status, and Priority elements. +// The response also returns those elements. +// +// For information about S3 on Outposts replication failure reasons, see Replication +// failure reasons (https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-eventbridge.html#outposts-replication-failure-codes) +// in the Amazon S3 User Guide. +// +// The following operations are related to GetBucketReplication: +// +// - PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html) +// +// - DeleteBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS S3 Control's +// API operation GetBucketReplication for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketReplication +func (c *S3Control) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { + req, out := c.GetBucketReplicationRequest(input) + return out, req.Send() +} + +// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of +// the ability to pass a context and additional request options. +// +// See GetBucketReplication 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 *S3Control) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) { + req, out := c.GetBucketReplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetBucketTagging = "GetBucketTagging" // GetBucketTaggingRequest generates a "aws/request.Request" representing the @@ -3024,13 +3263,13 @@ func (c *S3Control) GetBucketVersioningRequest(input *GetBucketVersioningInput) // GetBucketVersioning API operation for AWS S3 Control. // -// This operation returns the versioning state only for S3 on Outposts buckets. +// This operation returns the versioning state for S3 on Outposts buckets only. // To return the versioning state for an S3 bucket, see GetBucketVersioning // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html) // in the Amazon S3 API Reference. // -// Returns the versioning state for an S3 on Outposts bucket. With versioning, -// you can save multiple distinct copies of your data and recover from unintended +// Returns the versioning state for an S3 on Outposts bucket. With S3 Versioning, +// you can save multiple distinct copies of your objects and recover from unintended // user actions and application failures. // // If you've never set versioning on your bucket, it has no versioning state. @@ -3129,9 +3368,10 @@ func (c *S3Control) GetJobTaggingRequest(input *GetJobTaggingInput) (req *reques // GetJobTagging API operation for AWS S3 Control. // -// Returns the tags on an S3 Batch Operations job. To use this operation, you -// must have permission to perform the s3:GetJobTagging action. For more information, -// see Controlling access and labeling jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) +// Returns the tags on an S3 Batch Operations job. To use the GetJobTagging +// operation, you must have permission to perform the s3:GetJobTagging action. +// For more information, see Controlling access and labeling jobs using tags +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) // in the Amazon S3 User Guide. // // Related actions include: @@ -3860,11 +4100,12 @@ func (c *S3Control) ListAccessPointsRequest(input *ListAccessPointsInput) (req * // ListAccessPoints API operation for AWS S3 Control. // -// Returns a list of the access points owned by the current account associated -// with the specified bucket. You can retrieve up to 1000 access points per -// call. If the specified bucket has more than 1,000 access points (or the number -// specified in maxResults, whichever is less), the response will include a -// continuation token that you can use to list the additional access points. +// Returns a list of the access points that are owned by the current account +// that's associated with the specified bucket. You can retrieve up to 1000 +// access points per call. If the specified bucket has more than 1,000 access +// points (or the number specified in maxResults, whichever is less), the response +// will include a continuation token that you can use to list the additional +// access points. // // All Amazon S3 on Outposts REST API requests for this action require an additional // parameter of x-amz-outpost-id to be passed with the request. In addition, @@ -5176,6 +5417,169 @@ func (c *S3Control) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucket return out, req.Send() } +const opPutBucketReplication = "PutBucketReplication" + +// PutBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketReplication 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 PutBucketReplication for more information on using the PutBucketReplication +// 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 PutBucketReplicationRequest method. +// req, resp := client.PutBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketReplication +func (c *S3Control) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { + op := &request.Operation{ + Name: opPutBucketReplication, + HTTPMethod: "PUT", + HTTPPath: "/v20180820/bucket/{name}/replication", + } + + if input == nil { + input = &PutBucketReplicationInput{} + } + + output = &PutBucketReplicationOutput{} + req = c.newRequest(op, input, output) + // update account id or check if provided input for account id member matches + // the account id present in ARN + req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) + return +} + +// PutBucketReplication API operation for AWS S3 Control. +// +// This action creates an Amazon S3 on Outposts bucket's replication configuration. +// To create an S3 bucket's replication configuration, see PutBucketReplication +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) +// in the Amazon S3 API Reference. +// +// Creates a replication configuration or replaces an existing one. For information +// about S3 replication on Outposts configuration, see Replicating objects for +// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/AmazonS3/latest/userguide/S3OutpostsReplication.html) +// in the Amazon S3 User Guide. +// +// It can take a while to propagate PUT or DELETE requests for a replication +// configuration to all S3 on Outposts systems. Therefore, the replication configuration +// that's returned by a GET request soon after a PUT or DELETE request might +// return a more recent result than what's on the Outpost. If an Outpost is +// offline, the delay in updating the replication configuration on that Outpost +// can be significant. +// +// Specify the replication configuration in the request body. In the replication +// configuration, you provide the following information: +// +// - The name of the destination bucket or buckets where you want S3 on Outposts +// to replicate objects +// +// - The Identity and Access Management (IAM) role that S3 on Outposts can +// assume to replicate objects on your behalf +// +// - Other relevant information, such as replication rules +// +// A replication configuration must include at least one rule and can contain +// a maximum of 100. Each rule identifies a subset of objects to replicate by +// filtering the objects in the source Outposts 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 Outposts 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. +// +// Using PutBucketReplication on Outposts requires that both the source and +// destination buckets must have versioning enabled. For information about enabling +// versioning on a bucket, see Managing S3 Versioning for your S3 on Outposts +// bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsManagingVersioning.html). +// +// For information about S3 on Outposts replication failure reasons, see Replication +// failure reasons (https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-eventbridge.html#outposts-replication-failure-codes) +// in the Amazon S3 User Guide. +// +// # Handling Replication of Encrypted Objects +// +// Outposts buckets are encrypted at all times. All the objects in the source +// Outposts bucket are encrypted and can be replicated. Also, all the replicas +// in the destination Outposts bucket are encrypted with the same encryption +// key as the objects in the source Outposts bucket. +// +// # Permissions +// +// To create a PutBucketReplication request, you must have s3-outposts:PutReplicationConfiguration +// permissions for the bucket. The Outposts bucket owner has this permission +// by default and can grant it to others. For more information about permissions, +// see Setting up IAM with S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsIAM.html) +// and Managing access to S3 on Outposts buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsBucketPolicy.html). +// +// To perform this operation, the user or role must also have the iam:PassRole +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) +// permission. +// +// All Amazon S3 on Outposts REST API requests for this action require an additional +// parameter of x-amz-outpost-id to be passed with the request. In addition, +// you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. +// For an example of the request syntax for Amazon S3 on Outposts that uses +// the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived +// by using the access point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples) +// section. +// +// The following operations are related to PutBucketReplication: +// +// - GetBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html) +// +// - DeleteBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketReplication.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS S3 Control's +// API operation PutBucketReplication for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketReplication +func (c *S3Control) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { + req, out := c.PutBucketReplicationRequest(input) + return out, req.Send() +} + +// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of +// the ability to pass a context and additional request options. +// +// See PutBucketReplication 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 *S3Control) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) { + req, out := c.PutBucketReplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutBucketTagging = "PutBucketTagging" // PutBucketTaggingRequest generates a "aws/request.Request" representing the @@ -5368,12 +5772,12 @@ func (c *S3Control) PutBucketVersioningRequest(input *PutBucketVersioningInput) // PutBucketVersioning API operation for AWS S3 Control. // -// This operation sets the versioning state only for S3 on Outposts buckets. +// This operation sets the versioning state for S3 on Outposts buckets only. // To set the versioning state for an S3 bucket, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html) // in the Amazon S3 API Reference. // -// Sets the versioning state for an S3 on Outposts bucket. With versioning, -// you can save multiple distinct copies of your data and recover from unintended +// Sets the versioning state for an S3 on Outposts bucket. With S3 Versioning, +// you can save multiple distinct copies of your objects and recover from unintended // user actions and application failures. // // You can set the versioning state to one of the following: @@ -5398,7 +5802,7 @@ func (c *S3Control) PutBucketVersioningRequest(input *PutBucketVersioningInput) // If you have an object expiration lifecycle policy 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 policy will manage the deletes of the noncurrent object versions +// lifecycle policy will manage the deletions of the noncurrent object versions // in the version-enabled bucket. For more information, see Versioning (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) // in the Amazon S3 User Guide. // @@ -5523,8 +5927,8 @@ func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *reques // Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) // in the Billing and Cost Management User Guide. // -// To use this action, you must have permission to perform the s3:PutJobTagging -// action. +// To use the PutJobTagging operation, you must have permission to perform the +// s3:PutJobTagging action. // // Related actions include: // @@ -6262,20 +6666,69 @@ func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortI return s } -// An access point used to access a bucket. -type AccessPoint struct { +// A container for information about access control for replicas. +// +// This is not supported by Amazon S3 on Outposts buckets. +type AccessControlTranslation struct { _ struct{} `type:"structure"` - // The ARN for the access point. - AccessPointArn *string `min:"4" type:"string"` - - // The name or alias of the access point. - Alias *string `type:"string"` - - // The name of the bucket associated with this access point. + // Specifies the replica ownership. // - // Bucket is a required field - Bucket *string `min:"3" type:"string" required:"true"` + // Owner is a required field + Owner *string `type:"string" required:"true" enum:"OwnerOverride"` +} + +// 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 AccessControlTranslation) 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 AccessControlTranslation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccessControlTranslation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"} + if s.Owner == nil { + invalidParams.Add(request.NewErrParamRequired("Owner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOwner sets the Owner field's value. +func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation { + s.Owner = &v + return s +} + +// An access point used to access a bucket. +type AccessPoint struct { + _ struct{} `type:"structure"` + + // The ARN for the access point. + AccessPointArn *string `min:"4" type:"string"` + + // The name or alias of the access point. + Alias *string `type:"string"` + + // The name of the bucket associated with this access point. + // + // Bucket is a required field + Bucket *string `min:"3" type:"string" required:"true"` // The Amazon Web Services account ID associated with the S3 bucket associated // with this access point. @@ -7157,7 +7610,7 @@ type CreateAccessPointInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -7589,7 +8042,7 @@ type CreateBucketOutput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. BucketArn *string `min:"4" type:"string"` @@ -8194,7 +8647,7 @@ type DeleteAccessPointInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the access point accessed in the // format arn:aws:s3-outposts:::outpost//accesspoint/. - // For example, to access the access point reports-ap through outpost my-outpost + // For example, to access the access point reports-ap through Outpost my-outpost // owned by account 123456789012 in Region us-west-2, use the URL encoding of // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. // The value must be URL encoded. @@ -8436,7 +8889,7 @@ type DeleteAccessPointPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the access point accessed in the // format arn:aws:s3-outposts:::outpost//accesspoint/. - // For example, to access the access point reports-ap through outpost my-outpost + // For example, to access the access point reports-ap through Outpost my-outpost // owned by account 123456789012 in Region us-west-2, use the URL encoding of // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. // The value must be URL encoded. @@ -8582,7 +9035,7 @@ type DeleteBucketInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -8705,7 +9158,7 @@ type DeleteBucketLifecycleConfigurationInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -8872,7 +9325,7 @@ type DeleteBucketPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -9001,6 +9454,153 @@ func (s DeleteBucketPolicyOutput) GoString() string { return s.String() } +type DeleteBucketReplicationInput struct { + _ struct{} `locationName:"DeleteBucketReplicationRequest" type:"structure"` + + // The Amazon Web Services account ID of the Outposts bucket to delete the replication + // configuration for. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` + + // Specifies the S3 on Outposts bucket to delete the replication configuration + // for. + // + // For using this parameter with Amazon S3 on Outposts with the REST API, you + // must specify the name and the x-amz-outpost-id as well. + // + // For using this parameter with S3 on Outposts with the Amazon Web Services + // SDK and CLI, you must specify the ARN of the bucket accessed in the format + // arn:aws:s3-outposts:::outpost//bucket/. + // For example, to access the bucket reports through Outpost my-outpost owned + // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. + // The value must be URL encoded. + // + // Bucket is a required field + Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteBucketReplicationInput) 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 DeleteBucketReplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBucketReplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Bucket != nil && len(*s.Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *DeleteBucketReplicationInput) SetAccountId(v string) *DeleteBucketReplicationInput { + s.AccountId = &v + return s +} + +// SetBucket sets the Bucket field's value. +func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput { + s.Bucket = &v + return s +} + +func (s *DeleteBucketReplicationInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +func (s *DeleteBucketReplicationInput) getEndpointARN() (arn.Resource, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + return parseEndpointARN(*s.Bucket) +} + +func (s *DeleteBucketReplicationInput) hasEndpointARN() bool { + if s.Bucket == nil { + return false + } + return arn.IsARN(*s.Bucket) +} + +// updateArnableField updates the value of the input field that +// takes an ARN as an input. This method is useful to backfill +// the parsed resource name from ARN into the input member. +// It returns a pointer to a modified copy of input and an error. +// Note that original input is not modified. +func (s DeleteBucketReplicationInput) updateArnableField(v string) (interface{}, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + s.Bucket = aws.String(v) + return &s, nil +} + +// updateAccountID returns a pointer to a modified copy of input, +// if account id is not provided, we update the account id in modified input +// if account id is provided, but doesn't match with the one in ARN, we throw an error +// if account id is not updated, we return nil. Note that original input is not modified. +func (s DeleteBucketReplicationInput) updateAccountID(accountId string) (interface{}, error) { + if s.AccountId == nil { + s.AccountId = aws.String(accountId) + return &s, nil + } else if *s.AccountId != accountId { + return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") + } + return nil, nil +} + +type DeleteBucketReplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteBucketReplicationOutput) 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 DeleteBucketReplicationOutput) GoString() string { + return s.String() +} + type DeleteBucketTaggingInput struct { _ struct{} `locationName:"DeleteBucketTaggingRequest" type:"structure"` @@ -9017,7 +9617,7 @@ type DeleteBucketTaggingInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -9241,6 +9841,62 @@ func (s DeleteJobTaggingOutput) GoString() string { return s.String() } +// Specifies whether S3 on Outposts replicates delete markers. If you specify +// a Filter element in your replication configuration, you must also include +// a DeleteMarkerReplication element. If your Filter includes a Tag element, +// the DeleteMarkerReplication element's Status child element must be set to +// Disabled, because S3 on Outposts does not support replicating delete markers +// for tag-based rules. +// +// For more information about delete marker replication, see How delete operations +// affect replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated) +// in the Amazon S3 User Guide. +type DeleteMarkerReplication struct { + _ struct{} `type:"structure"` + + // Indicates whether to replicate delete markers. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"DeleteMarkerReplicationStatus"` +} + +// 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 DeleteMarkerReplication) 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 DeleteMarkerReplication) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMarkerReplication) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMarkerReplication"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication { + s.Status = &v + return s +} + type DeleteMultiRegionAccessPointInput struct { _ struct{} `locationName:"DeleteMultiRegionAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` @@ -9886,20 +10542,52 @@ func (s *DescribeMultiRegionAccessPointOperationOutput) SetAsyncOperation(v *Asy return s } -// The container element for Amazon S3 Storage Lens detailed status code metrics. -// Detailed status code metrics generate metrics for HTTP status codes, such -// as 200 OK, 403 Forbidden, 503 Service Unavailable and others. -// -// For more information about S3 Storage Lens, see Assessing your storage activity -// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) -// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, -// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) -// in the Amazon S3 User Guide. -type DetailedStatusCodesMetrics struct { +// Specifies information about the replication destination bucket and its settings +// for an S3 on Outposts replication configuration. +type Destination struct { _ struct{} `type:"structure"` - // A container that indicates whether detailed status code metrics are enabled. - IsEnabled *bool `type:"boolean"` + // Specify this property only in a cross-account scenario (where the source + // and destination bucket owners are not the same), and you want to change replica + // ownership to the Amazon Web Services account that owns the destination bucket. + // If this property is not specified in the replication configuration, the replicas + // are owned by same Amazon Web Services account that owns the source object. + // + // This is not supported by Amazon S3 on Outposts buckets. + AccessControlTranslation *AccessControlTranslation `type:"structure"` + + // The destination bucket owner's account ID. + Account *string `type:"string"` + + // The Amazon Resource Name (ARN) of the access point for the destination bucket + // where you want S3 on Outposts to store the replication results. + // + // Bucket is a required field + Bucket *string `type:"string" required:"true"` + + // A container that provides information about encryption. If SourceSelectionCriteria + // is specified, you must specify this element. + // + // This is not supported by Amazon S3 on Outposts buckets. + EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + + // A container that specifies replication metrics-related settings. + Metrics *Metrics `type:"structure"` + + // A container that specifies S3 Replication Time Control (S3 RTC) settings, + // including whether S3 RTC is enabled and the time when all objects and operations + // on objects must be replicated. Must be specified together with a Metrics + // block. + // + // This is not supported by Amazon S3 on Outposts buckets. + ReplicationTime *ReplicationTime `type:"structure"` + + // The storage class to use when replicating objects. All objects stored on + // S3 on Outposts are stored in the OUTPOSTS storage class. S3 on Outposts uses + // the OUTPOSTS storage class to create the object replicas. + // + // Values other than OUTPOSTS are not supported by Amazon S3 on Outposts. + StorageClass *string `type:"string" enum:"ReplicationStorageClass"` } // String returns the string representation. @@ -9907,7 +10595,7 @@ type DetailedStatusCodesMetrics struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetailedStatusCodesMetrics) String() string { +func (s Destination) String() string { return awsutil.Prettify(s) } @@ -9916,24 +10604,169 @@ func (s DetailedStatusCodesMetrics) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetailedStatusCodesMetrics) GoString() string { +func (s Destination) GoString() string { return s.String() } -// SetIsEnabled sets the IsEnabled field's value. -func (s *DetailedStatusCodesMetrics) SetIsEnabled(v bool) *DetailedStatusCodesMetrics { - s.IsEnabled = &v - return s -} - -// The last established access control policy for a Multi-Region Access Point. -// -// When you update the policy, the update is first listed as the proposed policy. -// After the update is finished and all Regions have been updated, the proposed -// policy is listed as the established policy. If both policies have the same -// version number, the proposed policy is the established policy. -type EstablishedMultiRegionAccessPointPolicy struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *Destination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Destination"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.AccessControlTranslation != nil { + if err := s.AccessControlTranslation.Validate(); err != nil { + invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams)) + } + } + if s.Metrics != nil { + if err := s.Metrics.Validate(); err != nil { + invalidParams.AddNested("Metrics", err.(request.ErrInvalidParams)) + } + } + if s.ReplicationTime != nil { + if err := s.ReplicationTime.Validate(); err != nil { + invalidParams.AddNested("ReplicationTime", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessControlTranslation sets the AccessControlTranslation field's value. +func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination { + s.AccessControlTranslation = v + return s +} + +// SetAccount sets the Account field's value. +func (s *Destination) SetAccount(v string) *Destination { + s.Account = &v + return s +} + +// SetBucket sets the Bucket field's value. +func (s *Destination) SetBucket(v string) *Destination { + s.Bucket = &v + return s +} + +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination { + s.EncryptionConfiguration = v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *Destination) SetMetrics(v *Metrics) *Destination { + s.Metrics = v + return s +} + +// SetReplicationTime sets the ReplicationTime field's value. +func (s *Destination) SetReplicationTime(v *ReplicationTime) *Destination { + s.ReplicationTime = v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *Destination) SetStorageClass(v string) *Destination { + s.StorageClass = &v + return s +} + +// The container element for Amazon S3 Storage Lens detailed status code metrics. +// Detailed status code metrics generate metrics for HTTP status codes, such +// as 200 OK, 403 Forbidden, 503 Service Unavailable and others. +// +// For more information about S3 Storage Lens, see Assessing your storage activity +// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) +// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, +// see S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) +// in the Amazon S3 User Guide. +type DetailedStatusCodesMetrics struct { + _ struct{} `type:"structure"` + + // A container that indicates whether detailed status code metrics are enabled. + IsEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetailedStatusCodesMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetailedStatusCodesMetrics) GoString() string { + return s.String() +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *DetailedStatusCodesMetrics) SetIsEnabled(v bool) *DetailedStatusCodesMetrics { + s.IsEnabled = &v + return s +} + +// Specifies encryption-related information for an Amazon S3 bucket that is +// a destination for replicated objects. +// +// This is not supported by Amazon S3 on Outposts buckets. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the ID of the customer managed KMS key that's stored in Key Management + // Service (KMS) for the destination bucket. This ID is either the Amazon Resource + // Name (ARN) for the KMS key or the alias ARN for the KMS key. Amazon S3 uses + // this KMS key to encrypt replica objects. Amazon S3 supports only symmetric + // encryption KMS keys. For more information, see Symmetric encryption KMS keys + // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) + // in the Amazon Web Services Key Management Service Developer Guide. + ReplicaKmsKeyID *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionConfiguration) 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 EncryptionConfiguration) GoString() string { + return s.String() +} + +// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value. +func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration { + s.ReplicaKmsKeyID = &v + return s +} + +// The last established access control policy for a Multi-Region Access Point. +// +// When you update the policy, the update is first listed as the proposed policy. +// After the update is finished and all Regions have been updated, the proposed +// policy is listed as the established policy. If both policies have the same +// version number, the proposed policy is the established policy. +type EstablishedMultiRegionAccessPointPolicy struct { + _ struct{} `type:"structure"` // The details of the last established policy. Policy *string `type:"string"` @@ -10004,6 +10837,55 @@ func (s *Exclude) SetRegions(v []*string) *Exclude { return s } +// An optional configuration to replicate existing source bucket objects. +// +// This is not supported by Amazon S3 on Outposts buckets. +type ExistingObjectReplication struct { + _ struct{} `type:"structure"` + + // Specifies whether Amazon S3 replicates existing source bucket objects. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ExistingObjectReplicationStatus"` +} + +// 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 ExistingObjectReplication) 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 ExistingObjectReplication) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExistingObjectReplication) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExistingObjectReplication"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *ExistingObjectReplication) SetStatus(v string) *ExistingObjectReplication { + s.Status = &v + return s +} + // The encryption configuration to use when storing the generated manifest. type GeneratedManifestEncryption struct { _ struct{} `type:"structure"` @@ -10307,7 +11189,7 @@ type GetAccessPointInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the access point accessed in the // format arn:aws:s3-outposts:::outpost//accesspoint/. - // For example, to access the access point reports-ap through outpost my-outpost + // For example, to access the access point reports-ap through Outpost my-outpost // owned by account 123456789012 in Region us-west-2, use the URL encoding of // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. // The value must be URL encoded. @@ -10664,7 +11546,7 @@ type GetAccessPointPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the access point accessed in the // format arn:aws:s3-outposts:::outpost//accesspoint/. - // For example, to access the access point reports-ap through outpost my-outpost + // For example, to access the access point reports-ap through Outpost my-outpost // owned by account 123456789012 in Region us-west-2, use the URL encoding of // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. // The value must be URL encoded. @@ -11029,7 +11911,7 @@ type GetBucketInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -11152,7 +12034,7 @@ type GetBucketLifecycleConfigurationInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -11354,7 +12236,7 @@ type GetBucketPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -11492,15 +12374,15 @@ func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { return s } -type GetBucketTaggingInput struct { - _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` +type GetBucketReplicationInput struct { + _ struct{} `locationName:"GetBucketReplicationRequest" type:"structure"` // The Amazon Web Services account ID of the Outposts bucket. // // AccountId is a required field AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` - // Specifies the bucket. + // Specifies the bucket to get the replication information for. // // For using this parameter with Amazon S3 on Outposts with the REST API, you // must specify the name and the x-amz-outpost-id as well. @@ -11508,7 +12390,7 @@ type GetBucketTaggingInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -11521,7 +12403,7 @@ type GetBucketTaggingInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketTaggingInput) String() string { +func (s GetBucketReplicationInput) String() string { return awsutil.Prettify(s) } @@ -11530,13 +12412,13 @@ func (s GetBucketTaggingInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketTaggingInput) GoString() string { +func (s GetBucketReplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetBucketTaggingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} +func (s *GetBucketReplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } @@ -11557,31 +12439,31 @@ func (s *GetBucketTaggingInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { +func (s *GetBucketReplicationInput) SetAccountId(v string) *GetBucketReplicationInput { s.AccountId = &v return s } // SetBucket sets the Bucket field's value. -func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { +func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput { s.Bucket = &v return s } -func (s *GetBucketTaggingInput) hostLabels() map[string]string { +func (s *GetBucketReplicationInput) hostLabels() map[string]string { return map[string]string{ "AccountId": aws.StringValue(s.AccountId), } } -func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { +func (s *GetBucketReplicationInput) getEndpointARN() (arn.Resource, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } return parseEndpointARN(*s.Bucket) } -func (s *GetBucketTaggingInput) hasEndpointARN() bool { +func (s *GetBucketReplicationInput) hasEndpointARN() bool { if s.Bucket == nil { return false } @@ -11593,7 +12475,7 @@ func (s *GetBucketTaggingInput) hasEndpointARN() bool { // the parsed resource name from ARN into the input member. // It returns a pointer to a modified copy of input and an error. // Note that original input is not modified. -func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { +func (s GetBucketReplicationInput) updateArnableField(v string) (interface{}, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } @@ -11605,7 +12487,7 @@ func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) // if account id is not provided, we update the account id in modified input // if account id is provided, but doesn't match with the one in ARN, we throw an error // if account id is not updated, we return nil. Note that original input is not modified. -func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { +func (s GetBucketReplicationInput) updateAccountID(accountId string) (interface{}, error) { if s.AccountId == nil { s.AccountId = aws.String(accountId) return &s, nil @@ -11615,13 +12497,13 @@ func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, e return nil, nil } -type GetBucketTaggingOutput struct { +type GetBucketReplicationOutput struct { _ struct{} `type:"structure"` - // The tags set of the Outposts bucket. - // - // TagSet is a required field - TagSet []*S3Tag `type:"list" required:"true"` + // A container for one or more replication rules. A replication configuration + // must have at least one rule and you can add up to 100 rules. The maximum + // size of a replication configuration is 128 KB. + ReplicationConfiguration *ReplicationConfiguration `type:"structure"` } // String returns the string representation. @@ -11629,7 +12511,7 @@ type GetBucketTaggingOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketTaggingOutput) String() string { +func (s GetBucketReplicationOutput) String() string { return awsutil.Prettify(s) } @@ -11638,25 +12520,35 @@ func (s GetBucketTaggingOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketTaggingOutput) GoString() string { +func (s GetBucketReplicationOutput) GoString() string { return s.String() } -// SetTagSet sets the TagSet field's value. -func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { - s.TagSet = v +// SetReplicationConfiguration sets the ReplicationConfiguration field's value. +func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput { + s.ReplicationConfiguration = v return s } -type GetBucketVersioningInput struct { - _ struct{} `locationName:"GetBucketVersioningRequest" type:"structure"` +type GetBucketTaggingInput struct { + _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` - // The Amazon Web Services account ID of the S3 on Outposts bucket. + // The Amazon Web Services account ID of the Outposts bucket. // // AccountId is a required field AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` - // The S3 on Outposts bucket to return the versioning state for. + // Specifies the bucket. + // + // For using this parameter with Amazon S3 on Outposts with the REST API, you + // must specify the name and the x-amz-outpost-id as well. + // + // For using this parameter with S3 on Outposts with the Amazon Web Services + // SDK and CLI, you must specify the ARN of the bucket accessed in the format + // arn:aws:s3-outposts:::outpost//bucket/. + // For example, to access the bucket reports through Outpost my-outpost owned + // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. + // The value must be URL encoded. // // Bucket is a required field Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` @@ -11667,7 +12559,7 @@ type GetBucketVersioningInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketVersioningInput) String() string { +func (s GetBucketTaggingInput) String() string { return awsutil.Prettify(s) } @@ -11676,13 +12568,13 @@ func (s GetBucketVersioningInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketVersioningInput) GoString() string { +func (s GetBucketTaggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetBucketVersioningInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"} +func (s *GetBucketTaggingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } @@ -11703,31 +12595,31 @@ func (s *GetBucketVersioningInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *GetBucketVersioningInput) SetAccountId(v string) *GetBucketVersioningInput { +func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { s.AccountId = &v return s } // SetBucket sets the Bucket field's value. -func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput { +func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { s.Bucket = &v return s } -func (s *GetBucketVersioningInput) hostLabels() map[string]string { +func (s *GetBucketTaggingInput) hostLabels() map[string]string { return map[string]string{ "AccountId": aws.StringValue(s.AccountId), } } -func (s *GetBucketVersioningInput) getEndpointARN() (arn.Resource, error) { +func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } return parseEndpointARN(*s.Bucket) } -func (s *GetBucketVersioningInput) hasEndpointARN() bool { +func (s *GetBucketTaggingInput) hasEndpointARN() bool { if s.Bucket == nil { return false } @@ -11739,7 +12631,7 @@ func (s *GetBucketVersioningInput) hasEndpointARN() bool { // the parsed resource name from ARN into the input member. // It returns a pointer to a modified copy of input and an error. // Note that original input is not modified. -func (s GetBucketVersioningInput) updateArnableField(v string) (interface{}, error) { +func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } @@ -11751,7 +12643,7 @@ func (s GetBucketVersioningInput) updateArnableField(v string) (interface{}, err // if account id is not provided, we update the account id in modified input // if account id is provided, but doesn't match with the one in ARN, we throw an error // if account id is not updated, we return nil. Note that original input is not modified. -func (s GetBucketVersioningInput) updateAccountID(accountId string) (interface{}, error) { +func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { if s.AccountId == nil { s.AccountId = aws.String(accountId) return &s, nil @@ -11761,17 +12653,13 @@ func (s GetBucketVersioningInput) updateAccountID(accountId string) (interface{} return nil, nil } -type GetBucketVersioningOutput struct { +type GetBucketTaggingOutput struct { _ struct{} `type:"structure"` - // Specifies whether MFA delete is enabled in the bucket versioning configuration. - // This element is returned only if the bucket has been configured with MFA - // delete. If MFA delete has never been configured for the bucket, this element - // is not returned. - MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"` - - // The versioning state of the S3 on Outposts bucket. - Status *string `type:"string" enum:"BucketVersioningStatus"` + // The tags set of the Outposts bucket. + // + // TagSet is a required field + TagSet []*S3Tag `type:"list" required:"true"` } // String returns the string representation. @@ -11779,7 +12667,7 @@ type GetBucketVersioningOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketVersioningOutput) String() string { +func (s GetBucketTaggingOutput) String() string { return awsutil.Prettify(s) } @@ -11788,32 +12676,182 @@ func (s GetBucketVersioningOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetBucketVersioningOutput) GoString() string { +func (s GetBucketTaggingOutput) GoString() string { return s.String() } -// SetMFADelete sets the MFADelete field's value. -func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput { - s.MFADelete = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput { - s.Status = &v +// SetTagSet sets the TagSet field's value. +func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { + s.TagSet = v return s } -type GetJobTaggingInput struct { - _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` +type GetBucketVersioningInput struct { + _ struct{} `locationName:"GetBucketVersioningRequest" type:"structure"` - // The Amazon Web Services account ID associated with the S3 Batch Operations - // job. + // The Amazon Web Services account ID of the S3 on Outposts bucket. // // AccountId is a required field AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` - // The ID for the S3 Batch Operations job whose tags you want to retrieve. + // The S3 on Outposts bucket to return the versioning state for. + // + // Bucket is a required field + Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBucketVersioningInput) 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 GetBucketVersioningInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBucketVersioningInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Bucket != nil && len(*s.Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *GetBucketVersioningInput) SetAccountId(v string) *GetBucketVersioningInput { + s.AccountId = &v + return s +} + +// SetBucket sets the Bucket field's value. +func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput { + s.Bucket = &v + return s +} + +func (s *GetBucketVersioningInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +func (s *GetBucketVersioningInput) getEndpointARN() (arn.Resource, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + return parseEndpointARN(*s.Bucket) +} + +func (s *GetBucketVersioningInput) hasEndpointARN() bool { + if s.Bucket == nil { + return false + } + return arn.IsARN(*s.Bucket) +} + +// updateArnableField updates the value of the input field that +// takes an ARN as an input. This method is useful to backfill +// the parsed resource name from ARN into the input member. +// It returns a pointer to a modified copy of input and an error. +// Note that original input is not modified. +func (s GetBucketVersioningInput) updateArnableField(v string) (interface{}, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + s.Bucket = aws.String(v) + return &s, nil +} + +// updateAccountID returns a pointer to a modified copy of input, +// if account id is not provided, we update the account id in modified input +// if account id is provided, but doesn't match with the one in ARN, we throw an error +// if account id is not updated, we return nil. Note that original input is not modified. +func (s GetBucketVersioningInput) updateAccountID(accountId string) (interface{}, error) { + if s.AccountId == nil { + s.AccountId = aws.String(accountId) + return &s, nil + } else if *s.AccountId != accountId { + return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") + } + return nil, nil +} + +type GetBucketVersioningOutput struct { + _ struct{} `type:"structure"` + + // Specifies whether MFA delete is enabled in the bucket versioning configuration. + // This element is returned only if the bucket has been configured with MFA + // delete. If MFA delete has never been configured for the bucket, this element + // is not returned. + MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"` + + // The versioning state of the S3 on Outposts bucket. + Status *string `type:"string" enum:"BucketVersioningStatus"` +} + +// 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 GetBucketVersioningOutput) 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 GetBucketVersioningOutput) GoString() string { + return s.String() +} + +// SetMFADelete sets the MFADelete field's value. +func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput { + s.MFADelete = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput { + s.Status = &v + return s +} + +type GetJobTaggingInput struct { + _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` + + // The Amazon Web Services account ID associated with the S3 Batch Operations + // job. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` + + // The ID for the S3 Batch Operations job whose tags you want to retrieve. // // JobId is a required field JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` @@ -13229,9 +14267,10 @@ type JobManifestLocation struct { // The Amazon Resource Name (ARN) for a manifest object. // - // Replacement must be made for object keys containing special characters (such - // as carriage returns) when using XML requests. For more information, see XML - // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). + // When you're using XML requests, you must replace special characters (such + // as carriage returns) in object keys with their equivalent XML entity codes. + // For more information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) + // in the Amazon S3 User Guide. // // ObjectArn is a required field ObjectArn *string `min:"1" type:"string" required:"true"` @@ -13387,16 +14426,16 @@ type JobOperation struct { S3PutObjectCopy *S3CopyObjectOperation `type:"structure"` // Contains the configuration for an S3 Object Lock legal hold operation that - // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold - // API. For more information, see Using S3 Object Lock legal hold with S3 Batch - // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) + // an S3 Batch Operations job passes to every object to the underlying PutObjectLegalHold + // API operation. For more information, see Using S3 Object Lock legal hold + // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) // in the Amazon S3 User Guide. S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` // Contains the configuration parameters for the Object Lock retention action // for an S3 Batch Operations job. Batch Operations passes every object to the - // underlying PutObjectRetention API. For more information, see Using S3 Object - // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) + // underlying PutObjectRetention API operation. For more information, see Using + // S3 Object Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) // in the Amazon S3 User Guide. S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` @@ -14080,9 +15119,10 @@ type LifecycleRuleFilter struct { // Prefix identifying one or more objects to which the rule applies. // - // Replacement must be made for object keys containing special characters (such - // as carriage returns) when using XML requests. For more information, see XML - // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). + // When you're using XML requests, you must replace special characters (such + // as carriage returns) in object keys with their equivalent XML entity codes. + // For more information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) + // in the Amazon S3 User Guide. Prefix *string `type:"string"` // A container for a key-value name pair. @@ -14299,7 +15339,7 @@ type ListAccessPointsInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. Bucket *string `location:"querystring" locationName:"bucket" min:"3" type:"string"` @@ -15041,6 +16081,65 @@ func (s *ListStorageLensConfigurationsOutput) SetStorageLensConfigurationList(v return s } +// A container that specifies replication metrics-related settings. +type Metrics struct { + _ struct{} `type:"structure"` + + // A container that specifies the time threshold for emitting the s3:Replication:OperationMissedThreshold + // event. + // + // This is not supported by Amazon S3 on Outposts buckets. + EventThreshold *ReplicationTimeValue `type:"structure"` + + // Specifies whether replication metrics are enabled. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MetricsStatus"` +} + +// 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 Metrics) 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 Metrics) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Metrics) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Metrics"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventThreshold sets the EventThreshold field's value. +func (s *Metrics) SetEventThreshold(v *ReplicationTimeValue) *Metrics { + s.EventThreshold = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Metrics) SetStatus(v string) *Metrics { + s.Status = &v + return s +} + // The Multi-Region Access Point access control policy. // // When you update the policy, the update is first listed as the proposed policy. @@ -16218,7 +17317,7 @@ type PutAccessPointPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the access point accessed in the // format arn:aws:s3-outposts:::outpost//accesspoint/. - // For example, to access the access point reports-ap through outpost my-outpost + // For example, to access the access point reports-ap through Outpost my-outpost // owned by account 123456789012 in Region us-west-2, use the URL encoding of // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. // The value must be URL encoded. @@ -16530,7 +17629,7 @@ type PutBucketPolicyInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // @@ -16685,15 +17784,15 @@ func (s PutBucketPolicyOutput) GoString() string { return s.String() } -type PutBucketTaggingInput struct { - _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` +type PutBucketReplicationInput struct { + _ struct{} `locationName:"PutBucketReplicationRequest" type:"structure" payload:"ReplicationConfiguration"` // The Amazon Web Services account ID of the Outposts bucket. // // AccountId is a required field AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the bucket. + // Specifies the S3 on Outposts bucket to set the configuration for. // // For using this parameter with Amazon S3 on Outposts with the REST API, you // must specify the name and the x-amz-outpost-id as well. @@ -16701,15 +17800,19 @@ type PutBucketTaggingInput struct { // For using this parameter with S3 on Outposts with the Amazon Web Services // SDK and CLI, you must specify the ARN of the bucket accessed in the format // arn:aws:s3-outposts:::outpost//bucket/. - // For example, to access the bucket reports through outpost my-outpost owned + // For example, to access the bucket reports through Outpost my-outpost owned // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. // The value must be URL encoded. // // Bucket is a required field Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` - // Tagging is a required field - Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` + // A container for one or more replication rules. A replication configuration + // must have at least one rule and you can add up to 100 rules. The maximum + // size of a replication configuration is 128 KB. + // + // ReplicationConfiguration is a required field + ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` } // String returns the string representation. @@ -16717,7 +17820,7 @@ type PutBucketTaggingInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutBucketTaggingInput) String() string { +func (s PutBucketReplicationInput) String() string { return awsutil.Prettify(s) } @@ -16726,13 +17829,13 @@ func (s PutBucketTaggingInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutBucketTaggingInput) GoString() string { +func (s PutBucketReplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutBucketTaggingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} +func (s *PutBucketReplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } @@ -16745,12 +17848,12 @@ func (s *PutBucketTaggingInput) Validate() error { if s.Bucket != nil && len(*s.Bucket) < 3 { invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) } - if s.Tagging == nil { - invalidParams.Add(request.NewErrParamRequired("Tagging")) + if s.ReplicationConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration")) } - if s.Tagging != nil { - if err := s.Tagging.Validate(); err != nil { - invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) + if s.ReplicationConfiguration != nil { + if err := s.ReplicationConfiguration.Validate(); err != nil { + invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams)) } } @@ -16761,37 +17864,37 @@ func (s *PutBucketTaggingInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { +func (s *PutBucketReplicationInput) SetAccountId(v string) *PutBucketReplicationInput { s.AccountId = &v return s } // SetBucket sets the Bucket field's value. -func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { +func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput { s.Bucket = &v return s } -// SetTagging sets the Tagging field's value. -func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { - s.Tagging = v +// SetReplicationConfiguration sets the ReplicationConfiguration field's value. +func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput { + s.ReplicationConfiguration = v return s } -func (s *PutBucketTaggingInput) hostLabels() map[string]string { +func (s *PutBucketReplicationInput) hostLabels() map[string]string { return map[string]string{ "AccountId": aws.StringValue(s.AccountId), } } -func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { +func (s *PutBucketReplicationInput) getEndpointARN() (arn.Resource, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } return parseEndpointARN(*s.Bucket) } -func (s *PutBucketTaggingInput) hasEndpointARN() bool { +func (s *PutBucketReplicationInput) hasEndpointARN() bool { if s.Bucket == nil { return false } @@ -16803,7 +17906,7 @@ func (s *PutBucketTaggingInput) hasEndpointARN() bool { // the parsed resource name from ARN into the input member. // It returns a pointer to a modified copy of input and an error. // Note that original input is not modified. -func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { +func (s PutBucketReplicationInput) updateArnableField(v string) (interface{}, error) { if s.Bucket == nil { return nil, fmt.Errorf("member Bucket is nil") } @@ -16815,7 +17918,7 @@ func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) // if account id is not provided, we update the account id in modified input // if account id is provided, but doesn't match with the one in ARN, we throw an error // if account id is not updated, we return nil. Note that original input is not modified. -func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { +func (s PutBucketReplicationInput) updateAccountID(accountId string) (interface{}, error) { if s.AccountId == nil { s.AccountId = aws.String(accountId) return &s, nil @@ -16825,7 +17928,7 @@ func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, e return nil, nil } -type PutBucketTaggingOutput struct { +type PutBucketReplicationOutput struct { _ struct{} `type:"structure"` } @@ -16834,7 +17937,7 @@ type PutBucketTaggingOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutBucketTaggingOutput) String() string { +func (s PutBucketReplicationOutput) String() string { return awsutil.Prettify(s) } @@ -16843,28 +17946,190 @@ func (s PutBucketTaggingOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutBucketTaggingOutput) GoString() string { +func (s PutBucketReplicationOutput) GoString() string { return s.String() } -type PutBucketVersioningInput struct { - _ struct{} `locationName:"PutBucketVersioningRequest" type:"structure" payload:"VersioningConfiguration"` +type PutBucketTaggingInput struct { + _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` - // The Amazon Web Services account ID of the S3 on Outposts bucket. + // The Amazon Web Services account ID of the Outposts bucket. // // AccountId is a required field AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` - // The S3 on Outposts bucket to set the versioning state for. + // The Amazon Resource Name (ARN) of the bucket. + // + // For using this parameter with Amazon S3 on Outposts with the REST API, you + // must specify the name and the x-amz-outpost-id as well. + // + // For using this parameter with S3 on Outposts with the Amazon Web Services + // SDK and CLI, you must specify the ARN of the bucket accessed in the format + // arn:aws:s3-outposts:::outpost//bucket/. + // For example, to access the bucket reports through Outpost my-outpost owned + // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. + // The value must be URL encoded. // // Bucket is a required field Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` - // The concatenation of the authentication device's serial number, a space, - // and the value that is displayed on your authentication device. - MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` + // Tagging is a required field + Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` +} - // The root-level tag for the VersioningConfiguration parameters. +// 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 PutBucketTaggingInput) 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 PutBucketTaggingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBucketTaggingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Bucket != nil && len(*s.Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) + } + if s.Tagging == nil { + invalidParams.Add(request.NewErrParamRequired("Tagging")) + } + if s.Tagging != nil { + if err := s.Tagging.Validate(); err != nil { + invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { + s.AccountId = &v + return s +} + +// SetBucket sets the Bucket field's value. +func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { + s.Bucket = &v + return s +} + +// SetTagging sets the Tagging field's value. +func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { + s.Tagging = v + return s +} + +func (s *PutBucketTaggingInput) hostLabels() map[string]string { + return map[string]string{ + "AccountId": aws.StringValue(s.AccountId), + } +} + +func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + return parseEndpointARN(*s.Bucket) +} + +func (s *PutBucketTaggingInput) hasEndpointARN() bool { + if s.Bucket == nil { + return false + } + return arn.IsARN(*s.Bucket) +} + +// updateArnableField updates the value of the input field that +// takes an ARN as an input. This method is useful to backfill +// the parsed resource name from ARN into the input member. +// It returns a pointer to a modified copy of input and an error. +// Note that original input is not modified. +func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { + if s.Bucket == nil { + return nil, fmt.Errorf("member Bucket is nil") + } + s.Bucket = aws.String(v) + return &s, nil +} + +// updateAccountID returns a pointer to a modified copy of input, +// if account id is not provided, we update the account id in modified input +// if account id is provided, but doesn't match with the one in ARN, we throw an error +// if account id is not updated, we return nil. Note that original input is not modified. +func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { + if s.AccountId == nil { + s.AccountId = aws.String(accountId) + return &s, nil + } else if *s.AccountId != accountId { + return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") + } + return nil, nil +} + +type PutBucketTaggingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutBucketTaggingOutput) 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 PutBucketTaggingOutput) GoString() string { + return s.String() +} + +type PutBucketVersioningInput struct { + _ struct{} `locationName:"PutBucketVersioningRequest" type:"structure" payload:"VersioningConfiguration"` + + // The Amazon Web Services account ID of the S3 on Outposts bucket. + // + // AccountId is a required field + AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` + + // The S3 on Outposts bucket to set the versioning state for. + // + // Bucket is a required field + Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` + + // The concatenation of the authentication device's serial number, a space, + // and the value that is displayed on your authentication device. + MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` + + // The root-level tag for the VersioningConfiguration parameters. // // VersioningConfiguration is a required field VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` @@ -17663,6 +18928,10 @@ type Region struct { // // Bucket is a required field Bucket *string `min:"3" type:"string" required:"true"` + + // The Amazon Web Services account ID that owns the Amazon S3 bucket that's + // associated with this Multi-Region Access Point. + BucketAccountId *string `type:"string"` } // String returns the string representation. @@ -17693,28 +18962,658 @@ func (s *Region) Validate() error { invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *Region) SetBucket(v string) *Region { + s.Bucket = &v + return s +} + +// SetBucketAccountId sets the BucketAccountId field's value. +func (s *Region) SetBucketAccountId(v string) *Region { + s.BucketAccountId = &v + return s +} + +// A combination of a bucket and Region that's part of a Multi-Region Access +// Point. +type RegionReport struct { + _ struct{} `type:"structure"` + + // The name of the bucket. + Bucket *string `min:"3" type:"string"` + + // The Amazon Web Services account ID that owns the Amazon S3 bucket that's + // associated with this Multi-Region Access Point. + BucketAccountId *string `type:"string"` + + // The name of the Region. + Region *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 RegionReport) 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 RegionReport) GoString() string { + return s.String() +} + +// SetBucket sets the Bucket field's value. +func (s *RegionReport) SetBucket(v string) *RegionReport { + s.Bucket = &v + return s +} + +// SetBucketAccountId sets the BucketAccountId field's value. +func (s *RegionReport) SetBucketAccountId(v string) *RegionReport { + s.BucketAccountId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *RegionReport) SetRegion(v string) *RegionReport { + s.Region = &v + return s +} + +// The container for the regional bucket. +type RegionalBucket struct { + _ struct{} `type:"structure"` + + // Bucket is a required field + Bucket *string `min:"3" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) for the regional bucket. + BucketArn *string `min:"4" type:"string"` + + // The creation date of the regional bucket + // + // CreationDate is a required field + CreationDate *time.Time `type:"timestamp" required:"true"` + + // The Outposts ID of the regional bucket. + OutpostId *string `min:"1" type:"string"` + + // PublicAccessBlockEnabled is a required field + PublicAccessBlockEnabled *bool `type:"boolean" 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 RegionalBucket) 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 RegionalBucket) GoString() string { + return s.String() +} + +// SetBucket sets the Bucket field's value. +func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { + s.Bucket = &v + return s +} + +// SetBucketArn sets the BucketArn field's value. +func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { + s.BucketArn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { + s.CreationDate = &v + return s +} + +// SetOutpostId sets the OutpostId field's value. +func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { + s.OutpostId = &v + return s +} + +// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. +func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { + s.PublicAccessBlockEnabled = &v + return s +} + +// A filter that you can use to specify whether replica modification sync is +// enabled. S3 on Outposts replica modification sync can help you keep object +// metadata synchronized between replicas and source objects. By default, S3 +// on Outposts replicates metadata from the source objects to the replicas only. +// When replica modification sync is enabled, S3 on Outposts replicates metadata +// changes made to the replica copies back to the source object, making the +// replication bidirectional. +// +// To replicate object metadata modifications on replicas, you can specify this +// element and set the Status of this element to Enabled. +// +// You must enable replica modification sync on the source and destination buckets +// to replicate replica metadata changes between the source and the replicas. +type ReplicaModifications struct { + _ struct{} `type:"structure"` + + // Specifies whether S3 on Outposts replicates modifications to object metadata + // on replicas. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ReplicaModificationsStatus"` +} + +// 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 ReplicaModifications) 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 ReplicaModifications) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicaModifications) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicaModifications"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *ReplicaModifications) SetStatus(v string) *ReplicaModifications { + s.Status = &v + return s +} + +// A container for one or more replication rules. A replication configuration +// must have at least one rule and you can add up to 100 rules. The maximum +// size of a replication configuration is 128 KB. +type ReplicationConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that S3 on Outposts assumes when replicating objects. For information + // about S3 replication on Outposts configuration, see Setting up replication + // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-how-setup.html) + // in the Amazon S3 User Guide. + // + // Role is a required field + Role *string `type:"string" required:"true"` + + // A container for one or more replication rules. A replication configuration + // must have at least one rule and can contain an array of 100 rules at the + // most. + // + // Rules is a required field + Rules []*ReplicationRule `locationNameList:"Rule" 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 ReplicationConfiguration) 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 ReplicationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"} + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRole sets the Role field's value. +func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration { + s.Role = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration { + s.Rules = v + return s +} + +// Specifies which S3 on Outposts objects to replicate and where to store the +// replicas. +type ReplicationRule struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the access point for the source Outposts + // bucket that you want S3 on Outposts to replicate the objects from. + // + // Bucket is a required field + Bucket *string `type:"string" required:"true"` + + // Specifies whether S3 on Outposts replicates delete markers. If you specify + // a Filter element in your replication configuration, you must also include + // a DeleteMarkerReplication element. If your Filter includes a Tag element, + // the DeleteMarkerReplication element's Status child element must be set to + // Disabled, because S3 on Outposts doesn't support replicating delete markers + // for tag-based rules. + // + // For more information about delete marker replication, see How delete operations + // affect replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated) + // in the Amazon S3 User Guide. + DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"` + + // A container for information about the replication destination and its configurations. + // + // Destination is a required field + Destination *Destination `type:"structure" required:"true"` + + // An optional configuration to replicate existing source bucket objects. + // + // This is not supported by Amazon S3 on Outposts buckets. + ExistingObjectReplication *ExistingObjectReplication `type:"structure"` + + // A filter that identifies the subset of objects to which the replication rule + // applies. A Filter element must specify exactly one Prefix, Tag, or And child + // element. + Filter *ReplicationRuleFilter `type:"structure"` + + // A unique identifier for the rule. The maximum value is 255 characters. + ID *string `type:"string"` + + // An object key name prefix that identifies the object or objects to which + // the rule applies. The maximum prefix length is 1,024 characters. To include + // all objects in an Outposts bucket, specify an empty string. + // + // When you're using XML requests, you must replace special characters (such + // as carriage returns) in object keys with their equivalent XML entity codes. + // For more information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) + // in the Amazon S3 User Guide. + // + // Deprecated: Prefix has been deprecated + Prefix *string `deprecated:"true" type:"string"` + + // The priority indicates which rule has precedence whenever two or more replication + // rules conflict. S3 on Outposts attempts to replicate objects according to + // all replication rules. However, if there are two or more rules with the same + // destination Outposts bucket, then objects will be replicated according to + // the rule with the highest priority. The higher the number, the higher the + // priority. + // + // For more information, see Creating replication rules between Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-between-outposts.html) + // in the Amazon S3 User Guide. + Priority *int64 `type:"integer"` + + // A container that describes additional filters for identifying the source + // Outposts objects that you want to replicate. You can choose to enable or + // disable the replication of these objects. + SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"` + + // Specifies whether the rule is enabled. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` +} + +// 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 ReplicationRule) 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 ReplicationRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + if s.DeleteMarkerReplication != nil { + if err := s.DeleteMarkerReplication.Validate(); err != nil { + invalidParams.AddNested("DeleteMarkerReplication", err.(request.ErrInvalidParams)) + } + } + if s.Destination != nil { + if err := s.Destination.Validate(); err != nil { + invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + } + } + if s.ExistingObjectReplication != nil { + if err := s.ExistingObjectReplication.Validate(); err != nil { + invalidParams.AddNested("ExistingObjectReplication", err.(request.ErrInvalidParams)) + } + } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } + if s.SourceSelectionCriteria != nil { + if err := s.SourceSelectionCriteria.Validate(); err != nil { + invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *ReplicationRule) SetBucket(v string) *ReplicationRule { + s.Bucket = &v + return s +} + +// SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value. +func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule { + s.DeleteMarkerReplication = v + return s +} + +// SetDestination sets the Destination field's value. +func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule { + s.Destination = v + return s +} + +// SetExistingObjectReplication sets the ExistingObjectReplication field's value. +func (s *ReplicationRule) SetExistingObjectReplication(v *ExistingObjectReplication) *ReplicationRule { + s.ExistingObjectReplication = v + return s +} + +// SetFilter sets the Filter field's value. +func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule { + s.Filter = v + return s +} + +// SetID sets the ID field's value. +func (s *ReplicationRule) SetID(v string) *ReplicationRule { + s.ID = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule { + s.Prefix = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule { + s.Priority = &v + return s +} + +// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value. +func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule { + s.SourceSelectionCriteria = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationRule) SetStatus(v string) *ReplicationRule { + s.Status = &v + return s +} + +// A container for specifying rule filters. The filters determine the subset +// of objects to which the rule applies. This element is required only if you +// specify more than one filter. +// +// For example: +// +// - If you specify both a Prefix and a Tag filter, wrap these filters in +// an And element. +// +// - If you specify a filter based on multiple tags, wrap the Tag elements +// in an And element. +type ReplicationRuleAndOperator struct { + _ struct{} `type:"structure"` + + // An object key name prefix that identifies the subset of objects that the + // rule applies to. + Prefix *string `type:"string"` + + // An array of tags that contain key and value pairs. + Tags []*S3Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationRuleAndOperator) 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 ReplicationRuleAndOperator) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationRuleAndOperator) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"} + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPrefix sets the Prefix field's value. +func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator { + s.Prefix = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ReplicationRuleAndOperator) SetTags(v []*S3Tag) *ReplicationRuleAndOperator { + s.Tags = v + return s +} + +// A filter that identifies the subset of objects to which the replication rule +// applies. A Filter element must specify exactly one Prefix, Tag, or And child +// element. +type ReplicationRuleFilter struct { + _ struct{} `type:"structure"` + + // A container for specifying rule filters. The filters determine the subset + // of objects that the rule applies to. This element is required only if you + // specify more than one filter. For example: + // + // * If you specify both a Prefix and a Tag filter, wrap these filters in + // an And element. + // + // * If you specify a filter based on multiple tags, wrap the Tag elements + // in an And element. + And *ReplicationRuleAndOperator `type:"structure"` + + // An object key name prefix that identifies the subset of objects that the + // rule applies to. + // + // When you're using XML requests, you must replace special characters (such + // as carriage returns) in object keys with their equivalent XML entity codes. + // For more information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) + // in the Amazon S3 User Guide. + Prefix *string `type:"string"` + + // A container for a key-value name pair. + Tag *S3Tag `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationRuleFilter) 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 ReplicationRuleFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationRuleFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"} + if s.And != nil { + if err := s.And.Validate(); err != nil { + invalidParams.AddNested("And", err.(request.ErrInvalidParams)) + } + } + if s.Tag != nil { + if err := s.Tag.Validate(); err != nil { + invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnd sets the And field's value. +func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter { + s.And = v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter { + s.Prefix = &v + return s } -// SetBucket sets the Bucket field's value. -func (s *Region) SetBucket(v string) *Region { - s.Bucket = &v +// SetTag sets the Tag field's value. +func (s *ReplicationRuleFilter) SetTag(v *S3Tag) *ReplicationRuleFilter { + s.Tag = v return s } -// A combination of a bucket and Region that's part of a Multi-Region Access -// Point. -type RegionReport struct { +// A container that specifies S3 Replication Time Control (S3 RTC) related information, +// including whether S3 RTC is enabled and the time when all objects and operations +// on objects must be replicated. +// +// This is not supported by Amazon S3 on Outposts buckets. +type ReplicationTime struct { _ struct{} `type:"structure"` - // The name of the bucket. - Bucket *string `min:"3" type:"string"` + // Specifies whether S3 Replication Time Control (S3 RTC) is enabled. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ReplicationTimeStatus"` - // The name of the Region. - Region *string `min:"1" type:"string"` + // A container that specifies the time by which replication should be complete + // for all objects and operations on objects. + // + // Time is a required field + Time *ReplicationTimeValue `type:"structure" required:"true"` } // String returns the string representation. @@ -17722,7 +19621,7 @@ type RegionReport struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RegionReport) String() string { +func (s ReplicationTime) String() string { return awsutil.Prettify(s) } @@ -17731,42 +19630,50 @@ func (s RegionReport) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RegionReport) GoString() string { +func (s ReplicationTime) GoString() string { return s.String() } -// SetBucket sets the Bucket field's value. -func (s *RegionReport) SetBucket(v string) *RegionReport { - s.Bucket = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationTime) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationTime"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + if s.Time == nil { + invalidParams.Add(request.NewErrParamRequired("Time")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTime) SetStatus(v string) *ReplicationTime { + s.Status = &v return s } -// SetRegion sets the Region field's value. -func (s *RegionReport) SetRegion(v string) *RegionReport { - s.Region = &v +// SetTime sets the Time field's value. +func (s *ReplicationTime) SetTime(v *ReplicationTimeValue) *ReplicationTime { + s.Time = v return s } -// The container for the regional bucket. -type RegionalBucket struct { +// A container that specifies the time value for S3 Replication Time Control +// (S3 RTC). This value is also used for the replication metrics EventThreshold +// element. +// +// This is not supported by Amazon S3 on Outposts buckets. +type ReplicationTimeValue struct { _ struct{} `type:"structure"` - // Bucket is a required field - Bucket *string `min:"3" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) for the regional bucket. - BucketArn *string `min:"4" type:"string"` - - // The creation date of the regional bucket + // Contains an integer that specifies the time period in minutes. // - // CreationDate is a required field - CreationDate *time.Time `type:"timestamp" required:"true"` - - // The Outposts ID of the regional bucket. - OutpostId *string `min:"1" type:"string"` - - // PublicAccessBlockEnabled is a required field - PublicAccessBlockEnabled *bool `type:"boolean" required:"true"` + // Valid value: 15 + Minutes *int64 `type:"integer"` } // String returns the string representation. @@ -17774,7 +19681,7 @@ type RegionalBucket struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RegionalBucket) String() string { +func (s ReplicationTimeValue) String() string { return awsutil.Prettify(s) } @@ -17783,37 +19690,13 @@ func (s RegionalBucket) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RegionalBucket) GoString() string { +func (s ReplicationTimeValue) GoString() string { return s.String() } -// SetBucket sets the Bucket field's value. -func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { - s.Bucket = &v - return s -} - -// SetBucketArn sets the BucketArn field's value. -func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { - s.BucketArn = &v - return s -} - -// SetCreationDate sets the CreationDate field's value. -func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { - s.CreationDate = &v - return s -} - -// SetOutpostId sets the OutpostId field's value. -func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { - s.OutpostId = &v - return s -} - -// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. -func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { - s.PublicAccessBlockEnabled = &v +// SetMinutes sets the Minutes field's value. +func (s *ReplicationTimeValue) SetMinutes(v int64) *ReplicationTimeValue { + s.Minutes = &v return s } @@ -18053,9 +19936,9 @@ func (s *S3BucketDestination) SetPrefix(v string) *S3BucketDestination { } // Contains the configuration parameters for a PUT Copy object operation. S3 -// Batch Operations passes every object to the underlying PUT Copy object API. -// For more information about the parameters for this operation, see PUT Object -// - Copy (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). +// Batch Operations passes every object to the underlying CopyObject API operation. +// For more information about the parameters for this operation, see CopyObject +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). type S3CopyObjectOperation struct { _ struct{} `type:"structure"` @@ -18072,8 +19955,8 @@ type S3CopyObjectOperation struct { CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` - // Indicates the algorithm you want Amazon S3 to use to create the checksum. - // For more information see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CheckingObjectIntegrity.xml) + // Indicates the algorithm that you want Amazon S3 to use to create the checksum. + // For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CheckingObjectIntegrity.xml) // in the Amazon S3 User Guide. ChecksumAlgorithm *string `type:"string" enum:"S3ChecksumAlgorithm"` @@ -18109,14 +19992,14 @@ type S3CopyObjectOperation struct { StorageClass *string `type:"string" enum:"S3StorageClass"` - // Specifies the folder prefix into which you would like the objects to be copied. + // Specifies the folder prefix that you want the objects to be copied into. // For example, to copy objects into a folder named Folder1 in the destination - // bucket, set the TargetKeyPrefix to Folder1. + // bucket, set the TargetKeyPrefix property to Folder1. TargetKeyPrefix *string `min:"1" type:"string"` - // Specifies the destination bucket ARN for the batch copy operation. For example, - // to copy objects to a bucket named destinationBucket, set the TargetResource - // property to arn:aws:s3:::destinationBucket. + // Specifies the destination bucket Amazon Resource Name (ARN) for the batch + // copy operation. For example, to copy objects to a bucket named destinationBucket, + // set the TargetResource property to arn:aws:s3:::destinationBucket. TargetResource *string `min:"1" type:"string"` UnModifiedSinceConstraint *time.Time `type:"timestamp"` @@ -18295,9 +20178,9 @@ func (s *S3CopyObjectOperation) SetUnModifiedSinceConstraint(v time.Time) *S3Cop return s } -// Contains no configuration parameters because the DELETE Object tagging API -// only accepts the bucket name and key name as parameters, which are defined -// in the job's manifest. +// Contains no configuration parameters because the DELETE Object tagging (DeleteObjectTagging) +// API operation accepts only the bucket name and key name as parameters, which +// are defined in the job's manifest. type S3DeleteObjectTaggingOperation struct { _ struct{} `type:"structure"` } @@ -18478,9 +20361,9 @@ func (s *S3Grantee) SetTypeIdentifier(v string) *S3Grantee { return s } -// Contains the configuration parameters for an S3 Initiate Restore Object job. -// S3 Batch Operations passes every object to the underlying POST Object restore -// API. For more information about the parameters for this operation, see RestoreObject +// Contains the configuration parameters for a POST Object restore job. S3 Batch +// Operations passes every object to the underlying RestoreObject API operation. +// For more information about the parameters for this operation, see RestoreObject // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). type S3InitiateRestoreObjectOperation struct { _ struct{} `type:"structure"` @@ -19051,8 +20934,8 @@ func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { return s } -// Contains the configuration parameters for a Set Object ACL operation. S3 -// Batch Operations passes every object to the underlying PutObjectAcl API. +// Contains the configuration parameters for a PUT Object ACL operation. S3 +// Batch Operations passes every object to the underlying PutObjectAcl API operation. // For more information about the parameters for this operation, see PutObjectAcl // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). type S3SetObjectAclOperation struct { @@ -19101,9 +20984,9 @@ func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolic } // Contains the configuration for an S3 Object Lock legal hold operation that -// an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold -// API. For more information, see Using S3 Object Lock legal hold with S3 Batch -// Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) +// an S3 Batch Operations job passes to every object to the underlying PutObjectLegalHold +// API operation. For more information, see Using S3 Object Lock legal hold +// with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) // in the Amazon S3 User Guide. type S3SetObjectLegalHoldOperation struct { _ struct{} `type:"structure"` @@ -19159,8 +21042,8 @@ func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) * // Contains the configuration parameters for the Object Lock retention action // for an S3 Batch Operations job. Batch Operations passes every object to the -// underlying PutObjectRetention API. For more information, see Using S3 Object -// Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) +// underlying PutObjectRetention API operation. For more information, see Using +// S3 Object Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) // in the Amazon S3 User Guide. type S3SetObjectRetentionOperation struct { _ struct{} `type:"structure"` @@ -19221,10 +21104,10 @@ func (s *S3SetObjectRetentionOperation) SetRetention(v *S3Retention) *S3SetObjec return s } -// Contains the configuration parameters for a Set Object Tagging operation. -// S3 Batch Operations passes every object to the underlying PUT Object tagging -// API. For more information about the parameters for this operation, see PUT -// Object tagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). +// Contains the configuration parameters for a PUT Object Tagging operation. +// S3 Batch Operations passes every object to the underlying PutObjectTagging +// API operation. For more information about the parameters for this operation, +// see PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). type S3SetObjectTaggingOperation struct { _ struct{} `type:"structure"` @@ -19550,6 +21433,137 @@ func (s *SelectionCriteria) SetMinStorageBytesPercentage(v float64) *SelectionCr return s } +// A container that describes additional filters for identifying the source +// objects that you want to replicate. You can choose to enable or disable the +// replication of these objects. +type SourceSelectionCriteria struct { + _ struct{} `type:"structure"` + + // A filter that you can use to specify whether replica modification sync is + // enabled. S3 on Outposts replica modification sync can help you keep object + // metadata synchronized between replicas and source objects. By default, S3 + // on Outposts replicates metadata from the source objects to the replicas only. + // When replica modification sync is enabled, S3 on Outposts replicates metadata + // changes made to the replica copies back to the source object, making the + // replication bidirectional. + // + // To replicate object metadata modifications on replicas, you can specify this + // element and set the Status of this element to Enabled. + // + // You must enable replica modification sync on the source and destination buckets + // to replicate replica metadata changes between the source and the replicas. + ReplicaModifications *ReplicaModifications `type:"structure"` + + // A filter that you can use to select Amazon S3 objects that are encrypted + // with server-side encryption by using Key Management Service (KMS) keys. If + // you include SourceSelectionCriteria in the replication configuration, this + // element is required. + // + // This is not supported by Amazon S3 on Outposts buckets. + SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceSelectionCriteria) 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 SourceSelectionCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceSelectionCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"} + if s.ReplicaModifications != nil { + if err := s.ReplicaModifications.Validate(); err != nil { + invalidParams.AddNested("ReplicaModifications", err.(request.ErrInvalidParams)) + } + } + if s.SseKmsEncryptedObjects != nil { + if err := s.SseKmsEncryptedObjects.Validate(); err != nil { + invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicaModifications sets the ReplicaModifications field's value. +func (s *SourceSelectionCriteria) SetReplicaModifications(v *ReplicaModifications) *SourceSelectionCriteria { + s.ReplicaModifications = v + return s +} + +// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value. +func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria { + s.SseKmsEncryptedObjects = v + return s +} + +// A container for filter information that you can use to select S3 objects +// that are encrypted with Key Management Service (KMS). +// +// This is not supported by Amazon S3 on Outposts buckets. +type SseKmsEncryptedObjects struct { + _ struct{} `type:"structure"` + + // Specifies whether Amazon S3 replicates objects that are created with server-side + // encryption by using an KMS key stored in Key Management Service. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"` +} + +// 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 SseKmsEncryptedObjects) 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 SseKmsEncryptedObjects) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SseKmsEncryptedObjects) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects { + s.Status = &v + return s +} + // The Amazon Web Services organization for your S3 Storage Lens. type StorageLensAwsOrg struct { _ struct{} `type:"structure"` @@ -20645,6 +22659,38 @@ func BucketVersioningStatus_Values() []string { } } +const ( + // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value + DeleteMarkerReplicationStatusEnabled = "Enabled" + + // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value + DeleteMarkerReplicationStatusDisabled = "Disabled" +) + +// DeleteMarkerReplicationStatus_Values returns all elements of the DeleteMarkerReplicationStatus enum +func DeleteMarkerReplicationStatus_Values() []string { + return []string{ + DeleteMarkerReplicationStatusEnabled, + DeleteMarkerReplicationStatusDisabled, + } +} + +const ( + // ExistingObjectReplicationStatusEnabled is a ExistingObjectReplicationStatus enum value + ExistingObjectReplicationStatusEnabled = "Enabled" + + // ExistingObjectReplicationStatusDisabled is a ExistingObjectReplicationStatus enum value + ExistingObjectReplicationStatusDisabled = "Disabled" +) + +// ExistingObjectReplicationStatus_Values returns all elements of the ExistingObjectReplicationStatus enum +func ExistingObjectReplicationStatus_Values() []string { + return []string{ + ExistingObjectReplicationStatusEnabled, + ExistingObjectReplicationStatusDisabled, + } +} + const ( // ExpirationStatusEnabled is a ExpirationStatus enum value ExpirationStatusEnabled = "Enabled" @@ -20849,6 +22895,22 @@ func MFADeleteStatus_Values() []string { } } +const ( + // MetricsStatusEnabled is a MetricsStatus enum value + MetricsStatusEnabled = "Enabled" + + // MetricsStatusDisabled is a MetricsStatus enum value + MetricsStatusDisabled = "Disabled" +) + +// MetricsStatus_Values returns all elements of the MetricsStatus enum +func MetricsStatus_Values() []string { + return []string{ + MetricsStatusEnabled, + MetricsStatusDisabled, + } +} + const ( // MultiRegionAccessPointStatusReady is a MultiRegionAccessPointStatus enum value MultiRegionAccessPointStatusReady = "READY" @@ -21001,6 +23063,50 @@ func OutputSchemaVersion_Values() []string { } } +const ( + // OwnerOverrideDestination is a OwnerOverride enum value + OwnerOverrideDestination = "Destination" +) + +// OwnerOverride_Values returns all elements of the OwnerOverride enum +func OwnerOverride_Values() []string { + return []string{ + OwnerOverrideDestination, + } +} + +const ( + // ReplicaModificationsStatusEnabled is a ReplicaModificationsStatus enum value + ReplicaModificationsStatusEnabled = "Enabled" + + // ReplicaModificationsStatusDisabled is a ReplicaModificationsStatus enum value + ReplicaModificationsStatusDisabled = "Disabled" +) + +// ReplicaModificationsStatus_Values returns all elements of the ReplicaModificationsStatus enum +func ReplicaModificationsStatus_Values() []string { + return []string{ + ReplicaModificationsStatusEnabled, + ReplicaModificationsStatusDisabled, + } +} + +const ( + // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value + ReplicationRuleStatusEnabled = "Enabled" + + // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value + ReplicationRuleStatusDisabled = "Disabled" +) + +// ReplicationRuleStatus_Values returns all elements of the ReplicationRuleStatus enum +func ReplicationRuleStatus_Values() []string { + return []string{ + ReplicationRuleStatusEnabled, + ReplicationRuleStatusDisabled, + } +} + const ( // ReplicationStatusCompleted is a ReplicationStatus enum value ReplicationStatusCompleted = "COMPLETED" @@ -21025,6 +23131,66 @@ func ReplicationStatus_Values() []string { } } +const ( + // ReplicationStorageClassStandard is a ReplicationStorageClass enum value + ReplicationStorageClassStandard = "STANDARD" + + // ReplicationStorageClassReducedRedundancy is a ReplicationStorageClass enum value + ReplicationStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" + + // ReplicationStorageClassStandardIa is a ReplicationStorageClass enum value + ReplicationStorageClassStandardIa = "STANDARD_IA" + + // ReplicationStorageClassOnezoneIa is a ReplicationStorageClass enum value + ReplicationStorageClassOnezoneIa = "ONEZONE_IA" + + // ReplicationStorageClassIntelligentTiering is a ReplicationStorageClass enum value + ReplicationStorageClassIntelligentTiering = "INTELLIGENT_TIERING" + + // ReplicationStorageClassGlacier is a ReplicationStorageClass enum value + ReplicationStorageClassGlacier = "GLACIER" + + // ReplicationStorageClassDeepArchive is a ReplicationStorageClass enum value + ReplicationStorageClassDeepArchive = "DEEP_ARCHIVE" + + // ReplicationStorageClassOutposts is a ReplicationStorageClass enum value + ReplicationStorageClassOutposts = "OUTPOSTS" + + // ReplicationStorageClassGlacierIr is a ReplicationStorageClass enum value + ReplicationStorageClassGlacierIr = "GLACIER_IR" +) + +// ReplicationStorageClass_Values returns all elements of the ReplicationStorageClass enum +func ReplicationStorageClass_Values() []string { + return []string{ + ReplicationStorageClassStandard, + ReplicationStorageClassReducedRedundancy, + ReplicationStorageClassStandardIa, + ReplicationStorageClassOnezoneIa, + ReplicationStorageClassIntelligentTiering, + ReplicationStorageClassGlacier, + ReplicationStorageClassDeepArchive, + ReplicationStorageClassOutposts, + ReplicationStorageClassGlacierIr, + } +} + +const ( + // ReplicationTimeStatusEnabled is a ReplicationTimeStatus enum value + ReplicationTimeStatusEnabled = "Enabled" + + // ReplicationTimeStatusDisabled is a ReplicationTimeStatus enum value + ReplicationTimeStatusDisabled = "Disabled" +) + +// ReplicationTimeStatus_Values returns all elements of the ReplicationTimeStatus enum +func ReplicationTimeStatus_Values() []string { + return []string{ + ReplicationTimeStatusEnabled, + ReplicationTimeStatusDisabled, + } +} + const ( // RequestedJobStatusCancelled is a RequestedJobStatus enum value RequestedJobStatusCancelled = "Cancelled" @@ -21281,6 +23447,22 @@ func S3StorageClass_Values() []string { } } +const ( + // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value + SseKmsEncryptedObjectsStatusEnabled = "Enabled" + + // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value + SseKmsEncryptedObjectsStatusDisabled = "Disabled" +) + +// SseKmsEncryptedObjectsStatus_Values returns all elements of the SseKmsEncryptedObjectsStatus enum +func SseKmsEncryptedObjectsStatus_Values() []string { + return []string{ + SseKmsEncryptedObjectsStatusEnabled, + SseKmsEncryptedObjectsStatusDisabled, + } +} + const ( // TransitionStorageClassGlacier is a TransitionStorageClass enum value TransitionStorageClassGlacier = "GLACIER" diff --git a/service/s3control/s3controliface/interface.go b/service/s3control/s3controliface/interface.go index 1cfbcbfea8f..48ae7aee099 100644 --- a/service/s3control/s3controliface/interface.go +++ b/service/s3control/s3controliface/interface.go @@ -108,6 +108,10 @@ type S3ControlAPI interface { DeleteBucketPolicyWithContext(aws.Context, *s3control.DeleteBucketPolicyInput, ...request.Option) (*s3control.DeleteBucketPolicyOutput, error) DeleteBucketPolicyRequest(*s3control.DeleteBucketPolicyInput) (*request.Request, *s3control.DeleteBucketPolicyOutput) + DeleteBucketReplication(*s3control.DeleteBucketReplicationInput) (*s3control.DeleteBucketReplicationOutput, error) + DeleteBucketReplicationWithContext(aws.Context, *s3control.DeleteBucketReplicationInput, ...request.Option) (*s3control.DeleteBucketReplicationOutput, error) + DeleteBucketReplicationRequest(*s3control.DeleteBucketReplicationInput) (*request.Request, *s3control.DeleteBucketReplicationOutput) + DeleteBucketTagging(*s3control.DeleteBucketTaggingInput) (*s3control.DeleteBucketTaggingOutput, error) DeleteBucketTaggingWithContext(aws.Context, *s3control.DeleteBucketTaggingInput, ...request.Option) (*s3control.DeleteBucketTaggingOutput, error) DeleteBucketTaggingRequest(*s3control.DeleteBucketTaggingInput) (*request.Request, *s3control.DeleteBucketTaggingOutput) @@ -180,6 +184,10 @@ type S3ControlAPI interface { GetBucketPolicyWithContext(aws.Context, *s3control.GetBucketPolicyInput, ...request.Option) (*s3control.GetBucketPolicyOutput, error) GetBucketPolicyRequest(*s3control.GetBucketPolicyInput) (*request.Request, *s3control.GetBucketPolicyOutput) + GetBucketReplication(*s3control.GetBucketReplicationInput) (*s3control.GetBucketReplicationOutput, error) + GetBucketReplicationWithContext(aws.Context, *s3control.GetBucketReplicationInput, ...request.Option) (*s3control.GetBucketReplicationOutput, error) + GetBucketReplicationRequest(*s3control.GetBucketReplicationInput) (*request.Request, *s3control.GetBucketReplicationOutput) + GetBucketTagging(*s3control.GetBucketTaggingInput) (*s3control.GetBucketTaggingOutput, error) GetBucketTaggingWithContext(aws.Context, *s3control.GetBucketTaggingInput, ...request.Option) (*s3control.GetBucketTaggingOutput, error) GetBucketTaggingRequest(*s3control.GetBucketTaggingInput) (*request.Request, *s3control.GetBucketTaggingOutput) @@ -282,6 +290,10 @@ type S3ControlAPI interface { PutBucketPolicyWithContext(aws.Context, *s3control.PutBucketPolicyInput, ...request.Option) (*s3control.PutBucketPolicyOutput, error) PutBucketPolicyRequest(*s3control.PutBucketPolicyInput) (*request.Request, *s3control.PutBucketPolicyOutput) + PutBucketReplication(*s3control.PutBucketReplicationInput) (*s3control.PutBucketReplicationOutput, error) + PutBucketReplicationWithContext(aws.Context, *s3control.PutBucketReplicationInput, ...request.Option) (*s3control.PutBucketReplicationOutput, error) + PutBucketReplicationRequest(*s3control.PutBucketReplicationInput) (*request.Request, *s3control.PutBucketReplicationOutput) + PutBucketTagging(*s3control.PutBucketTaggingInput) (*s3control.PutBucketTaggingOutput, error) PutBucketTaggingWithContext(aws.Context, *s3control.PutBucketTaggingInput, ...request.Option) (*s3control.PutBucketTaggingOutput, error) PutBucketTaggingRequest(*s3control.PutBucketTaggingInput) (*request.Request, *s3control.PutBucketTaggingOutput) diff --git a/service/tnb/api.go b/service/tnb/api.go index fb31856e106..a25f0486cd8 100644 --- a/service/tnb/api.go +++ b/service/tnb/api.go @@ -164,7 +164,7 @@ func (c *Tnb) CreateSolFunctionPackageRequest(input *CreateSolFunctionPackageInp // Creating a function package is the first step for creating a network in AWS // TNB. This request creates an empty container with an ID. The next step is // to upload the actual CSAR zip file into that empty container. To upload function -// package content, see PutSolFunctionPackageContent (https://docs.aws.amazon.com/TNB/latest/APIReference/API_PutSolFunctionPackageContent.html). +// package content, see PutSolFunctionPackageContent (https://docs.aws.amazon.com/tnb/latest/APIReference/API_PutSolFunctionPackageContent.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -266,7 +266,7 @@ func (c *Tnb) CreateSolNetworkInstanceRequest(input *CreateSolNetworkInstanceInp // in the Amazon Web Services Telco Network Builder User Guide. // // Once you create a network instance, you can instantiate it. To instantiate -// a network, see InstantiateSolNetworkInstance (https://docs.aws.amazon.com/TNB/latest/APIReference/API_InstantiateSolNetworkInstance.html). +// a network, see InstantiateSolNetworkInstance (https://docs.aws.amazon.com/tnb/latest/APIReference/API_InstantiateSolNetworkInstance.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -376,7 +376,7 @@ func (c *Tnb) CreateSolNetworkPackageRequest(input *CreateSolNetworkPackageInput // // This request creates an empty network package container with an ID. Once // you create a network package, you can upload the network package content -// using PutSolNetworkPackageContent (https://docs.aws.amazon.com/TNB/latest/APIReference/API_PutSolNetworkPackageContent.html). +// using PutSolNetworkPackageContent (https://docs.aws.amazon.com/tnb/latest/APIReference/API_PutSolNetworkPackageContent.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -477,7 +477,7 @@ func (c *Tnb) DeleteSolFunctionPackageRequest(input *DeleteSolFunctionPackageInp // how the network functions should run on your network. // // To delete a function package, the package must be in a disabled state. To -// disable a function package, see UpdateSolFunctionPackage (https://docs.aws.amazon.com/TNB/latest/APIReference/API_UpdateSolFunctionPackage.html). +// disable a function package, see UpdateSolFunctionPackage (https://docs.aws.amazon.com/tnb/latest/APIReference/API_UpdateSolFunctionPackage.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -577,7 +577,7 @@ func (c *Tnb) DeleteSolNetworkInstanceRequest(input *DeleteSolNetworkInstanceInp // update, and delete) can be performed. // // To delete a network instance, the instance must be in a stopped or terminated -// state. To terminate a network instance, see TerminateSolNetworkInstance (https://docs.aws.amazon.com/TNB/latest/APIReference/API_TerminateSolNetworkInstance.html). +// state. To terminate a network instance, see TerminateSolNetworkInstance (https://docs.aws.amazon.com/tnb/latest/APIReference/API_TerminateSolNetworkInstance.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -677,7 +677,7 @@ func (c *Tnb) DeleteSolNetworkPackageRequest(input *DeleteSolNetworkPackageInput // you want to deploy them on. // // To delete a network package, the package must be in a disable state. To disable -// a network package, see UpdateSolNetworkPackage (https://docs.aws.amazon.com/TNB/latest/APIReference/API_UpdateSolNetworkPackage.html). +// a network package, see UpdateSolNetworkPackage (https://docs.aws.amazon.com/tnb/latest/APIReference/API_UpdateSolNetworkPackage.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1649,7 +1649,7 @@ func (c *Tnb) InstantiateSolNetworkInstanceRequest(input *InstantiateSolNetworkI // update, and delete) can be performed. // // Before you can instantiate a network instance, you have to create a network -// instance. For more information, see CreateSolNetworkInstance (https://docs.aws.amazon.com/TNB/latest/APIReference/API_CreateSolNetworkInstance.html). +// instance. For more information, see CreateSolNetworkInstance (https://docs.aws.amazon.com/tnb/latest/APIReference/API_CreateSolNetworkInstance.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3371,7 +3371,7 @@ func (c *Tnb) ValidateSolFunctionPackageContentRequest(input *ValidateSolFunctio // ValidateSolFunctionPackageContent API operation for AWS Telco Network Builder. // // Validates function package content. This can be used as a dry run before -// uploading function package content with PutSolFunctionPackageContent (https://docs.aws.amazon.com/TNB/latest/APIReference/API_PutSolFunctionPackageContent.html). +// uploading function package content with PutSolFunctionPackageContent (https://docs.aws.amazon.com/tnb/latest/APIReference/API_PutSolFunctionPackageContent.html). // // A function package is a .zip file in CSAR (Cloud Service Archive) format // that contains a network function (an ETSI standard telecommunication application) @@ -3469,7 +3469,7 @@ func (c *Tnb) ValidateSolNetworkPackageContentRequest(input *ValidateSolNetworkP // ValidateSolNetworkPackageContent API operation for AWS Telco Network Builder. // // Validates network package content. This can be used as a dry run before uploading -// network package content with PutSolNetworkPackageContent (https://docs.aws.amazon.com/TNB/latest/APIReference/API_PutSolNetworkPackageContent.html). +// network package content with PutSolNetworkPackageContent (https://docs.aws.amazon.com/tnb/latest/APIReference/API_PutSolNetworkPackageContent.html). // // A network package is a .zip file in CSAR (Cloud Service Archive) format defines // the function packages you want to deploy and the Amazon Web Services infrastructure @@ -3589,7 +3589,7 @@ func (s *AccessDeniedException) RequestID() string { type CancelSolNetworkOperationInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID of a network operation occurrence. + // The identifier of the network operation. // // NsLcmOpOccId is a required field NsLcmOpOccId *string `location:"uri" locationName:"nsLcmOpOccId" type:"string" required:"true"` @@ -3790,7 +3790,7 @@ type CreateSolNetworkInstanceInput struct { _ struct{} `type:"structure"` // Network instance description. - NsDescription *string `locationName:"nsDescription" min:"1" type:"string"` + NsDescription *string `locationName:"nsDescription" type:"string"` // Network instance name. // @@ -3833,9 +3833,6 @@ func (s CreateSolNetworkInstanceInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSolNetworkInstanceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSolNetworkInstanceInput"} - if s.NsDescription != nil && len(*s.NsDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NsDescription", 1)) - } if s.NsName == nil { invalidParams.Add(request.NewErrParamRequired("NsName")) } @@ -5357,7 +5354,7 @@ func (s *GetSolNetworkInstanceOutput) SetTags(v map[string]*string) *GetSolNetwo type GetSolNetworkOperationInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier of the operation occurrence. + // The identifier of the network operation. // // NsLcmOpOccId is a required field NsLcmOpOccId *string `location:"uri" locationName:"nsLcmOpOccId" type:"string" required:"true"` @@ -5403,7 +5400,7 @@ func (s *GetSolNetworkOperationInput) SetNsLcmOpOccId(v string) *GetSolNetworkOp return s } -// Metadata related to a network operation occurence. +// Metadata related to a network operation occurrence. // // A network operation is any operation that is done to your network, such as // network instance instantiation or termination. @@ -5459,7 +5456,7 @@ type GetSolNetworkOperationOutput struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // Error related to this specific network operation occurence. + // Error related to this specific network operation occurrence. Error *ProblemDetails `locationName:"error" type:"structure"` // ID of this network operation occurrence. @@ -6228,7 +6225,7 @@ func (s *GetSolVnfcResourceInfoMetadata) SetNodeGroup(v string) *GetSolVnfcResou } type InstantiateSolNetworkInstanceInput struct { - _ struct{} `type:"structure" nopayload:"true"` + _ struct{} `type:"structure"` // A check for whether you have the required permissions for the action without // actually making the request and provides an error response. If you have the @@ -6240,6 +6237,16 @@ type InstantiateSolNetworkInstanceInput struct { // // NsInstanceId is a required field NsInstanceId *string `location:"uri" locationName:"nsInstanceId" type:"string" required:"true"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by InstantiateSolNetworkInstanceInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` } // String returns the string representation. @@ -6288,13 +6295,29 @@ func (s *InstantiateSolNetworkInstanceInput) SetNsInstanceId(v string) *Instanti return s } +// SetTags sets the Tags field's value. +func (s *InstantiateSolNetworkInstanceInput) SetTags(v map[string]*string) *InstantiateSolNetworkInstanceInput { + s.Tags = v + return s +} + type InstantiateSolNetworkInstanceOutput struct { _ struct{} `type:"structure"` - // The identifier of the network instance. + // The identifier of the network operation. // // NsLcmOpOccId is a required field NsLcmOpOccId *string `locationName:"nsLcmOpOccId" type:"string" required:"true"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by InstantiateSolNetworkInstanceOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` } // String returns the string representation. @@ -6321,6 +6344,12 @@ func (s *InstantiateSolNetworkInstanceOutput) SetNsLcmOpOccId(v string) *Instant return s } +// SetTags sets the Tags field's value. +func (s *InstantiateSolNetworkInstanceOutput) SetTags(v map[string]*string) *InstantiateSolNetworkInstanceOutput { + s.Tags = v + return s +} + // Unexpected error occurred. Problem on the server. type InternalServerException struct { _ struct{} `type:"structure"` @@ -6391,7 +6420,7 @@ func (s *InternalServerException) RequestID() string { type LcmOperationInfo struct { _ struct{} `type:"structure"` - // The identifier of the latest network lifecycle management operation occurrence. + // The identifier of the network operation. // // NsLcmOpOccId is a required field NsLcmOpOccId *string `locationName:"nsLcmOpOccId" type:"string" required:"true"` @@ -8540,12 +8569,22 @@ func (s TagResourceOutput) GoString() string { } type TerminateSolNetworkInstanceInput struct { - _ struct{} `type:"structure" nopayload:"true"` + _ struct{} `type:"structure"` // ID of the network instance. // // NsInstanceId is a required field NsInstanceId *string `location:"uri" locationName:"nsInstanceId" type:"string" required:"true"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TerminateSolNetworkInstanceInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` } // String returns the string representation. @@ -8588,11 +8627,27 @@ func (s *TerminateSolNetworkInstanceInput) SetNsInstanceId(v string) *TerminateS return s } +// SetTags sets the Tags field's value. +func (s *TerminateSolNetworkInstanceInput) SetTags(v map[string]*string) *TerminateSolNetworkInstanceInput { + s.Tags = v + return s +} + type TerminateSolNetworkInstanceOutput struct { _ struct{} `type:"structure"` - // The identifier of the operation occurrence. + // The identifier of the network operation. NsLcmOpOccId *string `locationName:"nsLcmOpOccId" type:"string"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TerminateSolNetworkInstanceOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` } // String returns the string representation. @@ -8619,6 +8674,12 @@ func (s *TerminateSolNetworkInstanceOutput) SetNsLcmOpOccId(v string) *Terminate return s } +// SetTags sets the Tags field's value. +func (s *TerminateSolNetworkInstanceOutput) SetTags(v map[string]*string) *TerminateSolNetworkInstanceOutput { + s.Tags = v + return s +} + // Exception caused by throttling. type ThrottlingException struct { _ struct{} `type:"structure"` @@ -8913,6 +8974,16 @@ type UpdateSolNetworkInstanceInput struct { // NsInstanceId is a required field NsInstanceId *string `location:"uri" locationName:"nsInstanceId" type:"string" required:"true"` + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateSolNetworkInstanceInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + // The type of update. // // UpdateType is a required field @@ -8962,6 +9033,12 @@ func (s *UpdateSolNetworkInstanceInput) SetNsInstanceId(v string) *UpdateSolNetw return s } +// SetTags sets the Tags field's value. +func (s *UpdateSolNetworkInstanceInput) SetTags(v map[string]*string) *UpdateSolNetworkInstanceInput { + s.Tags = v + return s +} + // SetUpdateType sets the UpdateType field's value. func (s *UpdateSolNetworkInstanceInput) SetUpdateType(v string) *UpdateSolNetworkInstanceInput { s.UpdateType = &v @@ -8971,8 +9048,18 @@ func (s *UpdateSolNetworkInstanceInput) SetUpdateType(v string) *UpdateSolNetwor type UpdateSolNetworkInstanceOutput struct { _ struct{} `type:"structure"` - // The identifier of the network instance operation occurrence. + // The identifier of the network operation. NsLcmOpOccId *string `locationName:"nsLcmOpOccId" type:"string"` + + // A tag is a label that you assign to an Amazon Web Services resource. Each + // tag consists of a key and an optional value. When you use this API, the tags + // are transferred to the network operation that is created. Use tags to search + // and filter your resources or track your Amazon Web Services costs. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateSolNetworkInstanceOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` } // String returns the string representation. @@ -8999,6 +9086,12 @@ func (s *UpdateSolNetworkInstanceOutput) SetNsLcmOpOccId(v string) *UpdateSolNet return s } +// SetTags sets the Tags field's value. +func (s *UpdateSolNetworkInstanceOutput) SetTags(v map[string]*string) *UpdateSolNetworkInstanceOutput { + s.Tags = v + return s +} + type UpdateSolNetworkPackageInput struct { _ struct{} `type:"structure"`