From 2ff187595593f3ab70f3603e9105c3558e12ccc8 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 22 Nov 2023 19:45:45 +0000 Subject: [PATCH] feat(client-s3-control): Amazon S3 Batch Operations now manages buckets or prefixes in a single step. --- .../src/commands/CreateJobCommand.ts | 16 + .../commands/DeleteStorageLensGroupCommand.ts | 9 +- .../src/commands/DescribeJobCommand.ts | 16 + .../commands/GetBucketReplicationCommand.ts | 3 +- .../commands/GetStorageLensGroupCommand.ts | 9 +- .../commands/ListStorageLensGroupsCommand.ts | 10 +- .../commands/ListTagsForResourceCommand.ts | 7 +- .../commands/PutBucketReplicationCommand.ts | 17 +- .../commands/PutBucketVersioningCommand.ts | 10 +- ...bmitMultiRegionAccessPointRoutesCommand.ts | 3 +- .../src/commands/TagResourceCommand.ts | 10 +- .../commands/UpdateStorageLensGroupCommand.ts | 9 +- .../client-s3-control/src/models/models_0.ts | 461 +++++++++--------- .../src/protocols/Aws_restXml.ts | 153 ++++++ .../sdk-codegen/aws-models/s3-control.json | 242 +++++---- 15 files changed, 610 insertions(+), 365 deletions(-) diff --git a/clients/client-s3-control/src/commands/CreateJobCommand.ts b/clients/client-s3-control/src/commands/CreateJobCommand.ts index bbc64a4be343a..9bc7017bcae84 100644 --- a/clients/client-s3-control/src/commands/CreateJobCommand.ts +++ b/clients/client-s3-control/src/commands/CreateJobCommand.ts @@ -233,6 +233,22 @@ export interface CreateJobCommandOutput extends CreateJobResult, __MetadataBeare * ObjectReplicationStatuses: [ // ReplicationStatusFilterList * "COMPLETED" || "FAILED" || "REPLICA" || "NONE", * ], + * KeyNameConstraint: { // KeyNameConstraint + * MatchAnyPrefix: [ // NonEmptyMaxLength1024StringList + * "STRING_VALUE", + * ], + * MatchAnySuffix: [ + * "STRING_VALUE", + * ], + * MatchAnySubstring: [ + * "STRING_VALUE", + * ], + * }, + * ObjectSizeGreaterThanBytes: Number("long"), + * ObjectSizeLessThanBytes: Number("long"), + * MatchAnyStorageClass: [ // StorageClassList + * "STANDARD" || "STANDARD_IA" || "ONEZONE_IA" || "GLACIER" || "INTELLIGENT_TIERING" || "DEEP_ARCHIVE" || "GLACIER_IR", + * ], * }, * EnableManifestOutput: true || false, // required * }, diff --git a/clients/client-s3-control/src/commands/DeleteStorageLensGroupCommand.ts b/clients/client-s3-control/src/commands/DeleteStorageLensGroupCommand.ts index cbe627ba312e1..6e9ca92de45a5 100644 --- a/clients/client-s3-control/src/commands/DeleteStorageLensGroupCommand.ts +++ b/clients/client-s3-control/src/commands/DeleteStorageLensGroupCommand.ts @@ -38,13 +38,12 @@ export interface DeleteStorageLensGroupCommandOutput extends __MetadataBearer {} /** * @public - *

- * Deletes an existing S3 Storage Lens group.

+ *

Deletes an existing S3 Storage Lens group.

*

To use this operation, you must have the permission to perform the - * s3:DeleteStorageLensGroup action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ * s3:DeleteStorageLensGroup action. For more information about the required + * Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

*

For information about Storage Lens groups errors, see List of Amazon S3 Storage - * Lens error codes.

+ * Lens error codes.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3-control/src/commands/DescribeJobCommand.ts b/clients/client-s3-control/src/commands/DescribeJobCommand.ts index 966daed842317..709928230f599 100644 --- a/clients/client-s3-control/src/commands/DescribeJobCommand.ts +++ b/clients/client-s3-control/src/commands/DescribeJobCommand.ts @@ -247,6 +247,22 @@ export interface DescribeJobCommandOutput extends DescribeJobResult, __MetadataB * // ObjectReplicationStatuses: [ // ReplicationStatusFilterList * // "COMPLETED" || "FAILED" || "REPLICA" || "NONE", * // ], + * // KeyNameConstraint: { // KeyNameConstraint + * // MatchAnyPrefix: [ // NonEmptyMaxLength1024StringList + * // "STRING_VALUE", + * // ], + * // MatchAnySuffix: [ + * // "STRING_VALUE", + * // ], + * // MatchAnySubstring: [ + * // "STRING_VALUE", + * // ], + * // }, + * // ObjectSizeGreaterThanBytes: Number("long"), + * // ObjectSizeLessThanBytes: Number("long"), + * // MatchAnyStorageClass: [ // StorageClassList + * // "STANDARD" || "STANDARD_IA" || "ONEZONE_IA" || "GLACIER" || "INTELLIGENT_TIERING" || "DEEP_ARCHIVE" || "GLACIER_IR", + * // ], * // }, * // EnableManifestOutput: true || false, // required * // }, diff --git a/clients/client-s3-control/src/commands/GetBucketReplicationCommand.ts b/clients/client-s3-control/src/commands/GetBucketReplicationCommand.ts index da2878ad2d6cd..ee585dfbe0f97 100644 --- a/clients/client-s3-control/src/commands/GetBucketReplicationCommand.ts +++ b/clients/client-s3-control/src/commands/GetBucketReplicationCommand.ts @@ -46,7 +46,8 @@ export interface GetBucketReplicationCommandOutput extends GetBucketReplicationR *

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 S3 on Outposts in the Amazon S3 User Guide.

+ * configuration, see Replicating objects for + * S3 on 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 diff --git a/clients/client-s3-control/src/commands/GetStorageLensGroupCommand.ts b/clients/client-s3-control/src/commands/GetStorageLensGroupCommand.ts index e8901acc9341d..f28899877085c 100644 --- a/clients/client-s3-control/src/commands/GetStorageLensGroupCommand.ts +++ b/clients/client-s3-control/src/commands/GetStorageLensGroupCommand.ts @@ -38,13 +38,12 @@ export interface GetStorageLensGroupCommandOutput extends GetStorageLensGroupRes /** * @public - *

- * Retrieves the Storage Lens group configuration details.

+ *

Retrieves the Storage Lens group configuration details.

*

To use this operation, you must have the permission to perform the - * s3:GetStorageLensGroup action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ * s3:GetStorageLensGroup action. For more information about the required + * Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

*

For information about Storage Lens groups errors, see List of Amazon S3 Storage - * Lens error codes.

+ * Lens error codes.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3-control/src/commands/ListStorageLensGroupsCommand.ts b/clients/client-s3-control/src/commands/ListStorageLensGroupsCommand.ts index 67e0a1699b287..055fa61c559d1 100644 --- a/clients/client-s3-control/src/commands/ListStorageLensGroupsCommand.ts +++ b/clients/client-s3-control/src/commands/ListStorageLensGroupsCommand.ts @@ -38,14 +38,12 @@ export interface ListStorageLensGroupsCommandOutput extends ListStorageLensGroup /** * @public - *

- * Lists all the Storage Lens groups in the specified home Region. - *

+ *

Lists all the Storage Lens groups in the specified home Region.

*

To use this operation, you must have the permission to perform the - * s3:ListStorageLensGroups action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ * s3:ListStorageLensGroups action. For more information about the required + * Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

*

For information about Storage Lens groups errors, see List of Amazon S3 Storage - * Lens error codes.

+ * Lens error codes.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3-control/src/commands/ListTagsForResourceCommand.ts b/clients/client-s3-control/src/commands/ListTagsForResourceCommand.ts index c96b84f5ff6ba..22c6b2fd4c9b8 100644 --- a/clients/client-s3-control/src/commands/ListTagsForResourceCommand.ts +++ b/clients/client-s3-control/src/commands/ListTagsForResourceCommand.ts @@ -41,9 +41,10 @@ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceRes *

This operation allows you to list all the Amazon Web Services resource tags for the specified * resource.

*

To use this operation, you must have the permission to perform the - * s3:ListTagsForResource action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

- *

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

+ * s3:ListTagsForResource action. For more information about the required + * Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ *

For information about S3 Tagging errors, see List of Amazon S3 + * Tagging error codes.

* *

This operation is only supported for S3 Storage Lens * groups.

diff --git a/clients/client-s3-control/src/commands/PutBucketReplicationCommand.ts b/clients/client-s3-control/src/commands/PutBucketReplicationCommand.ts index 20b5fede42f5a..01d39d714b9f5 100644 --- a/clients/client-s3-control/src/commands/PutBucketReplicationCommand.ts +++ b/clients/client-s3-control/src/commands/PutBucketReplicationCommand.ts @@ -45,8 +45,8 @@ export interface PutBucketReplicationCommandOutput extends __MetadataBearer {} * 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 S3 on Outposts in the - * Amazon S3 User Guide.

+ * S3 replication on Outposts configuration, see Replicating objects for + * S3 on 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 @@ -71,9 +71,9 @@ export interface PutBucketReplicationCommandOutput extends __MetadataBearer {} * * *

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.

+ * 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. @@ -102,9 +102,10 @@ export interface PutBucketReplicationCommandOutput extends __MetadataBearer {} * S3 on Outposts and Managing access to * S3 on Outposts buckets.

* - *

To perform this operation, the user or role must also have the iam:CreateRole and iam:PassRole permissions. - * For more information, see Granting a user - * permissions to pass a role to an Amazon Web Services service.

+ *

To perform this operation, the user or role must also have the + * iam:CreateRole and iam:PassRole permissions. For more + * information, see Granting a user permissions to + * pass a role to an Amazon Web Services service.

*
*

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:

diff --git a/clients/client-s3-control/src/commands/PutBucketVersioningCommand.ts b/clients/client-s3-control/src/commands/PutBucketVersioningCommand.ts index e9ab9900717d4..29c56b5d9bcee 100644 --- a/clients/client-s3-control/src/commands/PutBucketVersioningCommand.ts +++ b/clients/client-s3-control/src/commands/PutBucketVersioningCommand.ts @@ -75,11 +75,11 @@ export interface PutBucketVersioningCommandOutput extends __MetadataBearer {} * 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 configuration in your non-versioned bucket and you - * want to maintain the same permanent delete behavior when you enable versioning, you must - * add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration will manage - * the deletes of the noncurrent object versions in the version-enabled bucket. For more - * information, see Versioning in the Amazon S3 + *

If you have an object expiration lifecycle configuration in your non-versioned bucket + * and you want to maintain the same permanent delete behavior when you enable versioning, you + * must add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration + * will manage the deletes of the noncurrent object versions in the version-enabled bucket. + * 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 diff --git a/clients/client-s3-control/src/commands/SubmitMultiRegionAccessPointRoutesCommand.ts b/clients/client-s3-control/src/commands/SubmitMultiRegionAccessPointRoutesCommand.ts index 86bf5c0f2de03..d94a965500276 100644 --- a/clients/client-s3-control/src/commands/SubmitMultiRegionAccessPointRoutesCommand.ts +++ b/clients/client-s3-control/src/commands/SubmitMultiRegionAccessPointRoutesCommand.ts @@ -51,7 +51,8 @@ export interface SubmitMultiRegionAccessPointRoutesCommandOutput * routing status for the specified Regions from active to passive, or from passive to active. * A value of 0 indicates a passive status, which means that traffic won't be * routed to the specified Region. A value of 100 indicates an active status, - * which means that traffic will be routed to the specified Region. At least one Region must be active at all times.

+ * which means that traffic will be routed to the specified Region. At least one Region must + * be active at all times.

*

When the routing configuration is changed, any in-progress operations (uploads, copies, * deletes, and so on) to formerly active Regions will continue to run to their final * completion state (success or failure). The routing configurations of any Regions that diff --git a/clients/client-s3-control/src/commands/TagResourceCommand.ts b/clients/client-s3-control/src/commands/TagResourceCommand.ts index 1941fd5a397f9..a97616084a853 100644 --- a/clients/client-s3-control/src/commands/TagResourceCommand.ts +++ b/clients/client-s3-control/src/commands/TagResourceCommand.ts @@ -41,11 +41,13 @@ export interface TagResourceCommandOutput extends TagResourceResult, __MetadataB *

Creates a new Amazon Web Services resource tag or updates an existing resource tag. You can add up to * 50 Amazon Web Services resource tags for each S3 resource.

*

To use this operation, you must have the permission to perform the - * s3:TagResource action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

- *

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

+ * s3:TagResource action. For more information about the required Storage Lens + * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ *

For information about S3 Tagging errors, see List of Amazon S3 + * Tagging error codes.

* - *

This operation is only supported for S3 Storage Lens groups.

+ *

This operation is only supported for S3 Storage Lens + * groups.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-s3-control/src/commands/UpdateStorageLensGroupCommand.ts b/clients/client-s3-control/src/commands/UpdateStorageLensGroupCommand.ts index 3aadbe304b851..6630c736b5033 100644 --- a/clients/client-s3-control/src/commands/UpdateStorageLensGroupCommand.ts +++ b/clients/client-s3-control/src/commands/UpdateStorageLensGroupCommand.ts @@ -38,13 +38,12 @@ export interface UpdateStorageLensGroupCommandOutput extends __MetadataBearer {} /** * @public - *

- * Updates the existing Storage Lens group.

+ *

Updates the existing Storage Lens group.

*

To use this operation, you must have the permission to perform the - * s3:UpdateStorageLensGroup action. For more information about the required Storage Lens - * Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

+ * s3:UpdateStorageLensGroup action. For more information about the required + * Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

*

For information about Storage Lens groups errors, see List of Amazon S3 Storage - * Lens error codes.

+ * Lens error codes.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-s3-control/src/models/models_0.ts b/clients/client-s3-control/src/models/models_0.ts index 4fb1e59c7af1c..ccfcea4f28843 100644 --- a/clients/client-s3-control/src/models/models_0.ts +++ b/clients/client-s3-control/src/models/models_0.ts @@ -294,9 +294,8 @@ export interface BucketLevel { export interface StorageLensGroupLevelSelectionCriteria { /** * @public - *

- * Indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation. - *

+ *

Indicates which Storage Lens group ARNs to include in the Storage Lens group + * aggregation.

*/ Include?: string[]; @@ -310,16 +309,14 @@ export interface StorageLensGroupLevelSelectionCriteria { /** * @public - *

- * Specifies the Storage Lens groups to include in the Storage Lens group aggregation. - *

+ *

Specifies the Storage Lens groups to include in the Storage Lens group aggregation. + *

*/ export interface StorageLensGroupLevel { /** * @public - *

- * Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected. - *

+ *

Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group + * aggregation. If this value is left null, then all Storage Lens groups are selected.

*/ SelectionCriteria?: StorageLensGroupLevelSelectionCriteria; } @@ -362,9 +359,7 @@ export interface AccountLevel { /** * @public - *

- * A container element for S3 Storage Lens groups metrics. - *

+ *

A container element for S3 Storage Lens groups metrics.

*/ StorageLensGroupLevel?: StorageLensGroupLevel; } @@ -924,8 +919,8 @@ export type ObjectLambdaAccessPointAliasStatus = /** * @public - *

The alias of an Object Lambda Access Point. For more information, see How to use a bucket-style alias for your S3 bucket - * Object Lambda Access Point.

+ *

The alias of an Object Lambda Access Point. For more information, see How to use a + * bucket-style alias for your S3 bucket Object Lambda Access Point.

*/ export interface ObjectLambdaAccessPointAlias { /** @@ -936,8 +931,10 @@ export interface ObjectLambdaAccessPointAlias { /** * @public - *

The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If - * the status is READY, the Object Lambda Access Point alias is successfully provisioned and ready for use.

+ *

The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point + * is provisioning the alias and the alias is not ready for use yet. If the status is + * READY, the Object Lambda Access Point alias is successfully provisioned and ready for + * use.

*/ Status?: ObjectLambdaAccessPointAliasStatus; } @@ -1292,6 +1289,54 @@ export interface JobManifest { Location: JobManifestLocation | undefined; } +/** + * @public + *

If provided, the generated manifest includes only source bucket objects whose object + * keys match the string constraints specified for MatchAnyPrefix, + * MatchAnySuffix, and MatchAnySubstring.

+ */ +export interface KeyNameConstraint { + /** + * @public + *

If provided, the generated manifest includes objects where the specified string appears + * at the start of the object key string.

+ */ + MatchAnyPrefix?: string[]; + + /** + * @public + *

If provided, the generated manifest includes objects where the specified string appears + * at the end of the object key string.

+ */ + MatchAnySuffix?: string[]; + + /** + * @public + *

If provided, the generated manifest includes objects where the specified string appears + * anywhere within the object key string.

+ */ + MatchAnySubstring?: string[]; +} + +/** + * @public + * @enum + */ +export const S3StorageClass = { + DEEP_ARCHIVE: "DEEP_ARCHIVE", + GLACIER: "GLACIER", + GLACIER_IR: "GLACIER_IR", + INTELLIGENT_TIERING: "INTELLIGENT_TIERING", + ONEZONE_IA: "ONEZONE_IA", + STANDARD: "STANDARD", + STANDARD_IA: "STANDARD_IA", +} as const; + +/** + * @public + */ +export type S3StorageClass = (typeof S3StorageClass)[keyof typeof S3StorageClass]; + /** * @public * @enum @@ -1322,24 +1367,53 @@ export interface JobManifestGeneratorFilter { /** * @public - *

If provided, the generated manifest should include only source bucket objects that were + *

If provided, the generated manifest includes only source bucket objects that were * created after this time.

*/ CreatedAfter?: Date; /** * @public - *

If provided, the generated manifest should include only source bucket objects that were + *

If provided, the generated manifest includes only source bucket objects that were * created before this time.

*/ CreatedBefore?: Date; /** * @public - *

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

+ *

If provided, the generated manifest includes only source bucket objects that have one of + * the specified Replication statuses.

*/ ObjectReplicationStatuses?: ReplicationStatus[]; + + /** + * @public + *

If provided, the generated manifest includes only source bucket objects whose object + * keys match the string constraints specified for MatchAnyPrefix, + * MatchAnySuffix, and MatchAnySubstring.

+ */ + KeyNameConstraint?: KeyNameConstraint; + + /** + * @public + *

If provided, the generated manifest includes only source bucket objects whose file size + * is greater than the specified number of bytes.

+ */ + ObjectSizeGreaterThanBytes?: number; + + /** + * @public + *

If provided, the generated manifest includes only source bucket objects whose file size + * is less than the specified number of bytes.

+ */ + ObjectSizeLessThanBytes?: number; + + /** + * @public + *

If provided, the generated manifest includes only source bucket objects that are stored + * with the specified storage class.

+ */ + MatchAnyStorageClass?: S3StorageClass[]; } /** @@ -1914,25 +1988,6 @@ export const S3ObjectLockMode = { */ export type S3ObjectLockMode = (typeof S3ObjectLockMode)[keyof typeof S3ObjectLockMode]; -/** - * @public - * @enum - */ -export const S3StorageClass = { - DEEP_ARCHIVE: "DEEP_ARCHIVE", - GLACIER: "GLACIER", - GLACIER_IR: "GLACIER_IR", - INTELLIGENT_TIERING: "INTELLIGENT_TIERING", - ONEZONE_IA: "ONEZONE_IA", - STANDARD: "STANDARD", - STANDARD_IA: "STANDARD_IA", -} as const; - -/** - * @public - */ -export type S3StorageClass = (typeof S3StorageClass)[keyof typeof S3StorageClass]; - /** * @public *

Contains @@ -2076,7 +2131,8 @@ export interface S3CopyObjectOperation { * that * you want Amazon S3 to use to create the checksum. For more * information, - * see Checking object integrity in the Amazon S3 User Guide.

+ * see Checking object + * integrity in the Amazon S3 User Guide.

*/ ChecksumAlgorithm?: S3ChecksumAlgorithm; } @@ -2548,96 +2604,84 @@ export interface CreateMultiRegionAccessPointResult { /** * @public - *

- * A filter condition that specifies the object age range of included objects in days. Only integers are supported. - *

+ *

A filter condition that specifies the object age range of included objects in days. + * Only integers are supported.

*/ export interface MatchObjectAge { /** * @public - *

- * Specifies the maximum object age in days. Must be a positive whole number, greater than the minimum object age and less than or equal to 2,147,483,647. - *

+ *

Specifies the maximum object age in days. Must be a positive whole number, greater than + * the minimum object age and less than or equal to 2,147,483,647.

*/ DaysGreaterThan?: number; /** * @public - *

- * Specifies the minimum object age in days. The value must be a positive whole number, greater than 0 and less than or equal to 2,147,483,647. - *

+ *

Specifies the minimum object age in days. The value must be a positive whole number, + * greater than 0 and less than or equal to 2,147,483,647.

*/ DaysLessThan?: number; } /** * @public - *

- * A filter condition that specifies the object size range of included objects in bytes. Only integers are supported. - *

+ *

A filter condition that specifies the object size range of included objects in bytes. + * Only integers are supported.

*/ export interface MatchObjectSize { /** * @public - *

- * Specifies the minimum object size in Bytes. The value must be a positive number, greater than 0 and less than 5 TB. - *

+ *

Specifies the minimum object size in Bytes. The value must be a positive number, + * greater than 0 and less than 5 TB.

*/ BytesGreaterThan?: number; /** * @public - *

- * Specifies the maximum object size in Bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB. - *

+ *

Specifies the maximum object size in Bytes. The value must be a positive number, + * greater than the minimum object size and less than 5 TB.

*/ BytesLessThan?: number; } /** * @public - *

- * A logical operator that allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data. - *

+ *

A logical operator that allows multiple filter conditions to be joined for more complex + * comparisons of Storage Lens group data.

*/ export interface StorageLensGroupAndOperator { /** * @public - *

- * Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed. - *

+ *

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes + * are allowed.

*/ MatchAnyPrefix?: string[]; /** * @public - *

- * Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed. - *

+ *

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes + * are allowed.

*/ MatchAnySuffix?: string[]; /** * @public - *

- * Contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed. - *

+ *

Contains the list of object tags. At least one object tag must be specified. Up to 10 + * object tags are allowed.

*/ MatchAnyTag?: S3Tag[]; /** * @public - *

- * Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days). - *

+ *

Contains DaysGreaterThan and DaysLessThan to define the + * object age range (minimum and maximum number of days).

*/ MatchObjectAge?: MatchObjectAge; /** * @public - *

- * Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes). - *

+ *

Contains BytesGreaterThan and BytesLessThan to define the + * object size range (minimum and maximum number of Bytes).

*/ MatchObjectSize?: MatchObjectSize; } @@ -2646,8 +2690,8 @@ export interface StorageLensGroupAndOperator { * @public *

A container element for specifying Or rule conditions. The rule conditions * determine the subset of objects to which the Or rule applies. Objects can - * match any of the listed filter conditions, which are joined by the Or logical operator. - * Only one of each filter condition is allowed.

+ * match any of the listed filter conditions, which are joined by the Or logical + * operator. Only one of each filter condition is allowed.

*/ export interface StorageLensGroupOrOperator { /** @@ -2658,80 +2702,68 @@ export interface StorageLensGroupOrOperator { /** * @public - *

- * Filters objects that match any of the specified suffixes. - *

+ *

Filters objects that match any of the specified suffixes.

*/ MatchAnySuffix?: string[]; /** * @public - *

- * Filters objects that match any of the specified S3 object tags. - *

+ *

Filters objects that match any of the specified S3 object tags.

*/ MatchAnyTag?: S3Tag[]; /** * @public - *

- * Filters objects that match the specified object age range. - *

+ *

Filters objects that match the specified object age range.

*/ MatchObjectAge?: MatchObjectAge; /** * @public - *

- * Filters objects that match the specified object size range. - *

+ *

Filters objects that match the specified object size range.

*/ MatchObjectSize?: MatchObjectSize; } /** * @public - *

The filter element sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR - * logical operator is used.

+ *

The filter element sets the criteria for the Storage Lens group data that is displayed. + * For multiple filter conditions, the AND or OR logical operator is + * used.

*/ export interface StorageLensGroupFilter { /** * @public - *

- * Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed. - *

+ *

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes + * are allowed.

*/ MatchAnyPrefix?: string[]; /** * @public - *

- * Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed. - *

+ *

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes + * are allowed.

*/ MatchAnySuffix?: string[]; /** * @public - *

- * Contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed. - *

+ *

Contains the list of S3 object tags. At least one object tag must be specified. Up to + * 10 object tags are allowed.

*/ MatchAnyTag?: S3Tag[]; /** * @public - *

- * Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days). - *

+ *

Contains DaysGreaterThan and DaysLessThan to define the + * object age range (minimum and maximum number of days).

*/ MatchObjectAge?: MatchObjectAge; /** * @public - *

- * Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes). - *

+ *

Contains BytesGreaterThan and BytesLessThan to define the + * object size range (minimum and maximum number of Bytes).

*/ MatchObjectSize?: MatchObjectSize; @@ -2739,16 +2771,16 @@ export interface StorageLensGroupFilter { * @public *

A logical operator that allows multiple filter conditions to be joined for more complex * comparisons of Storage Lens group data. Objects must match all of the listed filter - * conditions that are joined by the And logical operator. Only one of each filter condition - * is allowed.

+ * conditions that are joined by the And logical operator. Only one of each + * filter condition is allowed.

*/ And?: StorageLensGroupAndOperator; /** * @public *

A single logical operator that allows multiple filter conditions to be joined. Objects - * can match any of the listed filter conditions, which are joined by the Or logical operator. - * Only one of each filter condition is allowed.

+ * can match any of the listed filter conditions, which are joined by the Or + * logical operator. Only one of each filter condition is allowed.

*/ Or?: StorageLensGroupOrOperator; } @@ -2763,51 +2795,47 @@ export interface StorageLensGroupFilter { export interface StorageLensGroup { /** * @public - *

- * Contains the name of the Storage Lens group. - *

+ *

Contains the name of the Storage Lens group.

*/ Name: string | undefined; /** * @public - *

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR - * logical operator is used.

+ *

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter + * conditions, the AND or OR logical operator is used.

*/ Filter: StorageLensGroupFilter | undefined; /** * @public - *

- * Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only. - *

+ *

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is + * read-only.

*/ StorageLensGroupArn?: string; } /** * @public - *

- * An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new objects when you upload them, or you can add object tags to existing objects. - *

+ *

An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new + * objects when you upload them, or you can add object tags to existing objects.

* - *

This data type is only supported for S3 Storage Lens groups.

+ *

This data type is only supported for S3 Storage Lens + * groups.

*
*/ export interface Tag { /** * @public *

The tag key for your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in - * length and is case-sensitive. System created tags that begin with aws: aren’t supported. - *

+ * length and is case-sensitive. System created tags that begin with aws: aren’t + * supported.

*/ Key: string | undefined; /** * @public - *

- * The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive. - *

+ *

The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters + * in length and is case-sensitive.

*/ Value: string | undefined; } @@ -2818,25 +2846,21 @@ export interface Tag { export interface CreateStorageLensGroupRequest { /** * @public - *

- * The Amazon Web Services account ID that the Storage Lens group is created from and associated with. - *

+ *

The Amazon Web Services account ID that the Storage Lens group is created from and associated with. + *

*/ AccountId?: string; /** * @public - *

- * The Storage Lens group configuration. - *

+ *

The Storage Lens group configuration.

*/ StorageLensGroup: StorageLensGroup | undefined; /** * @public - *

- * The Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter is optional. - *

+ *

The Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter + * is optional.

*/ Tags?: Tag[]; } @@ -3146,17 +3170,14 @@ export interface DeleteStorageLensConfigurationTaggingResult {} export interface DeleteStorageLensGroupRequest { /** * @public - *

- * The name of the Storage Lens group that you're trying to delete. - *

+ *

The name of the Storage Lens group that you're trying to delete.

*/ Name: string | undefined; /** * @public - *

- * The Amazon Web Services account ID used to create the Storage Lens group that you're trying to delete. - *

+ *

The Amazon Web Services account ID used to create the Storage Lens group that you're trying to + * delete.

*/ AccountId?: string; } @@ -4089,8 +4110,8 @@ export interface LifecycleRule { * @public *

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 Configuration in the - * Amazon S3 User Guide.

+ * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration in + * the Amazon S3 User Guide.

*/ AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; } @@ -4178,7 +4199,8 @@ export type DeleteMarkerReplicationStatus = * 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.

+ *

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

*/ export interface DeleteMarkerReplication { /** @@ -4387,7 +4409,8 @@ export interface Destination { * 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.

+ *

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

*
*/ StorageClass?: ReplicationStorageClass; @@ -4622,7 +4645,8 @@ export type ReplicationRuleStatus = (typeof ReplicationRuleStatus)[keyof typeof /** * @public - *

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

+ *

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

*/ export interface ReplicationRule { /** @@ -4635,11 +4659,11 @@ export interface ReplicationRule { * @public *

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 on Outposts in the - * Amazon S3 User Guide.

+ * 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 on Outposts in the Amazon S3 User Guide.

*/ Priority?: number; @@ -4675,9 +4699,9 @@ export interface ReplicationRule { /** * @public - *

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.

+ *

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; @@ -4692,7 +4716,8 @@ export interface ReplicationRule { /** * @public - *

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

+ *

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

*/ Destination: Destination | undefined; @@ -4704,7 +4729,8 @@ export interface ReplicationRule { * 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.

+ *

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

*/ DeleteMarkerReplication?: DeleteMarkerReplication; @@ -4718,8 +4744,9 @@ export interface ReplicationRule { /** * @public - *

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.

+ *

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.

*/ export interface ReplicationConfiguration { /** @@ -4745,8 +4772,9 @@ export interface ReplicationConfiguration { export interface GetBucketReplicationResult { /** * @public - *

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.

+ *

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; } @@ -5588,17 +5616,15 @@ export interface GetStorageLensConfigurationTaggingResult { export interface GetStorageLensGroupRequest { /** * @public - *

- * The name of the Storage Lens group that you're trying to retrieve the configuration details for. - *

+ *

The name of the Storage Lens group that you're trying to retrieve the configuration + * details for.

*/ Name: string | undefined; /** * @public - *

- * The Amazon Web Services account ID associated with the Storage Lens group that you're trying to retrieve the details for. - *

+ *

The Amazon Web Services account ID associated with the Storage Lens group that you're trying to + * retrieve the details for.

*/ AccountId?: string; } @@ -5609,9 +5635,8 @@ export interface GetStorageLensGroupRequest { export interface GetStorageLensGroupResult { /** * @public - *

- * The name of the Storage Lens group that you're trying to retrieve the configuration details for. - *

+ *

The name of the Storage Lens group that you're trying to retrieve the configuration + * details for.

*/ StorageLensGroup?: StorageLensGroup; } @@ -6129,48 +6154,41 @@ export interface ListStorageLensConfigurationsResult { export interface ListStorageLensGroupsRequest { /** * @public - *

- * The Amazon Web Services account ID that owns the Storage Lens groups. - *

+ *

The Amazon Web Services account ID that owns the Storage Lens groups.

*/ AccountId?: string; /** * @public - *

The token for the next set of results, or null if there are no more results. - *

+ *

The token for the next set of results, or null if there are no more + * results.

*/ NextToken?: string; } /** * @public - *

- * Each entry contains a Storage Lens group that exists in the specified home Region. - *

+ *

Each entry contains a Storage Lens group that exists in the specified home Region. + *

*/ export interface ListStorageLensGroupEntry { /** * @public - *

- * Contains the name of the Storage Lens group that exists in the specified home Region. - *

+ *

Contains the name of the Storage Lens group that exists in the specified home Region. + *

*/ Name: string | undefined; /** * @public - *

- * Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only. - *

+ *

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is + * read-only.

*/ StorageLensGroupArn: string | undefined; /** * @public - *

- * Contains the Amazon Web Services Region where the Storage Lens group was created. - *

+ *

Contains the Amazon Web Services Region where the Storage Lens group was created.

*/ HomeRegion: string | undefined; } @@ -6181,20 +6199,16 @@ export interface ListStorageLensGroupEntry { export interface ListStorageLensGroupsResult { /** * @public - *

- * If NextToken is returned, there are more Storage Lens groups results available. The value of NextToken is a - * unique pagination token for each page. Make the call again using the returned token to - * retrieve the next page. Keep all other arguments unchanged. Each pagination token expires - * after 24 hours. - *

+ *

If NextToken is returned, there are more Storage Lens groups results + * available. The value of NextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other + * arguments unchanged. Each pagination token expires after 24 hours.

*/ NextToken?: string; /** * @public - *

- * The list of Storage Lens groups that exist in the specified home Region. - *

+ *

The list of Storage Lens groups that exist in the specified home Region.

*/ StorageLensGroupList?: ListStorageLensGroupEntry[]; } @@ -6205,17 +6219,14 @@ export interface ListStorageLensGroupsResult { export interface ListTagsForResourceRequest { /** * @public - *

- * The Amazon Web Services account ID of the resource owner. - *

+ *

The Amazon Web Services account ID of the resource owner.

*/ AccountId?: string; /** * @public - *

- * The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for. - *

+ *

The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for. + *

*/ ResourceArn: string | undefined; } @@ -6226,9 +6237,7 @@ export interface ListTagsForResourceRequest { export interface ListTagsForResourceResult { /** * @public - *

- * The Amazon Web Services resource tags that are associated with the resource. - *

+ *

The Amazon Web Services resource tags that are associated with the resource.

*/ Tags?: Tag[]; } @@ -6705,25 +6714,21 @@ export interface SubmitMultiRegionAccessPointRoutesResult {} export interface TagResourceRequest { /** * @public - *

- * The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to. - *

+ *

The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to. + *

*/ AccountId?: string; /** * @public - *

- * The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to. - *

+ *

The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to. + *

*/ ResourceArn: string | undefined; /** * @public - *

- * The Amazon Web Services resource tags that you want to add to the specified S3 resource. - *

+ *

The Amazon Web Services resource tags that you want to add to the specified S3 resource.

*/ Tags: Tag[] | undefined; } @@ -6739,25 +6744,21 @@ export interface TagResourceResult {} export interface UntagResourceRequest { /** * @public - *

- * The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from. - *

+ *

The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from. + *

*/ AccountId?: string; /** * @public - *

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

+ *

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

*/ ResourceArn: string | undefined; /** * @public - *

- * The tag key pair of the S3 resource tag that you're trying to remove. - *

+ *

The tag key pair of the S3 resource tag that you're trying to remove.

*/ TagKeys: string[] | undefined; } @@ -6902,25 +6903,19 @@ export interface UpdateJobStatusResult { export interface UpdateStorageLensGroupRequest { /** * @public - *

- * The name of the Storage Lens group that you want to update. - *

+ *

The name of the Storage Lens group that you want to update.

*/ Name: string | undefined; /** * @public - *

- * The Amazon Web Services account ID of the Storage Lens group owner. - *

+ *

The Amazon Web Services account ID of the Storage Lens group owner.

*/ AccountId?: string; /** * @public - *

- * The JSON file that contains the Storage Lens group configuration. - *

+ *

The JSON file that contains the Storage Lens group configuration.

*/ StorageLensGroup: StorageLensGroup | undefined; } diff --git a/clients/client-s3-control/src/protocols/Aws_restXml.ts b/clients/client-s3-control/src/protocols/Aws_restXml.ts index cf251d31080b6..6ec344ed13e3c 100644 --- a/clients/client-s3-control/src/protocols/Aws_restXml.ts +++ b/clients/client-s3-control/src/protocols/Aws_restXml.ts @@ -302,6 +302,7 @@ import { JobReport, JobStatusException, JobTimers, + KeyNameConstraint, LambdaInvokeOperation, LifecycleConfiguration, LifecycleExpiration, @@ -366,6 +367,7 @@ import { S3SetObjectLegalHoldOperation, S3SetObjectRetentionOperation, S3SetObjectTaggingOperation, + S3StorageClass, S3Tag, SelectionCriteria, SourceSelectionCriteria, @@ -7166,6 +7168,30 @@ const se_JobManifestGeneratorFilter = (input: JobManifestGeneratorFilter, contex }); bodyNode.addChildNode(containerNode); } + if (input.KeyNameConstraint != null) { + const node = se_KeyNameConstraint(input.KeyNameConstraint, context).withName("KeyNameConstraint"); + bodyNode.addChildNode(node); + } + if (input.ObjectSizeGreaterThanBytes != null) { + const node = __XmlNode + .of("ObjectSizeGreaterThanBytes", String(input.ObjectSizeGreaterThanBytes)) + .withName("ObjectSizeGreaterThanBytes"); + bodyNode.addChildNode(node); + } + if (input.ObjectSizeLessThanBytes != null) { + const node = __XmlNode + .of("ObjectSizeLessThanBytes", String(input.ObjectSizeLessThanBytes)) + .withName("ObjectSizeLessThanBytes"); + bodyNode.addChildNode(node); + } + if (input.MatchAnyStorageClass != null) { + const nodes = se_StorageClassList(input.MatchAnyStorageClass, context); + const containerNode = new __XmlNode("MatchAnyStorageClass"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } return bodyNode; }; @@ -7285,6 +7311,38 @@ const se_JobReport = (input: JobReport, context: __SerdeContext): any => { return bodyNode; }; +/** + * serializeAws_restXmlKeyNameConstraint + */ +const se_KeyNameConstraint = (input: KeyNameConstraint, context: __SerdeContext): any => { + const bodyNode = new __XmlNode("KeyNameConstraint"); + if (input.MatchAnyPrefix != null) { + const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnyPrefix, context); + const containerNode = new __XmlNode("MatchAnyPrefix"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.MatchAnySuffix != null) { + const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnySuffix, context); + const containerNode = new __XmlNode("MatchAnySuffix"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + if (input.MatchAnySubstring != null) { + const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnySubstring, context); + const containerNode = new __XmlNode("MatchAnySubstring"); + nodes.map((node: any) => { + containerNode.addChildNode(node); + }); + bodyNode.addChildNode(containerNode); + } + return bodyNode; +}; + /** * serializeAws_restXmlLambdaInvokeOperation */ @@ -7615,6 +7673,18 @@ const se_NoncurrentVersionTransitionList = (input: NoncurrentVersionTransition[] }); }; +/** + * serializeAws_restXmlNonEmptyMaxLength1024StringList + */ +const se_NonEmptyMaxLength1024StringList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + const node = __XmlNode.of("NonEmptyMaxLength1024String", entry); + return node.withName("member"); + }); +}; + /** * serializeAws_restXmlObjectLambdaAllowedFeaturesList */ @@ -8635,6 +8705,18 @@ const se_SSES3Encryption = (input: SSES3Encryption, context: __SerdeContext): an return bodyNode; }; +/** + * serializeAws_restXmlStorageClassList + */ +const se_StorageClassList = (input: S3StorageClass[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + const node = __XmlNode.of("S3StorageClass", entry); + return node.withName("member"); + }); +}; + /** * serializeAws_restXmlStorageLensAwsOrg */ @@ -9733,6 +9815,23 @@ const de_JobManifestGeneratorFilter = (output: any, context: __SerdeContext): Jo context ); } + if (output["KeyNameConstraint"] !== undefined) { + contents.KeyNameConstraint = de_KeyNameConstraint(output["KeyNameConstraint"], context); + } + if (output["ObjectSizeGreaterThanBytes"] !== undefined) { + contents.ObjectSizeGreaterThanBytes = __strictParseLong(output["ObjectSizeGreaterThanBytes"]) as number; + } + if (output["ObjectSizeLessThanBytes"] !== undefined) { + contents.ObjectSizeLessThanBytes = __strictParseLong(output["ObjectSizeLessThanBytes"]) as number; + } + if (output.MatchAnyStorageClass === "") { + contents.MatchAnyStorageClass = []; + } else if (output["MatchAnyStorageClass"] !== undefined && output["MatchAnyStorageClass"]["member"] !== undefined) { + contents.MatchAnyStorageClass = de_StorageClassList( + __getArrayIfSingleItem(output["MatchAnyStorageClass"]["member"]), + context + ); + } return contents; }; @@ -9858,6 +9957,38 @@ const de_JobTimers = (output: any, context: __SerdeContext): JobTimers => { return contents; }; +/** + * deserializeAws_restXmlKeyNameConstraint + */ +const de_KeyNameConstraint = (output: any, context: __SerdeContext): KeyNameConstraint => { + const contents: any = {}; + if (output.MatchAnyPrefix === "") { + contents.MatchAnyPrefix = []; + } else if (output["MatchAnyPrefix"] !== undefined && output["MatchAnyPrefix"]["member"] !== undefined) { + contents.MatchAnyPrefix = de_NonEmptyMaxLength1024StringList( + __getArrayIfSingleItem(output["MatchAnyPrefix"]["member"]), + context + ); + } + if (output.MatchAnySuffix === "") { + contents.MatchAnySuffix = []; + } else if (output["MatchAnySuffix"] !== undefined && output["MatchAnySuffix"]["member"] !== undefined) { + contents.MatchAnySuffix = de_NonEmptyMaxLength1024StringList( + __getArrayIfSingleItem(output["MatchAnySuffix"]["member"]), + context + ); + } + if (output.MatchAnySubstring === "") { + contents.MatchAnySubstring = []; + } else if (output["MatchAnySubstring"] !== undefined && output["MatchAnySubstring"]["member"] !== undefined) { + contents.MatchAnySubstring = de_NonEmptyMaxLength1024StringList( + __getArrayIfSingleItem(output["MatchAnySubstring"]["member"]), + context + ); + } + return contents; +}; + /** * deserializeAws_restXmlLambdaInvokeOperation */ @@ -10267,6 +10398,17 @@ const de_NoncurrentVersionTransitionList = (output: any, context: __SerdeContext }); }; +/** + * deserializeAws_restXmlNonEmptyMaxLength1024StringList + */ +const de_NonEmptyMaxLength1024StringList = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return __expectString(entry) as any; + }); +}; + /** * deserializeAws_restXmlObjectLambdaAccessPoint */ @@ -11279,6 +11421,17 @@ const de_SSES3Encryption = (output: any, context: __SerdeContext): SSES3Encrypti return contents; }; +/** + * deserializeAws_restXmlStorageClassList + */ +const de_StorageClassList = (output: any, context: __SerdeContext): S3StorageClass[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return __expectString(entry) as any; + }); +}; + /** * deserializeAws_restXmlStorageLensAwsOrg */ diff --git a/codegen/sdk-codegen/aws-models/s3-control.json b/codegen/sdk-codegen/aws-models/s3-control.json index 43dff91618614..45767a0925add 100644 --- a/codegen/sdk-codegen/aws-models/s3-control.json +++ b/codegen/sdk-codegen/aws-models/s3-control.json @@ -5985,7 +5985,7 @@ "StorageLensGroupLevel": { "target": "com.amazonaws.s3control#StorageLensGroupLevel", "traits": { - "smithy.api#documentation": "

\nA container element for S3 Storage Lens groups metrics.\n

" + "smithy.api#documentation": "

A container element for S3 Storage Lens groups metrics.

" } } }, @@ -7095,7 +7095,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID that the Storage Lens group is created from and associated with.\n

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

The Amazon Web Services account ID that the Storage Lens group is created from and associated with.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7107,14 +7107,14 @@ "StorageLensGroup": { "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "

\nThe Storage Lens group configuration.\n

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

The Storage Lens group configuration.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter is optional.\n

" + "smithy.api#documentation": "

The Amazon Web Services resource tags that you're adding to your Storage Lens group. This parameter\n is optional.

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

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

\n

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

" + "smithy.api#documentation": "

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

\n

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

" } }, "com.amazonaws.s3control#DeleteMarkerReplicationStatus": { @@ -8001,7 +8001,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

\nDeletes an existing S3 Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

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

Deletes an existing S3 Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8023,7 +8023,7 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

\nThe name of the Storage Lens group that you're trying to delete.\n

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

The name of the Storage Lens group that you're trying to delete.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8031,7 +8031,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID used to create the Storage Lens group that you're trying to delete.\n

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

The Amazon Web Services account ID used to create the Storage Lens group that you're trying to\n delete.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -8237,7 +8237,7 @@ "StorageClass": { "target": "com.amazonaws.s3control#ReplicationStorageClass", "traits": { - "smithy.api#documentation": "

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

\n \n

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

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

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

\n \n

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

\n
" } } }, @@ -9159,7 +9159,7 @@ "target": "com.amazonaws.s3control#GetBucketReplicationResult" }, "traits": { - "smithy.api#documentation": "\n

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

\n
\n

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

\n \n

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

\n
\n

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

\n

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.

\n

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

\n

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

\n

The following operations are related to GetBucketReplication:

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

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

\n
\n

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

\n \n

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

\n
\n

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

\n

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.

\n

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

\n

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

\n

The following operations are related to GetBucketReplication:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -9212,7 +9212,7 @@ "ReplicationConfiguration": { "target": "com.amazonaws.s3control#ReplicationConfiguration", "traits": { - "smithy.api#documentation": "

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\n replication configuration is 128 KB.

" + "smithy.api#documentation": "

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

" } } }, @@ -9988,7 +9988,7 @@ "target": "com.amazonaws.s3control#GetStorageLensGroupResult" }, "traits": { - "smithy.api#documentation": "

\nRetrieves the Storage Lens group configuration details.

\n

To use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

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

Retrieves the Storage Lens group configuration details.

\n

To use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -10010,7 +10010,7 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

\nThe name of the Storage Lens group that you're trying to retrieve the configuration details for.\n

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

The name of the Storage Lens group that you're trying to retrieve the configuration\n details for.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10018,7 +10018,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID associated with the Storage Lens group that you're trying to retrieve the details for.\n

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

The Amazon Web Services account ID associated with the Storage Lens group that you're trying to\n retrieve the details for.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -10038,7 +10038,7 @@ "StorageLensGroup": { "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "

\nThe name of the Storage Lens group that you're trying to retrieve the configuration details for.\n

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

The name of the Storage Lens group that you're trying to retrieve the configuration\n details for.

", "smithy.api#httpPayload": {} } } @@ -10510,19 +10510,45 @@ "CreatedAfter": { "target": "com.amazonaws.s3control#ObjectCreationTime", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest should include only source bucket objects that were\n created after this time.

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created after this time.

" } }, "CreatedBefore": { "target": "com.amazonaws.s3control#ObjectCreationTime", "traits": { - "smithy.api#documentation": "

If provided, the generated manifest should include only source bucket objects that were\n created before this time.

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that were\n created before this time.

" } }, "ObjectReplicationStatuses": { "target": "com.amazonaws.s3control#ReplicationStatusFilterList", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that have one of\n the specified Replication statuses.

" + } + }, + "KeyNameConstraint": { + "target": "com.amazonaws.s3control#KeyNameConstraint", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + } + }, + "ObjectSizeGreaterThanBytes": { + "target": "com.amazonaws.s3control#ObjectSizeGreaterThanBytes", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is greater than the specified number of bytes.

" + } + }, + "ObjectSizeLessThanBytes": { + "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects whose file size\n is less than the specified number of bytes.

" + } + }, + "MatchAnyStorageClass": { + "target": "com.amazonaws.s3control#StorageClassList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes only source bucket objects that are stored\n with the specified storage class.

" } } }, @@ -10912,6 +10938,32 @@ } } }, + "com.amazonaws.s3control#KeyNameConstraint": { + "type": "structure", + "members": { + "MatchAnyPrefix": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the start of the object key string.

" + } + }, + "MatchAnySuffix": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n at the end of the object key string.

" + } + }, + "MatchAnySubstring": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest includes objects where the specified string appears\n anywhere within the object key string.

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

If provided, the generated manifest includes only source bucket objects whose object\n keys match the string constraints specified for MatchAnyPrefix,\n MatchAnySuffix, and MatchAnySubstring.

" + } + }, "com.amazonaws.s3control#KmsKeyArnString": { "type": "string", "traits": { @@ -11026,7 +11078,7 @@ "AbortIncompleteMultipartUpload": { "target": "com.amazonaws.s3control#AbortIncompleteMultipartUpload", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } } }, @@ -11698,27 +11750,27 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

\nContains the name of the Storage Lens group that exists in the specified home Region.\n

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

Contains the name of the Storage Lens group that exists in the specified home Region.\n

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

\nContains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only.\n

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

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.

", "smithy.api#required": {} } }, "HomeRegion": { "target": "com.amazonaws.s3control#S3AWSRegion", "traits": { - "smithy.api#documentation": "

\nContains the Amazon Web Services Region where the Storage Lens group was created.\n

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

Contains the Amazon Web Services Region where the Storage Lens group was created.

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

\nEach entry contains a Storage Lens group that exists in the specified home Region.\n

" + "smithy.api#documentation": "

Each entry contains a Storage Lens group that exists in the specified home Region.\n

" } }, "com.amazonaws.s3control#ListStorageLensGroups": { @@ -11730,7 +11782,7 @@ "target": "com.amazonaws.s3control#ListStorageLensGroupsResult" }, "traits": { - "smithy.api#documentation": "

\nLists all the Storage Lens groups in the specified home Region.\n

\n

To use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

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

Lists all the Storage Lens groups in the specified home Region.

\n

To use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -11756,7 +11808,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\n The Amazon Web Services account ID that owns the Storage Lens groups.\n

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

The Amazon Web Services account ID that owns the Storage Lens groups.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -11768,7 +11820,7 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.\n

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

The token for the next set of results, or null if there are no more\n results.

", "smithy.api#httpQuery": "nextToken" } } @@ -11783,13 +11835,13 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "

\n If NextToken is returned, there are more Storage Lens groups results available. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n

" + "smithy.api#documentation": "

If NextToken is returned, there are more Storage Lens groups results\n available. The value of NextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other\n arguments unchanged. Each pagination token expires after 24 hours.

" } }, "StorageLensGroupList": { "target": "com.amazonaws.s3control#StorageLensGroupList", "traits": { - "smithy.api#documentation": "

\nThe list of Storage Lens groups that exist in the specified home Region.\n

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

The list of Storage Lens groups that exist in the specified home Region.

", "smithy.api#xmlFlattened": {} } } @@ -11807,7 +11859,7 @@ "target": "com.amazonaws.s3control#ListTagsForResourceResult" }, "traits": { - "smithy.api#documentation": "

This operation allows you to list all the Amazon Web Services resource tags for the specified\n resource.

\n

To use this operation, you must have the permission to perform the\n s3:ListTagsForResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

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

This operation allows you to list all the Amazon Web Services resource tags for the specified\n resource.

\n

To use this operation, you must have the permission to perform the\n s3:ListTagsForResource action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -11829,7 +11881,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID of the resource owner.\n

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

The Amazon Web Services account ID of the resource owner.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -11841,7 +11893,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for.\n

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

The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -11857,7 +11909,7 @@ "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that are associated with the resource.\n

" + "smithy.api#documentation": "

The Amazon Web Services resource tags that are associated with the resource.

" } } }, @@ -11948,19 +12000,19 @@ "target": "com.amazonaws.s3control#ObjectAgeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\nSpecifies the maximum object age in days. Must be a positive whole number, greater than the minimum object age and less than or equal to 2,147,483,647. \n

" + "smithy.api#documentation": "

Specifies the maximum object age in days. Must be a positive whole number, greater than\n the minimum object age and less than or equal to 2,147,483,647.

" } }, "DaysLessThan": { "target": "com.amazonaws.s3control#ObjectAgeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\nSpecifies the minimum object age in days. The value must be a positive whole number, greater than 0 and less than or equal to 2,147,483,647.\n

" + "smithy.api#documentation": "

Specifies the minimum object age in days. The value must be a positive whole number,\n greater than 0 and less than or equal to 2,147,483,647.

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

\n A filter condition that specifies the object age range of included objects in days. Only integers are supported.\n

" + "smithy.api#documentation": "

A filter condition that specifies the object age range of included objects in days.\n Only integers are supported.

" } }, "com.amazonaws.s3control#MatchObjectSize": { @@ -11970,19 +12022,19 @@ "target": "com.amazonaws.s3control#ObjectSizeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\nSpecifies the minimum object size in Bytes. The value must be a positive number, greater than 0 and less than 5 TB.\n

" + "smithy.api#documentation": "

Specifies the minimum object size in Bytes. The value must be a positive number,\n greater than 0 and less than 5 TB.

" } }, "BytesLessThan": { "target": "com.amazonaws.s3control#ObjectSizeValue", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\nSpecifies the maximum object size in Bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.\n

" + "smithy.api#documentation": "

Specifies the maximum object size in Bytes. The value must be a positive number,\n greater than the minimum object size and less than 5 TB.

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

\nA filter condition that specifies the object size range of included objects in bytes. Only integers are supported.\n

" + "smithy.api#documentation": "

A filter condition that specifies the object size range of included objects in bytes.\n Only integers are supported.

" } }, "com.amazonaws.s3control#MaxLength1024String": { @@ -12320,6 +12372,12 @@ } } }, + "com.amazonaws.s3control#NonEmptyMaxLength1024StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String" + } + }, "com.amazonaws.s3control#NonEmptyMaxLength2048String": { "type": "string", "traits": { @@ -12465,12 +12523,12 @@ "Status": { "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus", "traits": { - "smithy.api#documentation": "

The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If \n the status is READY, the Object Lambda Access Point alias is successfully provisioned and ready for use.

" + "smithy.api#documentation": "

The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point\n is provisioning the alias and the alias is not ready for use yet. If the status is\n READY, the Object Lambda Access Point alias is successfully provisioned and ready for\n use.

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

The alias of an Object Lambda Access Point. For more information, see How to use a bucket-style alias for your S3 bucket\n Object Lambda Access Point.

" + "smithy.api#documentation": "

The alias of an Object Lambda Access Point. For more information, see How to use a\n bucket-style alias for your S3 bucket Object Lambda Access Point.

" } }, "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus": { @@ -13259,7 +13317,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

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

\n
\n

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

\n \n

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

\n
\n

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

\n
    \n
  • \n

    The name of the destination bucket or buckets where you want S3 on Outposts to\n replicate objects

    \n
  • \n
  • \n

    The Identity and Access Management (IAM) role that S3 on Outposts can assume to replicate objects on\n your behalf

    \n
  • \n
  • \n

    Other relevant information, such as replication rules

    \n
  • \n
\n

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

\n

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

\n

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

\n

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

\n

\n Handling Replication of Encrypted Objects\n

\n

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

\n

\n Permissions\n

\n

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

\n \n

To perform this operation, the user or role must also have the iam:CreateRole and iam:PassRole permissions. \n For more information, see Granting a user\n permissions to pass a role to an Amazon Web Services service.

\n
\n

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.

\n

The following operations are related to PutBucketReplication:

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

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

\n
\n

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

\n \n

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

\n
\n

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

\n
    \n
  • \n

    The name of the destination bucket or buckets where you want S3 on Outposts to\n replicate objects

    \n
  • \n
  • \n

    The Identity and Access Management (IAM) role that S3 on Outposts can assume to replicate objects on\n your behalf

    \n
  • \n
  • \n

    Other relevant information, such as replication rules

    \n
  • \n
\n

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

\n

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

\n

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

\n

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

\n

\n Handling Replication of Encrypted Objects\n

\n

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

\n

\n Permissions\n

\n

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

\n \n

To perform this operation, the user or role must also have the\n iam:CreateRole and iam:PassRole permissions. For more\n information, see Granting a user permissions to\n pass a role to an Amazon Web Services service.

\n
\n

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.

\n

The following operations are related to PutBucketReplication:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -13391,7 +13449,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

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

\n
\n

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

\n

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

\n
    \n
  • \n

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

    \n
  • \n
  • \n

    \n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.

    \n
  • \n
\n

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

\n

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

\n

If you have an object expiration lifecycle configuration in your non-versioned bucket and you\n want to maintain the same permanent delete behavior when you enable versioning, you must\n add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration will manage\n the deletes of the noncurrent object versions in the version-enabled bucket. For more\n information, see Versioning in the Amazon S3\n User Guide.

\n

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.

\n

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

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

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

\n
\n

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

\n

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

\n
    \n
  • \n

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

    \n
  • \n
  • \n

    \n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.

    \n
  • \n
\n

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

\n

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

\n

If you have an object expiration lifecycle configuration in your non-versioned bucket\n and you want to maintain the same permanent delete behavior when you enable versioning, you\n must add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration\n will manage the deletes of the noncurrent object versions in the version-enabled bucket.\n For more information, see Versioning in the Amazon S3\n User Guide.

\n

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.

\n

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

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -14008,7 +14066,7 @@ } }, "traits": { - "smithy.api#documentation": "

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\n replication configuration is 128 KB.

" + "smithy.api#documentation": "

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

" } }, "com.amazonaws.s3control#ReplicationRule": { @@ -14024,7 +14082,7 @@ "target": "com.amazonaws.s3control#Priority", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

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

\n

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

" + "smithy.api#documentation": "

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

\n

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

" } }, "Prefix": { @@ -14052,7 +14110,7 @@ "SourceSelectionCriteria": { "target": "com.amazonaws.s3control#SourceSelectionCriteria", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } }, "ExistingObjectReplication": { @@ -14064,14 +14122,14 @@ "Destination": { "target": "com.amazonaws.s3control#Destination", "traits": { - "smithy.api#documentation": "

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

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

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

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

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

\n

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

" + "smithy.api#documentation": "

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

\n

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

" } }, "Bucket": { @@ -14083,7 +14141,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } }, "com.amazonaws.s3control#ReplicationRuleAndOperator": { @@ -14654,7 +14712,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3control#S3ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } } }, @@ -15475,6 +15533,12 @@ } } }, + "com.amazonaws.s3control#StorageClassList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#S3StorageClass" + } + }, "com.amazonaws.s3control#StorageLensArn": { "type": "string", "traits": { @@ -15617,21 +15681,21 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

\nContains the name of the Storage Lens group.\n

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

Contains the name of the Storage Lens group.

", "smithy.api#required": {} } }, "Filter": { "target": "com.amazonaws.s3control#StorageLensGroupFilter", "traits": { - "smithy.api#documentation": "

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR\n logical operator is used.

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

Sets the criteria for the Storage Lens group data that is displayed. For multiple filter\n conditions, the AND or OR logical operator is used.

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

\nContains the Amazon Resource Name (ARN) of the Storage Lens group. This property is read-only.\n

" + "smithy.api#documentation": "

Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.

" } } }, @@ -15645,36 +15709,36 @@ "MatchAnyPrefix": { "target": "com.amazonaws.s3control#MatchAnyPrefix", "traits": { - "smithy.api#documentation": "

\n Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.\n

" + "smithy.api#documentation": "

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.

" } }, "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

\n Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.\n

" + "smithy.api#documentation": "

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

\n Contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.\n

" + "smithy.api#documentation": "

Contains the list of object tags. At least one object tag must be specified. Up to 10\n object tags are allowed.

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

\n Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days).\n

" + "smithy.api#documentation": "

Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

\n Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes).\n

" + "smithy.api#documentation": "

Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).

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

\nA logical operator that allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data.\n

" + "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data.

" } }, "com.amazonaws.s3control#StorageLensGroupArn": { @@ -15693,48 +15757,48 @@ "MatchAnyPrefix": { "target": "com.amazonaws.s3control#MatchAnyPrefix", "traits": { - "smithy.api#documentation": "

\n Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.\n

" + "smithy.api#documentation": "

Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.

" } }, "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

\n Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.\n

" + "smithy.api#documentation": "

Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

\n Contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.\n

" + "smithy.api#documentation": "

Contains the list of S3 object tags. At least one object tag must be specified. Up to\n 10 object tags are allowed.

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

\n Contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days).\n

" + "smithy.api#documentation": "

Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

\n Contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes).\n

" + "smithy.api#documentation": "

Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).

" } }, "And": { "target": "com.amazonaws.s3control#StorageLensGroupAndOperator", "traits": { - "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each filter condition\n is allowed.

" + "smithy.api#documentation": "

A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each\n filter condition is allowed.

" } }, "Or": { "target": "com.amazonaws.s3control#StorageLensGroupOrOperator", "traits": { - "smithy.api#documentation": "

A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or logical operator.\n Only one of each filter condition is allowed.

" + "smithy.api#documentation": "

A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or\n logical operator. Only one of each filter condition is allowed.

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

The filter element sets the criteria for the Storage Lens group data that is displayed. For multiple filter conditions, the AND or OR\n logical operator is used.

" + "smithy.api#documentation": "

The filter element sets the criteria for the Storage Lens group data that is displayed.\n For multiple filter conditions, the AND or OR logical operator is\n used.

" } }, "com.amazonaws.s3control#StorageLensGroupLevel": { @@ -15743,12 +15807,12 @@ "SelectionCriteria": { "target": "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria", "traits": { - "smithy.api#documentation": "

\n Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.\n

" + "smithy.api#documentation": "

Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. If this value is left null, then all Storage Lens groups are selected.

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

\nSpecifies the Storage Lens groups to include in the Storage Lens group aggregation.\n

" + "smithy.api#documentation": "

Specifies the Storage Lens groups to include in the Storage Lens group aggregation.\n

" } }, "com.amazonaws.s3control#StorageLensGroupLevelExclude": { @@ -15775,7 +15839,7 @@ "Include": { "target": "com.amazonaws.s3control#StorageLensGroupLevelInclude", "traits": { - "smithy.api#documentation": "

\nIndicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.\n

" + "smithy.api#documentation": "

Indicates which Storage Lens group ARNs to include in the Storage Lens group\n aggregation.

" } }, "Exclude": { @@ -15820,30 +15884,30 @@ "MatchAnySuffix": { "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#documentation": "

\nFilters objects that match any of the specified suffixes.\n

" + "smithy.api#documentation": "

Filters objects that match any of the specified suffixes.

" } }, "MatchAnyTag": { "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "

\nFilters objects that match any of the specified S3 object tags.\n

" + "smithy.api#documentation": "

Filters objects that match any of the specified S3 object tags.

" } }, "MatchObjectAge": { "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "

\nFilters objects that match the specified object age range.\n

" + "smithy.api#documentation": "

Filters objects that match the specified object age range.

" } }, "MatchObjectSize": { "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "

\nFilters objects that match the specified object size range.\n

" + "smithy.api#documentation": "

Filters objects that match the specified object size range.

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

A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical operator.\n Only one of each filter condition is allowed.

" + "smithy.api#documentation": "

A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical\n operator. Only one of each filter condition is allowed.

" } }, "com.amazonaws.s3control#StorageLensPrefixLevelDelimiter": { @@ -15914,7 +15978,7 @@ "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult" }, "traits": { - "smithy.api#documentation": "

Submits an updated route configuration for a Multi-Region Access Point. This API operation updates the\n routing status for the specified Regions from active to passive, or from passive to active.\n A value of 0 indicates a passive status, which means that traffic won't be\n routed to the specified Region. A value of 100 indicates an active status,\n which means that traffic will be routed to the specified Region. At least one Region must be active at all times.

\n

When the routing configuration is changed, any in-progress operations (uploads, copies,\n deletes, and so on) to formerly active Regions will continue to run to their final\n completion state (success or failure). The routing configurations of any Regions that\n aren’t specified remain unchanged.

\n \n

Updated routing configurations might not be immediately applied. It can take up to 2\n minutes for your changes to take effect.

\n
\n

To submit routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:

\n
    \n
  • \n

    \n us-east-1\n

    \n
  • \n
  • \n

    \n us-west-2\n

    \n
  • \n
  • \n

    \n ap-southeast-2\n

    \n
  • \n
  • \n

    \n ap-northeast-1\n

    \n
  • \n
  • \n

    \n eu-west-1\n

    \n
  • \n
\n \n

Your Amazon S3 bucket does not need to be in these five Regions.

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

Submits an updated route configuration for a Multi-Region Access Point. This API operation updates the\n routing status for the specified Regions from active to passive, or from passive to active.\n A value of 0 indicates a passive status, which means that traffic won't be\n routed to the specified Region. A value of 100 indicates an active status,\n which means that traffic will be routed to the specified Region. At least one Region must\n be active at all times.

\n

When the routing configuration is changed, any in-progress operations (uploads, copies,\n deletes, and so on) to formerly active Regions will continue to run to their final\n completion state (success or failure). The routing configurations of any Regions that\n aren’t specified remain unchanged.

\n \n

Updated routing configurations might not be immediately applied. It can take up to 2\n minutes for your changes to take effect.

\n
\n

To submit routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:

\n
    \n
  • \n

    \n us-east-1\n

    \n
  • \n
  • \n

    \n us-west-2\n

    \n
  • \n
  • \n

    \n ap-southeast-2\n

    \n
  • \n
  • \n

    \n ap-northeast-1\n

    \n
  • \n
  • \n

    \n eu-west-1\n

    \n
  • \n
\n \n

Your Amazon S3 bucket does not need to be in these five Regions.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -15994,20 +16058,20 @@ "Key": { "target": "com.amazonaws.s3control#TagKeyString", "traits": { - "smithy.api#documentation": "

The tag key for your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in\n length and is case-sensitive. System created tags that begin with aws: aren’t supported.\n

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

The tag key for your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in\n length and is case-sensitive. System created tags that begin with aws: aren’t\n supported.

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.s3control#TagValueString", "traits": { - "smithy.api#documentation": "

\n The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive.\n

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

The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters\n in length and is case-sensitive.

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

\n An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new objects when you upload them, or you can add object tags to existing objects. \n

\n \n

This data type is only supported for S3 Storage Lens groups.

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

An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new\n objects when you upload them, or you can add object tags to existing objects.

\n \n

This data type is only supported for S3 Storage Lens\n groups.

\n
" } }, "com.amazonaws.s3control#TagKeyList": { @@ -16056,7 +16120,7 @@ "target": "com.amazonaws.s3control#TagResourceResult" }, "traits": { - "smithy.api#documentation": "

Creates a new Amazon Web Services resource tag or updates an existing resource tag. You can add up to\n 50 Amazon Web Services resource tags for each S3 resource.

\n

To use this operation, you must have the permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens groups.

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

Creates a new Amazon Web Services resource tag or updates an existing resource tag. You can add up to\n 50 Amazon Web Services resource tags for each S3 resource.

\n

To use this operation, you must have the permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.

\n \n

This operation is only supported for S3 Storage Lens\n groups.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -16078,7 +16142,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID that created the S3 resource that you're trying to add tags to. \n

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

The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16090,7 +16154,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to.\n

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

The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to.\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16098,7 +16162,7 @@ "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services resource tags that you want to add to the specified S3 resource.\n

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

The Amazon Web Services resource tags that you want to add to the specified S3 resource.

", "smithy.api#required": {} } } @@ -16277,7 +16341,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n

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

The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16289,7 +16353,7 @@ "ResourceArn": { "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the S3 resource that you want to remove the resource tags from.\n

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

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

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16297,7 +16361,7 @@ "TagKeys": { "target": "com.amazonaws.s3control#TagKeyList", "traits": { - "smithy.api#documentation": "

\nThe tag key pair of the S3 resource tag that you're trying to remove.\n

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

The tag key pair of the S3 resource tag that you're trying to remove.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -16533,7 +16597,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

\nUpdates the existing Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

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

Updates the existing Storage Lens group.

\n

To use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required\n Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

\n

For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -16555,7 +16619,7 @@ "Name": { "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "

\nThe name of the Storage Lens group that you want to update.\n

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

The name of the Storage Lens group that you want to update.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -16563,7 +16627,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

\nThe Amazon Web Services account ID of the Storage Lens group owner.\n

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

The Amazon Web Services account ID of the Storage Lens group owner.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -16575,7 +16639,7 @@ "StorageLensGroup": { "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "

\nThe JSON file that contains the Storage Lens group configuration.\n

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

The JSON file that contains the Storage Lens group configuration.

", "smithy.api#required": {} } }