AbortMultipartUpload:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Key of the object for which the multipart upload was initiated.
/// Upload ID that identifies the multipart upload.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// AbortMultipartUpload:
/// ETag
/// value, returned after that part was uploaded.
/// 200
/// OK response can contain either a success or an error. If you call the S3 API
/// directly, make sure to design your application to parse the contents of the response
/// and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this
/// condition. The SDKs detect the embedded error and apply error handling per your configuration
/// settings (including automatically retrying the request as appropriate). If the condition
/// persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions,
/// they return the error).
/// CompleteMultipartUpload fails, applications should be prepared
/// to retry the failed requests. For more information, see Amazon
/// S3 Error Best Practices.
/// Content-Type: application/x-www-form-urlencoded with Complete
/// Multipart Upload requests. Also, if you do not provide a Content-Type
/// header, CompleteMultipartUpload returns a 200 OK response.
/// CompleteMultipartUpload has the following special errors:
/// EntityTooSmall
/// InvalidPart
/// InvalidPartOrder
/// NoSuchUpload
/// CompleteMultipartUpload:
/// 200 OK response. This means that
/// a 200 OK response can contain either a success or an error. If you call
/// the S3 API directly, make sure to design your application to parse the contents of
/// the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs
/// handle this condition. The SDKs detect the embedded error and apply error handling
/// per your configuration settings (including automatically retrying the request as appropriate).
/// If the condition persists, the SDKs throws an exception (or, for the SDKs that don't
/// use exceptions, they return the error).
/// Bad
/// Request error. For more information, see Transfer
/// Acceleration.
/// x-amz-metadata-directive
/// header. When you grant permissions, you can use the s3:x-amz-metadata-directive
/// condition key to enforce certain metadata behavior when objects are uploaded. For
/// more information, see Specifying
/// Conditions in a Policy in the Amazon S3 User Guide. For a complete list
/// of Amazon S3-specific condition keys, see Actions,
/// Resources, and Condition Keys for Amazon S3.
/// x-amz-website-redirect-location is unique to each object and must be
/// specified in the request headers to copy the value.
/// Etag
/// matches or whether the object was modified before or after a specified date, use the
/// following request parameters:
/// x-amz-copy-source-if-match
/// x-amz-copy-source-if-none-match
/// x-amz-copy-source-if-unmodified-since
/// x-amz-copy-source-if-modified-since
/// x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns 200
/// OK and copies the data:
/// x-amz-copy-source-if-match condition evaluates to true
/// x-amz-copy-source-if-unmodified-since condition evaluates to false
/// x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns the
/// 412 Precondition Failed response code:
/// x-amz-copy-source-if-none-match condition evaluates to false
/// x-amz-copy-source-if-modified-since condition evaluates to true
/// x-amz- prefix, including x-amz-copy-source,
/// must be signed.
/// CopyObject operation, if you want to use a different
/// type of encryption setting for the target object, you can use other appropriate encryption-related
/// headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or
/// a customer-provided key. With server-side encryption, Amazon S3 encrypts your data
/// as it writes your data to disks in its data centers and decrypts the data when you
/// access it. If the encryption setting in your request is different from the default
/// encryption configuration of the destination bucket, the encryption setting in your
/// request takes precedence. If the source object for the copy is stored in Amazon S3
/// using SSE-C, you must provide the necessary encryption information in your request
/// so that Amazon S3 can decrypt the object for copying. For more information about server-side
/// encryption, see Using
/// Server-Side Encryption.
/// PUT requests that don't specify an
/// ACL or PUT requests that specify bucket owner full control ACLs, such
/// as the bucket-owner-full-control canned ACL or an equivalent form of
/// this ACL expressed in the XML format.
/// x-amz-checksum-algorithm
/// header.
/// CopyObject action to change the storage class of an object
/// that is already stored in Amazon S3 by using the StorageClass parameter.
/// For more information, see Storage
/// Classes in the Amazon S3 User Guide.
/// x-amz-copy-source header identifies the current version of
/// an object to copy. If the current version is a delete marker, Amazon S3 behaves as
/// if the object was deleted. To copy a different version, use the versionId
/// subresource.
/// x-amz-version-id
/// response header in the response.
/// CopyObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// A property of CopyObjectRequest used to execute the CopyObject service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 200 OK response. This means that
/// a 200 OK response can contain either a success or an error. If you call
/// the S3 API directly, make sure to design your application to parse the contents of
/// the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs
/// handle this condition. The SDKs detect the embedded error and apply error handling
/// per your configuration settings (including automatically retrying the request as appropriate).
/// If the condition persists, the SDKs throws an exception (or, for the SDKs that don't
/// use exceptions, they return the error).
/// Bad
/// Request error. For more information, see Transfer
/// Acceleration.
/// x-amz-metadata-directive
/// header. When you grant permissions, you can use the s3:x-amz-metadata-directive
/// condition key to enforce certain metadata behavior when objects are uploaded. For
/// more information, see Specifying
/// Conditions in a Policy in the Amazon S3 User Guide. For a complete list
/// of Amazon S3-specific condition keys, see Actions,
/// Resources, and Condition Keys for Amazon S3.
/// x-amz-website-redirect-location is unique to each object and must be
/// specified in the request headers to copy the value.
/// Etag
/// matches or whether the object was modified before or after a specified date, use the
/// following request parameters:
/// x-amz-copy-source-if-match
/// x-amz-copy-source-if-none-match
/// x-amz-copy-source-if-unmodified-since
/// x-amz-copy-source-if-modified-since
/// x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns 200
/// OK and copies the data:
/// x-amz-copy-source-if-match condition evaluates to true
/// x-amz-copy-source-if-unmodified-since condition evaluates to false
/// x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns the
/// 412 Precondition Failed response code:
/// x-amz-copy-source-if-none-match condition evaluates to false
/// x-amz-copy-source-if-modified-since condition evaluates to true
/// x-amz- prefix, including x-amz-copy-source,
/// must be signed.
/// CopyObject operation, if you want to use a different
/// type of encryption setting for the target object, you can use other appropriate encryption-related
/// headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or
/// a customer-provided key. With server-side encryption, Amazon S3 encrypts your data
/// as it writes your data to disks in its data centers and decrypts the data when you
/// access it. If the encryption setting in your request is different from the default
/// encryption configuration of the destination bucket, the encryption setting in your
/// request takes precedence. If the source object for the copy is stored in Amazon S3
/// using SSE-C, you must provide the necessary encryption information in your request
/// so that Amazon S3 can decrypt the object for copying. For more information about server-side
/// encryption, see Using
/// Server-Side Encryption.
/// PUT requests that don't specify an
/// ACL or PUT requests that specify bucket owner full control ACLs, such
/// as the bucket-owner-full-control canned ACL or an equivalent form of
/// this ACL expressed in the XML format.
/// x-amz-checksum-algorithm
/// header.
/// CopyObject action to change the storage class of an object
/// that is already stored in Amazon S3 by using the StorageClass parameter.
/// For more information, see Storage
/// Classes in the Amazon S3 User Guide.
/// x-amz-copy-source header identifies the current version of
/// an object to copy. If the current version is a delete marker, Amazon S3 behaves as
/// if the object was deleted. To copy a different version, use the versionId
/// subresource.
/// x-amz-version-id
/// response header in the response.
/// CopyObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// A property of CopyObjectRequest used to execute the CopyObject service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 200 OK response. This means that
/// a 200 OK response can contain either a success or an error. If you call
/// the S3 API directly, make sure to design your application to parse the contents of
/// the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs
/// handle this condition. The SDKs detect the embedded error and apply error handling
/// per your configuration settings (including automatically retrying the request as appropriate).
/// If the condition persists, the SDKs throws an exception (or, for the SDKs that don't
/// use exceptions, they return the error).
/// Bad
/// Request error. For more information, see Transfer
/// Acceleration.
/// x-amz-metadata-directive
/// header. When you grant permissions, you can use the s3:x-amz-metadata-directive
/// condition key to enforce certain metadata behavior when objects are uploaded. For
/// more information, see Specifying
/// Conditions in a Policy in the Amazon S3 User Guide. For a complete list
/// of Amazon S3-specific condition keys, see Actions,
/// Resources, and Condition Keys for Amazon S3.
/// x-amz-website-redirect-location is unique to each object and must be
/// specified in the request headers to copy the value.
/// Etag
/// matches or whether the object was modified before or after a specified date, use the
/// following request parameters:
/// x-amz-copy-source-if-match
/// x-amz-copy-source-if-none-match
/// x-amz-copy-source-if-unmodified-since
/// x-amz-copy-source-if-modified-since
/// x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns 200
/// OK and copies the data:
/// x-amz-copy-source-if-match condition evaluates to true
/// x-amz-copy-source-if-unmodified-since condition evaluates to false
/// x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since
/// headers are present in the request and evaluate as follows, Amazon S3 returns the
/// 412 Precondition Failed response code:
/// x-amz-copy-source-if-none-match condition evaluates to false
/// x-amz-copy-source-if-modified-since condition evaluates to true
/// x-amz- prefix, including x-amz-copy-source,
/// must be signed.
/// CopyObject operation, if you want to use a different
/// type of encryption setting for the target object, you can use other appropriate encryption-related
/// headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or
/// a customer-provided key. With server-side encryption, Amazon S3 encrypts your data
/// as it writes your data to disks in its data centers and decrypts the data when you
/// access it. If the encryption setting in your request is different from the default
/// encryption configuration of the destination bucket, the encryption setting in your
/// request takes precedence. If the source object for the copy is stored in Amazon S3
/// using SSE-C, you must provide the necessary encryption information in your request
/// so that Amazon S3 can decrypt the object for copying. For more information about server-side
/// encryption, see Using
/// Server-Side Encryption.
/// PUT requests that don't specify an
/// ACL or PUT requests that specify bucket owner full control ACLs, such
/// as the bucket-owner-full-control canned ACL or an equivalent form of
/// this ACL expressed in the XML format.
/// x-amz-checksum-algorithm
/// header.
/// CopyObject action to change the storage class of an object
/// that is already stored in Amazon S3 by using the StorageClass parameter.
/// For more information, see Storage
/// Classes in the Amazon S3 User Guide.
/// x-amz-copy-source header identifies the current version of
/// an object to copy. If the current version is a delete marker, Amazon S3 behaves as
/// if the object was deleted. To copy a different version, use the versionId
/// subresource.
/// x-amz-version-id
/// response header in the response.
/// CopyObject:
/// x-amz-copy-source in your
/// request and a byte range by adding the request header x-amz-copy-source-range
/// in your request.
///
///
/// UploadPartCopy operation, see the
/// following:
/// UploadPartCopy operation, see CopyObject
/// and UploadPart.
/// x-amz-copy-source-if-match,
/// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since,
/// and x-amz-copy-source-if-modified-since:
/// x-amz-copy-source-if-match and
/// x-amz-copy-source-if-unmodified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-match condition evaluates to true,
/// and;
/// x-amz-copy-source-if-unmodified-since condition evaluates to false;
/// 200 OK and copies the data.
/// x-amz-copy-source-if-none-match
/// and x-amz-copy-source-if-modified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-none-match condition evaluates to false,
/// and;
/// x-amz-copy-source-if-modified-since condition evaluates to true;
/// 412 Precondition Failed response code.
/// x-amz-copy-source identifies the current version
/// of the object to copy. If the current version is a delete marker and you don't specify
/// a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error,
/// because the object does not exist. If you specify versionId in the x-amz-copy-source
/// and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because
/// you are not allowed to specify a delete marker as a version for the x-amz-copy-source.
///
/// versionId subresource as shown in the following example:
/// x-amz-copy-source: /bucket/object?versionId=version id
/// UploadPartCopy:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// A property of CopyPartRequest used to execute the CopyPart service method.
/// Upload ID identifying the multipart upload whose part is being copied.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// x-amz-copy-source in your
/// request and a byte range by adding the request header x-amz-copy-source-range
/// in your request.
///
///
/// UploadPartCopy operation, see the
/// following:
/// UploadPartCopy operation, see CopyObject
/// and UploadPart.
/// x-amz-copy-source-if-match,
/// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since,
/// and x-amz-copy-source-if-modified-since:
/// x-amz-copy-source-if-match and
/// x-amz-copy-source-if-unmodified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-match condition evaluates to true,
/// and;
/// x-amz-copy-source-if-unmodified-since condition evaluates to false;
/// 200 OK and copies the data.
/// x-amz-copy-source-if-none-match
/// and x-amz-copy-source-if-modified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-none-match condition evaluates to false,
/// and;
/// x-amz-copy-source-if-modified-since condition evaluates to true;
/// 412 Precondition Failed response code.
/// x-amz-copy-source identifies the current version
/// of the object to copy. If the current version is a delete marker and you don't specify
/// a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error,
/// because the object does not exist. If you specify versionId in the x-amz-copy-source
/// and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because
/// you are not allowed to specify a delete marker as a version for the x-amz-copy-source.
///
/// versionId subresource as shown in the following example:
/// x-amz-copy-source: /bucket/object?versionId=version id
/// UploadPartCopy:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// A property of CopyPartRequest used to execute the CopyPart service method.
/// Upload ID identifying the multipart upload whose part is being copied.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// x-amz-copy-source in your
/// request and a byte range by adding the request header x-amz-copy-source-range
/// in your request.
///
///
/// UploadPartCopy operation, see the
/// following:
/// UploadPartCopy operation, see CopyObject
/// and UploadPart.
/// x-amz-copy-source-if-match,
/// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since,
/// and x-amz-copy-source-if-modified-since:
/// x-amz-copy-source-if-match and
/// x-amz-copy-source-if-unmodified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-match condition evaluates to true,
/// and;
/// x-amz-copy-source-if-unmodified-since condition evaluates to false;
/// 200 OK and copies the data.
/// x-amz-copy-source-if-none-match
/// and x-amz-copy-source-if-modified-since headers are present in the request
/// as follows:
/// x-amz-copy-source-if-none-match condition evaluates to false,
/// and;
/// x-amz-copy-source-if-modified-since condition evaluates to true;
/// 412 Precondition Failed response code.
/// x-amz-copy-source identifies the current version
/// of the object to copy. If the current version is a delete marker and you don't specify
/// a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error,
/// because the object does not exist. If you specify versionId in the x-amz-copy-source
/// and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because
/// you are not allowed to specify a delete marker as a version for the x-amz-copy-source.
///
/// versionId subresource as shown in the following example:
/// x-amz-copy-source: /bucket/object?versionId=version id
/// UploadPartCopy:
/// DeleteBucket:
/// DeleteBucket:
/// s3:PutAnalyticsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// DeleteBucketAnalyticsConfiguration:
/// s3:PutEncryptionConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.
/// DeleteBucketEncryption:
/// DeleteBucketIntelligentTieringConfiguration include:
///
/// s3:PutInventoryConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// DeleteBucketInventoryConfiguration include:
/// s3:PutMetricsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// DeleteBucketMetricsConfiguration:
/// OwnershipControls for an Amazon S3 bucket. To use this operation,
/// you must have the s3:PutBucketOwnershipControls permission. For more
/// information about Amazon S3 permissions, see Specifying
/// Permissions in a Policy.
///
///
/// DeleteBucketOwnershipControls:
/// DeleteBucketPolicy permissions on the specified bucket and belong
/// to the bucket owner's account to use this operation.
///
///
/// DeleteBucketPolicy permissions, Amazon S3 returns a
/// 403 Access Denied error. If you have the correct permissions, but you're
/// not using an identity that belongs to the bucket owner's account, Amazon S3 returns
/// a 405 Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// DeleteBucketPolicy
/// DeleteBucketPolicy permissions on the specified bucket and belong
/// to the bucket owner's account to use this operation.
///
///
/// DeleteBucketPolicy permissions, Amazon S3 returns a
/// 403 Access Denied error. If you have the correct permissions, but you're
/// not using an identity that belongs to the bucket owner's account, Amazon S3 returns
/// a 405 Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// DeleteBucketPolicy
/// s3:PutReplicationConfiguration
/// action. The bucket owner has these permissions by default and can grant it to others.
/// For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// DeleteBucketReplication:
/// s3:PutBucketTagging
/// action. By default, the bucket owner has this permission and can grant this permission
/// to others.
/// DeleteBucketTagging:
/// s3:PutBucketTagging
/// action. By default, the bucket owner has this permission and can grant this permission
/// to others.
/// DeleteBucketTagging:
/// 200
/// OK response upon successfully deleting a website configuration on the specified
/// bucket. You will get a 200 OK response if the website configuration you
/// are trying to delete does not exist on the bucket. Amazon S3 returns a 404
/// response if the bucket specified in the request does not exist.
///
///
/// S3:DeleteBucketWebsite permission. By
/// default, only the bucket owner can delete the website configuration attached to a
/// bucket. However, bucket owners can grant other users permission to delete the website
/// configuration by writing a bucket policy granting them the S3:DeleteBucketWebsite
/// permission.
/// DeleteBucketWebsite:
/// 200
/// OK response upon successfully deleting a website configuration on the specified
/// bucket. You will get a 200 OK response if the website configuration you
/// are trying to delete does not exist on the bucket. Amazon S3 returns a 404
/// response if the bucket specified in the request does not exist.
///
///
/// S3:DeleteBucketWebsite permission. By
/// default, only the bucket owner can delete the website configuration attached to a
/// bucket. However, bucket owners can grant other users permission to delete the website
/// configuration by writing a bucket policy granting them the S3:DeleteBucketWebsite
/// permission.
/// DeleteBucketWebsite:
/// cors configuration information set for the bucket.
///
///
/// s3:PutBucketCORS
/// action. The bucket owner has this permission by default and can grant this permission
/// to others.
/// cors, see Enabling
/// Cross-Origin Resource Sharing in the Amazon S3 User Guide.
/// Related Resources /// ///
cors configuration is being deleted.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// cors configuration information set for the bucket.
///
///
/// s3:PutBucketCORS
/// action. The bucket owner has this permission by default and can grant this permission
/// to others.
/// cors, see Enabling
/// Cross-Origin Resource Sharing in the Amazon S3 User Guide.
/// Related Resources /// ///
s3:PutLifecycleConfiguration
/// action. By default, the bucket owner has this permission and the bucket owner can
/// grant this permission to others.
/// s3:PutLifecycleConfiguration
/// action. By default, the bucket owner has this permission and the bucket owner can
/// grant this permission to others.
/// x-amz-delete-marker, to true.
/// x-amz-mfa request header
/// in the DELETE versionId request. Requests that include x-amz-mfa
/// must use HTTPS.
/// s3:DeleteObject,
/// s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration
/// actions.
/// DeleteObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Key name of the object to delete.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// x-amz-delete-marker, to true.
/// x-amz-mfa request header
/// in the DELETE versionId request. Requests that include x-amz-mfa
/// must use HTTPS.
/// s3:DeleteObject,
/// s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration
/// actions.
/// DeleteObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Key name of the object to delete.
/// VersionId used to reference a specific version of the object.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// x-amz-delete-marker, to true.
/// x-amz-mfa request header
/// in the DELETE versionId request. Requests that include x-amz-mfa
/// must use HTTPS.
/// s3:DeleteObject,
/// s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration
/// actions.
/// DeleteObject:
/// DeleteObjects:
/// s3:DeleteObjectTagging
/// action.
/// versionId query
/// parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging
/// action.
/// DeleteObjectTagging:
/// PublicAccessBlock configuration for an Amazon S3 bucket.
/// To use this operation, you must have the s3:PutBucketPublicAccessBlock
/// permission. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
///
///
/// DeletePublicAccessBlock:
/// GET action uses the acl subresource
/// to return the access control list (ACL) of a bucket. To use GET to return
/// the ACL of the bucket, you must have READ_ACP access to the bucket. If
/// READ_ACP permission is granted to the anonymous user, you can return
/// the ACL of the bucket without using an authorization header.
///
///
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// bucket-owner-full-control
/// ACL with the owner being the account that created the bucket. For more information,
/// see
/// Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.
/// GetBucketAcl:
/// InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// GET action uses the acl subresource
/// to return the access control list (ACL) of a bucket. To use GET to return
/// the ACL of the bucket, you must have READ_ACP access to the bucket. If
/// READ_ACP permission is granted to the anonymous user, you can return
/// the ACL of the bucket without using an authorization header.
///
///
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// bucket-owner-full-control
/// ACL with the owner being the account that created the bucket. For more information,
/// see
/// Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.
/// GetBucketAcl:
/// accelerate subresource
/// to return the Transfer Acceleration state of a bucket, which is either Enabled
/// or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature
/// that enables you to perform faster data transfers to and from Amazon S3.
///
///
/// s3:GetAccelerateConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.
/// Enabled
/// or Suspended by using the PutBucketAccelerateConfiguration
/// operation.
/// accelerate request does not return a state value for a bucket that
/// has no transfer acceleration state. A bucket has no Transfer Acceleration state if
/// a state has never been set on the bucket.
/// GetBucketAccelerateConfiguration:
/// accelerate subresource
/// to return the Transfer Acceleration state of a bucket, which is either Enabled
/// or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature
/// that enables you to perform faster data transfers to and from Amazon S3.
///
///
/// s3:GetAccelerateConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.
/// Enabled
/// or Suspended by using the PutBucketAccelerateConfiguration
/// operation.
/// accelerate request does not return a state value for a bucket that
/// has no transfer acceleration state. A bucket has no Transfer Acceleration state if
/// a state has never been set on the bucket.
/// GetBucketAccelerateConfiguration:
/// s3:GetAnalyticsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see
/// Permissions Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
///
/// GetBucketAnalyticsConfiguration:
/// s3:GetEncryptionConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// GetBucketEncryption:
/// GetBucketIntelligentTieringConfiguration include:
///
/// s3:GetInventoryConfiguration
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// GetBucketInventoryConfiguration:
/// LocationConstraint
/// request parameter in a CreateBucket request. For more information, see
/// CreateBucket.
///
///
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketLocation:
/// InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// LocationConstraint
/// request parameter in a CreateBucket request. For more information, see
/// CreateBucket.
///
///
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketLocation:
/// GetBucketLogging:
/// GetBucketLogging:
/// s3:GetMetricsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// GetBucketMetricsConfiguration:
/// NotificationConfiguration
/// element.
/// s3:GetBucketNotification
/// permission.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketNotification:
/// InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// NotificationConfiguration
/// element.
/// s3:GetBucketNotification
/// permission.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketNotification:
/// OwnershipControls for an Amazon S3 bucket. To use this operation,
/// you must have the s3:GetBucketOwnershipControls permission. For more
/// information about Amazon S3 permissions, see Specifying
/// permissions in a policy.
///
///
/// GetBucketOwnershipControls:
/// GetBucketPolicy permissions on the specified bucket
/// and belong to the bucket owner's account in order to use this operation.
///
///
/// GetBucketPolicy permissions, Amazon S3 returns a 403
/// Access Denied error. If you have the correct permissions, but you're not using
/// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
/// Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketPolicy:
/// InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// GetBucketPolicy permissions on the specified bucket
/// and belong to the bucket owner's account in order to use this operation.
///
///
/// GetBucketPolicy permissions, Amazon S3 returns a 403
/// Access Denied error. If you have the correct permissions, but you're not using
/// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
/// Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketPolicy:
/// s3:GetBucketPolicyStatus
/// permission. For more information about Amazon S3 permissions, see Specifying
/// Permissions in a Policy.
///
///
/// GetBucketPolicyStatus:
/// GetBucketRequestPayment:
/// GetBucketRequestPayment:
/// s3:GetBucketTagging
/// action. By default, the bucket owner has this permission and can grant this permission
/// to others.
/// GetBucketTagging has the following special error:
/// NoSuchTagSet
/// GetBucketTagging:
/// enabled, the bucket owner must use an authentication
/// device to change the versioning state of the bucket.
/// GetBucketVersioning:
/// enabled, the bucket owner must use an authentication
/// device to change the versioning state of the bucket.
/// GetBucketVersioning:
/// S3:GetBucketWebsite permission. By default,
/// only the bucket owner can read the bucket website configuration. However, bucket owners
/// can allow other users to read the website configuration by writing a bucket policy
/// granting them the S3:GetBucketWebsite permission.
/// GetBucketWebsite:
/// S3:GetBucketWebsite permission. By default,
/// only the bucket owner can read the bucket website configuration. However, bucket owners
/// can allow other users to read the website configuration by writing a bucket policy
/// granting them the S3:GetBucketWebsite permission.
/// GetBucketWebsite:
/// s3:GetBucketCORS
/// action. By default, the bucket owner has this permission and can grant it to others.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketCors:
/// InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// s3:GetBucketCORS
/// action. By default, the bucket owner has this permission and can grant it to others.
/// InvalidAccessPointAliasError
/// is returned. For more information about InvalidAccessPointAliasError,
/// see List
/// of Error Codes.
/// GetBucketCors:
/// s3:GetLifecycleConfiguration
/// action. The bucket owner has this permission, by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// GetBucketLifecycleConfiguration has the following special error:
/// NoSuchLifecycleConfiguration
/// GetBucketLifecycleConfiguration:
/// s3:GetLifecycleConfiguration
/// action. The bucket owner has this permission, by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// GetBucketLifecycleConfiguration has the following special error:
/// NoSuchLifecycleConfiguration
/// GetBucketLifecycleConfiguration:
/// GET, you must have READ
/// access to the object. If you grant READ access to the anonymous user,
/// you can return the object without using an authorization header.
///
///
/// sample.jpg, you can name it photos/2006/February/sample.jpg.
/// GET operation. For a virtual hosted-style request example,
/// if you have the object photos/2006/February/sample.jpg, specify the resource
/// as /photos/2006/February/sample.jpg. For a path-style request example,
/// if you have the object photos/2006/February/sample.jpg in the bucket
/// named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg.
/// For more information about request types, see HTTP
/// Host Header Bucket Specification.
/// InvalidObjectState error. For information
/// about restoring archived objects, see Restoring
/// Archived Objects.
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption with Key Management
/// Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
/// KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys
/// (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 Bad
/// Request error.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-tagging-count header that provides the count of number of tags
/// associated with the object. You can use GetObjectTagging
/// to retrieve the tag set associated with an object.
/// s3:ListBucket
/// permission.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 (Not Found) error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 ("access denied") error.
/// GET action returns the current version of an object.
/// To return a different version, use the versionId subresource.
/// versionId, you need the s3:GetObjectVersion
/// permission to access a specific version of an object. If you request a specific version,
/// you do not need to have the s3:GetObject permission. If you request the
/// current version without a specific version ID, only s3:GetObject permission
/// is required. s3:GetObjectVersion permission won't be required.
/// x-amz-delete-marker: true in the response.
/// GET
/// response. For example, you might override the Content-Disposition response
/// header value in your GET request.
/// GET response are Content-Type,
/// Content-Language, Expires, Cache-Control, Content-Disposition,
/// and Content-Encoding. To override these header values in the GET
/// response, you use the following request parameters.
/// response-content-type
/// response-content-language
/// response-expires
/// response-cache-control
/// response-content-disposition
/// response-content-encoding
/// If-Match and If-Unmodified-Since headers
/// are present in the request as follows: If-Match condition evaluates to
/// true, and; If-Unmodified-Since condition evaluates to false;
/// then, S3 returns 200 OK and the data requested.
/// If-None-Match and If-Modified-Since headers
/// are present in the request as follows: If-None-Match condition evaluates
/// to false, and; If-Modified-Since condition evaluates to
/// true; then, S3 returns 304 Not Modified response code.
/// GetObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Key of the object to get.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// GET, you must have READ
/// access to the object. If you grant READ access to the anonymous user,
/// you can return the object without using an authorization header.
///
///
/// sample.jpg, you can name it photos/2006/February/sample.jpg.
/// GET operation. For a virtual hosted-style request example,
/// if you have the object photos/2006/February/sample.jpg, specify the resource
/// as /photos/2006/February/sample.jpg. For a path-style request example,
/// if you have the object photos/2006/February/sample.jpg in the bucket
/// named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg.
/// For more information about request types, see HTTP
/// Host Header Bucket Specification.
/// InvalidObjectState error. For information
/// about restoring archived objects, see Restoring
/// Archived Objects.
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption with Key Management
/// Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
/// KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys
/// (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 Bad
/// Request error.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-tagging-count header that provides the count of number of tags
/// associated with the object. You can use GetObjectTagging
/// to retrieve the tag set associated with an object.
/// s3:ListBucket
/// permission.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 (Not Found) error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 ("access denied") error.
/// GET action returns the current version of an object.
/// To return a different version, use the versionId subresource.
/// versionId, you need the s3:GetObjectVersion
/// permission to access a specific version of an object. If you request a specific version,
/// you do not need to have the s3:GetObject permission. If you request the
/// current version without a specific version ID, only s3:GetObject permission
/// is required. s3:GetObjectVersion permission won't be required.
/// x-amz-delete-marker: true in the response.
/// GET
/// response. For example, you might override the Content-Disposition response
/// header value in your GET request.
/// GET response are Content-Type,
/// Content-Language, Expires, Cache-Control, Content-Disposition,
/// and Content-Encoding. To override these header values in the GET
/// response, you use the following request parameters.
/// response-content-type
/// response-content-language
/// response-expires
/// response-cache-control
/// response-content-disposition
/// response-content-encoding
/// If-Match and If-Unmodified-Since headers
/// are present in the request as follows: If-Match condition evaluates to
/// true, and; If-Unmodified-Since condition evaluates to false;
/// then, S3 returns 200 OK and the data requested.
/// If-None-Match and If-Modified-Since headers
/// are present in the request as follows: If-None-Match condition evaluates
/// to false, and; If-Modified-Since condition evaluates to
/// true; then, S3 returns 304 Not Modified response code.
/// GetObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Key of the object to get.
/// VersionId used to reference a specific version of the object.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// GET, you must have READ
/// access to the object. If you grant READ access to the anonymous user,
/// you can return the object without using an authorization header.
///
///
/// sample.jpg, you can name it photos/2006/February/sample.jpg.
/// GET operation. For a virtual hosted-style request example,
/// if you have the object photos/2006/February/sample.jpg, specify the resource
/// as /photos/2006/February/sample.jpg. For a path-style request example,
/// if you have the object photos/2006/February/sample.jpg in the bucket
/// named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg.
/// For more information about request types, see HTTP
/// Host Header Bucket Specification.
/// InvalidObjectState error. For information
/// about restoring archived objects, see Restoring
/// Archived Objects.
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption with Key Management
/// Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
/// KMS keys (DSSE-KMS), or server-side encryption with Amazon S3 managed encryption keys
/// (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 Bad
/// Request error.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-tagging-count header that provides the count of number of tags
/// associated with the object. You can use GetObjectTagging
/// to retrieve the tag set associated with an object.
/// s3:ListBucket
/// permission.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 (Not Found) error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 ("access denied") error.
/// GET action returns the current version of an object.
/// To return a different version, use the versionId subresource.
/// versionId, you need the s3:GetObjectVersion
/// permission to access a specific version of an object. If you request a specific version,
/// you do not need to have the s3:GetObject permission. If you request the
/// current version without a specific version ID, only s3:GetObject permission
/// is required. s3:GetObjectVersion permission won't be required.
/// x-amz-delete-marker: true in the response.
/// GET
/// response. For example, you might override the Content-Disposition response
/// header value in your GET request.
/// GET response are Content-Type,
/// Content-Language, Expires, Cache-Control, Content-Disposition,
/// and Content-Encoding. To override these header values in the GET
/// response, you use the following request parameters.
/// response-content-type
/// response-content-language
/// response-expires
/// response-cache-control
/// response-content-disposition
/// response-content-encoding
/// If-Match and If-Unmodified-Since headers
/// are present in the request as follows: If-Match condition evaluates to
/// true, and; If-Unmodified-Since condition evaluates to false;
/// then, S3 returns 200 OK and the data requested.
/// If-None-Match and If-Modified-Since headers
/// are present in the request as follows: If-None-Match condition evaluates
/// to false, and; If-Modified-Since condition evaluates to
/// true; then, S3 returns 304 Not Modified response code.
/// GetObject:
/// GetObjectAttributes,
/// you must have READ access to the object.
///
///
/// GetObjectAttributes combines the functionality of HeadObject
/// and ListParts. All of the data returned with each of those individual
/// calls can be returned with a single call to GetObjectAttributes.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption with Amazon
/// Web Services KMS keys stored in Amazon Web Services Key Management Service (SSE-KMS)
/// or server-side encryption with Amazon S3 managed keys (SSE-S3). If your object does
/// use these types of keys, you'll get an HTTP 400 Bad Request error.
/// If-Match and If-Unmodified-Since headers
/// are present in the request as follows, then Amazon S3 returns the HTTP status code
/// 200 OK and the data requested:
/// If-Match condition evaluates to true.
/// If-Unmodified-Since condition evaluates to false.
/// If-None-Match and If-Modified-Since headers
/// are present in the request as follows, then Amazon S3 returns the HTTP status code
/// 304 Not Modified:
/// If-None-Match condition evaluates to false.
/// If-Modified-Since condition evaluates to true.
/// s3:GetObjectVersion
/// and s3:GetObjectVersionAttributes permissions for this operation. If
/// the bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes
/// permissions. For more information, see Specifying
/// Permissions in a Policy in the Amazon S3 User Guide. If the object that
/// you request does not exist, the error Amazon S3 returns depends on whether you also
/// have the s3:ListBucket permission.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 Not Found ("no such key") error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 Forbidden ("access denied") error.
/// GetObjectAttributes:
/// GetObjectLegalHold:
/// GetObjectLockConfiguration:
/// HEAD action retrieves metadata from an object without returning the
/// object itself. This action is useful if you're only interested in an object's metadata.
/// To use HEAD, you must have READ access to the object.
///
///
/// HEAD request has the same options as a GET action on an
/// object. The response is identical to the GET response except that there
/// is no response body. Because of this, if the HEAD request generates an
/// error, it returns a generic 400 Bad Request, 403 Forbidden
/// or 404 Not Found code. It is not possible to retrieve the exact exception
/// beyond these error codes.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption
/// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption
/// with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
/// S3 managed encryption keys (SSE-S3). If your object does use these types of keys,
/// you’ll get an HTTP 400 Bad Request error.
/// If-Match and If-Unmodified-Since
/// headers are present in the request as follows:
/// If-Match condition evaluates to true, and;
/// If-Unmodified-Since condition evaluates to false;
/// 200 OK and the data requested.
/// If-None-Match and If-Modified-Since
/// headers are present in the request as follows:
/// If-None-Match condition evaluates to false, and;
/// If-Modified-Since condition evaluates to true;
/// 304 Not Modified response code.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 error.
/// HeadObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// The object key.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// HEAD action retrieves metadata from an object without returning the
/// object itself. This action is useful if you're only interested in an object's metadata.
/// To use HEAD, you must have READ access to the object.
///
///
/// HEAD request has the same options as a GET action on an
/// object. The response is identical to the GET response except that there
/// is no response body. Because of this, if the HEAD request generates an
/// error, it returns a generic 400 Bad Request, 403 Forbidden
/// or 404 Not Found code. It is not possible to retrieve the exact exception
/// beyond these error codes.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption
/// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption
/// with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
/// S3 managed encryption keys (SSE-S3). If your object does use these types of keys,
/// you’ll get an HTTP 400 Bad Request error.
/// If-Match and If-Unmodified-Since
/// headers are present in the request as follows:
/// If-Match condition evaluates to true, and;
/// If-Unmodified-Since condition evaluates to false;
/// 200 OK and the data requested.
/// If-None-Match and If-Modified-Since
/// headers are present in the request as follows:
/// If-None-Match condition evaluates to false, and;
/// If-Modified-Since condition evaluates to true;
/// 304 Not Modified response code.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 error.
/// HeadObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// The object key.
/// VersionId used to reference a specific version of the object.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// HEAD action retrieves metadata from an object without returning the
/// object itself. This action is useful if you're only interested in an object's metadata.
/// To use HEAD, you must have READ access to the object.
///
///
/// HEAD request has the same options as a GET action on an
/// object. The response is identical to the GET response except that there
/// is no response body. Because of this, if the HEAD request generates an
/// error, it returns a generic 400 Bad Request, 403 Forbidden
/// or 404 Not Found code. It is not possible to retrieve the exact exception
/// beyond these error codes.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-server-side-encryption, should
/// not be sent for GET requests if your object uses server-side encryption
/// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption
/// with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
/// S3 managed encryption keys (SSE-S3). If your object does use these types of keys,
/// you’ll get an HTTP 400 Bad Request error.
/// If-Match and If-Unmodified-Since
/// headers are present in the request as follows:
/// If-Match condition evaluates to true, and;
/// If-Unmodified-Since condition evaluates to false;
/// 200 OK and the data requested.
/// If-None-Match and If-Modified-Since
/// headers are present in the request as follows:
/// If-None-Match condition evaluates to false, and;
/// If-Modified-Since condition evaluates to true;
/// 304 Not Modified response code.
/// s3:ListBucket permission on the bucket, Amazon S3 returns
/// an HTTP status code 404 error.
/// s3:ListBucket permission, Amazon S3 returns an
/// HTTP status code 403 error.
/// HeadObject:
/// GetObjectRetention:
/// s3:GetObjectTagging
/// action. By default, the GET action returns information about current version of an
/// object. For a versioned bucket, you can have multiple versions of an object in your
/// bucket. To retrieve tags of any other version, use the versionId query parameter.
/// You also need permission for the s3:GetObjectVersionTagging action.
/// GetObjectTagging:
/// GetObjectTorrent:
/// GetObjectTorrent:
/// PublicAccessBlock configuration for an Amazon S3 bucket.
/// To use this operation, you must have the s3:GetBucketPublicAccessBlock
/// permission. For more information about Amazon S3 permissions, see Specifying
/// Permissions in a Policy.
///
/// PublicAccessBlock configuration for a bucket
/// or an object, it checks the PublicAccessBlock configuration for both
/// the bucket (or the bucket that contains the object) and the bucket owner's account.
/// If the PublicAccessBlock settings are different between the bucket and
/// the account, Amazon S3 uses the most restrictive combination of the bucket-level and
/// account-level settings.
/// GetPublicAccessBlock:
/// CreateMultipartUpload. You can request that Amazon S3 save the
/// uploaded parts encrypted with server-side encryption with an Amazon S3 managed key
/// (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption
/// key (SSE-C).
/// kms:Decrypt and kms:GenerateDataKey*
/// actions on the key. These permissions are required because Amazon S3 must decrypt
/// and read data from the encrypted file parts before it completes the multipart upload.
/// For more information, see Multipart
/// upload API and permissions and Protecting
/// data using server-side encryption with Amazon Web Services KMS in the Amazon
/// S3 User Guide.
/// x-amz-acl request header. For more information,
/// see Canned
/// ACL.
/// x-amz-grant-read, x-amz-grant-read-acp,
/// x-amz-grant-write-acp, and x-amz-grant-full-control headers.
/// These parameters map to the set of permissions that Amazon S3 supports in an ACL.
/// For more information, see Access
/// Control List (ACL) Overview.
/// aws/s3)
/// and KMS customer managed keys stored in Key Management Service (KMS) – If you want
/// Amazon Web Services to manage the keys used to encrypt data, specify the following
/// headers in the request.
/// x-amz-server-side-encryption
/// x-amz-server-side-encryption-aws-kms-key-id
/// x-amz-server-side-encryption-context
/// x-amz-server-side-encryption:aws:kms, but don't provide
/// x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon
/// Web Services managed key (aws/s3 key) in KMS to protect the data.
/// GET and PUT requests for an object protected by KMS
/// fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security
/// (TLS), or Signature Version 4.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-acl) — Amazon S3 supports a set of predefined
/// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees
/// and permissions. For more information, see Canned
/// ACL.
/// x-amz-grant-read
/// x-amz-grant-write
/// x-amz-grant-read-acp
/// x-amz-grant-write-acp
/// x-amz-grant-full-control
/// id – if the value specified is the canonical user ID of an Amazon Web
/// Services account
/// uri – if you are granting permissions to a predefined group
/// emailAddress – if the value specified is the email address of an Amazon
/// Web Services account
/// x-amz-grant-read header grants the Amazon
/// Web Services accounts identified by account IDs permissions to read object data and
/// its metadata:
/// x-amz-grant-read: id="11112222333", id="444455556666"
/// CreateMultipartUpload:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the multipart upload is to be initiated.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// CreateMultipartUpload. You can request that Amazon S3 save the
/// uploaded parts encrypted with server-side encryption with an Amazon S3 managed key
/// (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption
/// key (SSE-C).
/// kms:Decrypt and kms:GenerateDataKey*
/// actions on the key. These permissions are required because Amazon S3 must decrypt
/// and read data from the encrypted file parts before it completes the multipart upload.
/// For more information, see Multipart
/// upload API and permissions and Protecting
/// data using server-side encryption with Amazon Web Services KMS in the Amazon
/// S3 User Guide.
/// x-amz-acl request header. For more information,
/// see Canned
/// ACL.
/// x-amz-grant-read, x-amz-grant-read-acp,
/// x-amz-grant-write-acp, and x-amz-grant-full-control headers.
/// These parameters map to the set of permissions that Amazon S3 supports in an ACL.
/// For more information, see Access
/// Control List (ACL) Overview.
/// aws/s3)
/// and KMS customer managed keys stored in Key Management Service (KMS) – If you want
/// Amazon Web Services to manage the keys used to encrypt data, specify the following
/// headers in the request.
/// x-amz-server-side-encryption
/// x-amz-server-side-encryption-aws-kms-key-id
/// x-amz-server-side-encryption-context
/// x-amz-server-side-encryption:aws:kms, but don't provide
/// x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon
/// Web Services managed key (aws/s3 key) in KMS to protect the data.
/// GET and PUT requests for an object protected by KMS
/// fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security
/// (TLS), or Signature Version 4.
/// x-amz-server-side-encryption-customer-algorithm
/// x-amz-server-side-encryption-customer-key
/// x-amz-server-side-encryption-customer-key-MD5
/// x-amz-acl) — Amazon S3 supports a set of predefined
/// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees
/// and permissions. For more information, see Canned
/// ACL.
/// x-amz-grant-read
/// x-amz-grant-write
/// x-amz-grant-read-acp
/// x-amz-grant-write-acp
/// x-amz-grant-full-control
/// id – if the value specified is the canonical user ID of an Amazon Web
/// Services account
/// uri – if you are granting permissions to a predefined group
/// emailAddress – if the value specified is the email address of an Amazon
/// Web Services account
/// x-amz-grant-read header grants the Amazon
/// Web Services accounts identified by account IDs permissions to read object data and
/// its metadata:
/// x-amz-grant-read: id="11112222333", id="444455556666"
/// CreateMultipartUpload:
/// IsTruncated element in the response.
/// If there are no more configurations to list, IsTruncated is set to false.
/// If there are more configurations to list, IsTruncated is set to true,
/// and there will be a value in NextContinuationToken. You use the NextContinuationToken
/// value to continue the pagination of the list by passing the value in continuation-token
/// in the request to GET the next page.
/// s3:GetAnalyticsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// ListBucketAnalyticsConfigurations:
/// ListBucketIntelligentTieringConfigurations include:
///
/// IsTruncated element in the response. If there
/// are no more configurations to list, IsTruncated is set to false. If there
/// are more configurations to list, IsTruncated is set to true, and there
/// is a value in NextContinuationToken. You use the NextContinuationToken
/// value to continue the pagination of the list by passing the value in continuation-token
/// in the request to GET the next page.
/// s3:GetInventoryConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// ListBucketInventoryConfigurations:
/// IsTruncated element in the response. If there
/// are no more configurations to list, IsTruncated is set to false. If there
/// are more configurations to list, IsTruncated is set to true, and there
/// is a value in NextContinuationToken. You use the NextContinuationToken
/// value to continue the pagination of the list by passing the value in continuation-token
/// in the request to GET the next page.
/// s3:GetMetricsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// ListBucketMetricsConfigurations:
/// s3:ListAllMyBuckets permission.
///
///
///
/// s3:ListAllMyBuckets permission.
///
///
///
/// max-uploads parameter in the response. If additional multipart uploads
/// satisfy the list criteria, the response will contain an IsTruncated element
/// with the value true. To list the additional multipart uploads, use the key-marker
/// and upload-id-marker request parameters.
/// ListMultipartUploads:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// max-uploads parameter in the response. If additional multipart uploads
/// satisfy the list criteria, the response will contain an IsTruncated element
/// with the value true. To list the additional multipart uploads, use the key-marker
/// and upload-id-marker request parameters.
/// ListMultipartUploads:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way that you'd use a folder in a file system.)
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// max-uploads parameter in the response. If additional multipart uploads
/// satisfy the list criteria, the response will contain an IsTruncated element
/// with the value true. To list the additional multipart uploads, use the key-marker
/// and upload-id-marker request parameters.
/// ListMultipartUploads:
/// ListObjects.
/// ListObjects:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// ListObjects.
/// ListObjects:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Limits the response to keys that begin with the specified prefix.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// ListObjects.
/// ListObjects:
/// 200 OK response can contain valid or invalid XML. Make
/// sure to design your application to parse the contents of the response and handle it
/// appropriately. Objects are returned sorted in an ascending order of the respective
/// key names in the list. For more information about listing objects, see Listing
/// object keys programmatically in the Amazon S3 User Guide.
///
///
/// s3:ListBucket action. The bucket owner has
/// this permission by default and can grant this permission to others. For more information
/// about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// ListObjectsV2:
/// max-parts request parameter. If your multipart upload consists of
/// more than 1,000 parts, the response returns an IsTruncated field with
/// the value of true, and a NextPartNumberMarker element. In subsequent
/// ListParts requests you can include the part-number-marker query string
/// parameter and set its value to the NextPartNumberMarker field value from
/// the previous response.
///
///
/// kms:Decrypt action for the request to succeed.
/// ListParts:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the multipart upload was initiated.
/// Upload ID identifying the multipart upload whose parts are being listed.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// max-parts request parameter. If your multipart upload consists of
/// more than 1,000 parts, the response returns an IsTruncated field with
/// the value of true, and a NextPartNumberMarker element. In subsequent
/// ListParts requests you can include the part-number-marker query string
/// parameter and set its value to the NextPartNumberMarker field value from
/// the previous response.
///
///
/// kms:Decrypt action for the request to succeed.
/// ListParts:
/// s3:ListBucketVersions
/// action. Be aware of the name difference.
/// 200 OK response can contain valid or invalid XML. Make sure to design
/// your application to parse the contents of the response and handle it appropriately.
/// ListObjectVersions:
/// s3:ListBucketVersions
/// action. Be aware of the name difference.
/// 200 OK response can contain valid or invalid XML. Make sure to design
/// your application to parse the contents of the response and handle it appropriately.
/// ListObjectVersions:
/// prefix to make groups in the same way that you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// s3:ListBucketVersions
/// action. Be aware of the name difference.
/// 200 OK response can contain valid or invalid XML. Make sure to design
/// your application to parse the contents of the response and handle it appropriately.
/// ListObjectVersions:
/// WRITE_ACP permission.
///
///
/// AccessControlListNotSupported error code. Requests to read
/// ACLs are still supported. For more information, see Controlling
/// object ownership in the Amazon S3 User Guide.
/// x-amz-acl request header. Amazon S3 supports
/// a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined
/// set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl.
/// If you use this header, you cannot use other access control-specific headers in your
/// request. For more information, see Canned
/// ACL.
/// x-amz-grant-read, x-amz-grant-read-acp,
/// x-amz-grant-write-acp, and x-amz-grant-full-control headers.
/// When using these headers, you specify explicit access permissions and grantees (Amazon
/// Web Services accounts or Amazon S3 groups) who will receive the permission. If you
/// use these ACL-specific headers, you cannot use the x-amz-acl header to
/// set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports
/// in an ACL. For more information, see Access
/// Control List (ACL) Overview.
/// id – if the value specified is the canonical user ID of an Amazon Web
/// Services account
/// uri – if you are granting permissions to a predefined group
/// emailAddress – if the value specified is the email address of an Amazon
/// Web Services account
/// x-amz-grant-write header grants create, overwrite,
/// and delete objects permission to LogDelivery group predefined by Amazon S3 and two
/// Amazon Web Services accounts identified by their email addresses.
/// x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333",
/// id="555566667777"
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
/// </Grantee>
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
///
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>
///
/// PutBucketAcl:
/// s3.amazonaws.com endpoint,
/// the request goes to the us-east-1 Region. Accordingly, the signature
/// calculations in Signature Version 4 must use us-east-1 as the Region,
/// even if the location constraint in the request specifies another Region where the
/// bucket is to be created. If you create a bucket in a Region other than US East (N.
/// Virginia), your application must be able to handle 307 redirect. For more information,
/// see Virtual
/// hosting of buckets.
/// s3:CreateBucket, the following permissions are required
/// when your CreateBucket request includes specific headers:
/// CreateBucket request specifies
/// access control list (ACL) permissions and the ACL is public-read, public-read-write,
/// authenticated-read, or if you specify access permissions explicitly through any other
/// ACL, both s3:CreateBucket and s3:PutBucketAcl permissions
/// are needed. If the ACL for the CreateBucket request is private or if
/// the request doesn't specify any ACLs, only s3:CreateBucket permission
/// is needed.
/// ObjectLockEnabledForBucket is set to true in
/// your CreateBucket request, s3:PutBucketObjectLockConfiguration
/// and s3:PutBucketVersioning permissions are required.
/// CreateBucket request includes the
/// x-amz-object-ownership header, then the s3:PutBucketOwnershipControls
/// permission is required. By default, ObjectOwnership is set to BucketOWnerEnforced
/// and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use
/// cases where you must control access for each object individually. If you want to change
/// the ObjectOwnership setting, you can use the x-amz-object-ownership
/// header in your CreateBucket request to set the ObjectOwnership
/// setting of your choice. For more information about S3 Object Ownership, see Controlling
/// object ownership in the Amazon S3 User Guide.
/// DeletePublicAccessBlock API. To use this operation, you must have
/// the s3:PutBucketPublicAccessBlock permission. By default, all Block Public
/// Access settings are enabled for new buckets. To avoid inadvertent exposure of your
/// resources, we recommend keeping the S3 Block Public Access settings enabled. For more
/// information about S3 Block Public Access, see Blocking
/// public access to your Amazon S3 storage in the Amazon S3 User Guide.
/// CreateBucket request sets BucketOwnerEnforced for
/// Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external
/// Amazon Web Services account, your request fails with a 400 error and
/// returns the InvalidBucketAcLWithObjectOwnership error code. For more
/// information, see Setting
/// Object Ownership on an existing bucket in the Amazon S3 User Guide.
/// CreateBucket:
/// s3.amazonaws.com endpoint,
/// the request goes to the us-east-1 Region. Accordingly, the signature
/// calculations in Signature Version 4 must use us-east-1 as the Region,
/// even if the location constraint in the request specifies another Region where the
/// bucket is to be created. If you create a bucket in a Region other than US East (N.
/// Virginia), your application must be able to handle 307 redirect. For more information,
/// see Virtual
/// hosting of buckets.
/// s3:CreateBucket, the following permissions are required
/// when your CreateBucket request includes specific headers:
/// CreateBucket request specifies
/// access control list (ACL) permissions and the ACL is public-read, public-read-write,
/// authenticated-read, or if you specify access permissions explicitly through any other
/// ACL, both s3:CreateBucket and s3:PutBucketAcl permissions
/// are needed. If the ACL for the CreateBucket request is private or if
/// the request doesn't specify any ACLs, only s3:CreateBucket permission
/// is needed.
/// ObjectLockEnabledForBucket is set to true in
/// your CreateBucket request, s3:PutBucketObjectLockConfiguration
/// and s3:PutBucketVersioning permissions are required.
/// CreateBucket request includes the
/// x-amz-object-ownership header, then the s3:PutBucketOwnershipControls
/// permission is required. By default, ObjectOwnership is set to BucketOWnerEnforced
/// and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use
/// cases where you must control access for each object individually. If you want to change
/// the ObjectOwnership setting, you can use the x-amz-object-ownership
/// header in your CreateBucket request to set the ObjectOwnership
/// setting of your choice. For more information about S3 Object Ownership, see Controlling
/// object ownership in the Amazon S3 User Guide.
/// DeletePublicAccessBlock API. To use this operation, you must have
/// the s3:PutBucketPublicAccessBlock permission. By default, all Block Public
/// Access settings are enabled for new buckets. To avoid inadvertent exposure of your
/// resources, we recommend keeping the S3 Block Public Access settings enabled. For more
/// information about S3 Block Public Access, see Blocking
/// public access to your Amazon S3 storage in the Amazon S3 User Guide.
/// CreateBucket request sets BucketOwnerEnforced for
/// Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external
/// Amazon Web Services account, your request fails with a 400 error and
/// returns the InvalidBucketAcLWithObjectOwnership error code. For more
/// information, see Setting
/// Object Ownership on an existing bucket in the Amazon S3 User Guide.
/// CreateBucket:
/// s3:PutAccelerateConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// PutBucketAccelerateConfiguration:
/// DataExport request element. Reports are
/// updated daily and are based on the object filters that you configure. When selecting
/// data export, you specify a destination bucket and an optional destination prefix where
/// the file is written. You can export the data to a destination bucket in a different
/// account. However, the destination bucket must be in the same Region as the bucket
/// that you are making the PUT analytics configuration to. For more information, see
/// Amazon
/// S3 Analytics – Storage Class Analysis.
/// s3:PutAnalyticsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// PutBucketAnalyticsConfiguration has the following special errors:
/// PutBucketAnalyticsConfiguration:
/// encryption subresource to configure default encryption
/// and Amazon S3 Bucket Keys for an existing bucket.
///
///
/// s3:PutEncryptionConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
///
/// PutBucketEncryption:
/// PutBucketIntelligentTieringConfiguration include:
///
/// PutBucketIntelligentTieringConfiguration has the following special errors:
/// s3:PutIntelligentTieringConfiguration bucket permission to set the configuration
/// on the bucket.
/// PUT action adds an inventory configuration
/// (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory
/// configurations per bucket.
///
///
/// s3:PutInventoryConfiguration
/// action. The bucket owner has this permission by default and can grant this permission
/// to others.
/// s3:PutInventoryConfiguration permission allows a user to create an
/// S3
/// Inventory report that includes all object metadata fields available and to specify
/// the destination bucket to store the inventory. A user with read access to objects
/// in the destination bucket can also access all object metadata fields that are available
/// in the inventory report.
/// PutBucketInventoryConfiguration has the following special errors:
/// s3:PutInventoryConfiguration bucket permission to set the configuration
/// on the bucket.
/// PutBucketInventoryConfiguration:
/// Grantee
/// request element to grant access to other people. The Permissions request
/// element specifies the kind of access the grantee has to the logs.
/// Grantee request element to grant
/// access to others. Permissions can only be granted using policies. For more information,
/// see Permissions
/// for server access log delivery in the Amazon S3 User Guide.
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
/// </Grantee>
/// DisplayName is optional and ignored in the request.
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>
///
/// CanonicalUser and, in a response to a
/// GETObjectAcl request, appears as the CanonicalUser.
/// <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
///
/// LoggingEnabled and its children request elements.
/// To disable logging, you use an empty BucketLoggingStatus request element:
/// <BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" />
///
/// PutBucketLogging:
/// s3:PutMetricsConfiguration
/// action. The bucket owner has this permission by default. The bucket owner can grant
/// this permission to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// PutBucketMetricsConfiguration:
/// PutBucketMetricsConfiguration has the following special error:
/// TooManyConfigurations
/// NotificationConfiguration.
/// <NotificationConfiguration>
/// </NotificationConfiguration>
/// s3:PutBucketNotification permission.
/// TopicConfiguration
/// specifying only the s3:ReducedRedundancyLostObject event type, the response
/// will also include the x-amz-sns-test-message-id header containing the
/// message ID of the test notification sent to the topic.
/// PutBucketNotificationConfiguration:
/// OwnershipControls for an Amazon S3 bucket. To use
/// this operation, you must have the s3:PutBucketOwnershipControls permission.
/// For more information about Amazon S3 permissions, see Specifying
/// permissions in a policy.
///
///
/// PutBucketOwnershipControls:
/// PutBucketPolicy permissions on the
/// specified bucket and belong to the bucket owner's account in order to use this operation.
///
///
/// PutBucketPolicy permissions, Amazon S3 returns a 403
/// Access Denied error. If you have the correct permissions, but you're not using
/// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
/// Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// PutBucketPolicy:
/// PutBucketPolicy permissions on the
/// specified bucket and belong to the bucket owner's account in order to use this operation.
///
///
/// PutBucketPolicy permissions, Amazon S3 returns a 403
/// Access Denied error. If you have the correct permissions, but you're not using
/// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
/// Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// PutBucketPolicy:
/// PutBucketPolicy permissions on the
/// specified bucket and belong to the bucket owner's account in order to use this operation.
///
///
/// PutBucketPolicy permissions, Amazon S3 returns a 403
/// Access Denied error. If you have the correct permissions, but you're not using
/// an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
/// Method Not Allowed error.
/// GetBucketPolicy, PutBucketPolicy, and DeleteBucketPolicy
/// API actions, even if their bucket policy explicitly denies the root principal's access.
/// Bucket owner root principals can only be blocked from performing these API actions
/// by VPC endpoint policies and Amazon Web Services Organizations policies.
/// PutBucketPolicy:
/// DeleteMarkerReplication,
/// Status, and Priority.
/// SourceSelectionCriteria, SseKmsEncryptedObjects,
/// Status, EncryptionConfiguration, and ReplicaKmsKeyID.
/// For information about replication configuration, see Replicating
/// Objects Created with SSE Using KMS keys.
/// PutBucketReplication errors, see List
/// of replication-related error codes
/// PutBucketReplication request, you must have s3:PutReplicationConfiguration
/// permissions for the bucket.
/// PutBucketReplication:
/// PutBucketRequestPayment:
/// PutBucketRequestPayment:
/// s3:PutBucketTagging
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// PutBucketTagging has the following special errors:
/// InvalidTagError
/// MalformedXMLError
/// OperationAbortedError
/// InternalError
/// PutBucketTagging:
/// s3:PutBucketTagging
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources.
/// PutBucketTagging has the following special errors:
/// InvalidTagError
/// MalformedXMLError
/// OperationAbortedError
/// InternalError
/// PutBucketTagging:
/// x-amz-mfa request header and the Status and
/// the MfaDelete request elements in a request to set the versioning state
/// of the bucket.
/// PutBucketVersioning:
/// website
/// subresource. To configure a bucket as a website, you can add this subresource on the
/// bucket with website configuration information such as the file name of the index document
/// and any redirect rules. For more information, see Hosting
/// Websites on Amazon S3.
///
///
/// S3:PutBucketWebsite permission. By default,
/// only the bucket owner can configure the website attached to a bucket; however, bucket
/// owners can allow other users to set the website configuration by writing a bucket
/// policy that grants them the S3:PutBucketWebsite permission.
/// WebsiteConfiguration
/// RedirectAllRequestsTo
/// HostName
/// Protocol
/// WebsiteConfiguration
/// IndexDocument
/// Suffix
/// ErrorDocument
/// Key
/// RoutingRules
/// RoutingRule
/// Condition
/// HttpErrorCodeReturnedEquals
/// KeyPrefixEquals
/// Redirect
/// Protocol
/// HostName
/// ReplaceKeyPrefixWith
/// ReplaceKeyWith
/// HttpRedirectCode
/// website
/// subresource. To configure a bucket as a website, you can add this subresource on the
/// bucket with website configuration information such as the file name of the index document
/// and any redirect rules. For more information, see Hosting
/// Websites on Amazon S3.
///
///
/// S3:PutBucketWebsite permission. By default,
/// only the bucket owner can configure the website attached to a bucket; however, bucket
/// owners can allow other users to set the website configuration by writing a bucket
/// policy that grants them the S3:PutBucketWebsite permission.
/// WebsiteConfiguration
/// RedirectAllRequestsTo
/// HostName
/// Protocol
/// WebsiteConfiguration
/// IndexDocument
/// Suffix
/// ErrorDocument
/// Key
/// RoutingRules
/// RoutingRule
/// Condition
/// HttpErrorCodeReturnedEquals
/// KeyPrefixEquals
/// Redirect
/// Protocol
/// HostName
/// ReplaceKeyPrefixWith
/// ReplaceKeyWith
/// HttpRedirectCode
/// cors configuration for your bucket. If the configuration exists,
/// Amazon S3 replaces it.
///
///
/// s3:PutBucketCORS
/// action. By default, the bucket owner has this permission and can grant it to others.
/// http://www.example.com
/// to access your Amazon S3 bucket at my.example.bucket.com by using the
/// browser's XMLHttpRequest capability.
/// cors
/// subresource to the bucket. The cors subresource is an XML document in
/// which you configure rules that identify origins and the HTTP methods that can be executed
/// on your bucket. The document is limited to 64 KB in size.
/// cors configuration on the bucket and uses
/// the first CORSRule rule that matches the incoming browser request to
/// enable a cross-origin request. For a rule to match, the following conditions must
/// be met:
/// Origin header must match AllowedOrigin elements.
/// Access-Control-Request-Method
/// header in case of a pre-flight OPTIONS request must be one of the AllowedMethod
/// elements.
/// Access-Control-Request-Headers request
/// header of a pre-flight request must match an AllowedHeader element.
/// PutBucketCors:
/// corsconfiguration.
/// Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// cors configuration for your bucket. If the configuration exists,
/// Amazon S3 replaces it.
///
///
/// s3:PutBucketCORS
/// action. By default, the bucket owner has this permission and can grant it to others.
/// http://www.example.com
/// to access your Amazon S3 bucket at my.example.bucket.com by using the
/// browser's XMLHttpRequest capability.
/// cors
/// subresource to the bucket. The cors subresource is an XML document in
/// which you configure rules that identify origins and the HTTP methods that can be executed
/// on your bucket. The document is limited to 64 KB in size.
/// cors configuration on the bucket and uses
/// the first CORSRule rule that matches the incoming browser request to
/// enable a cross-origin request. For a rule to match, the following conditions must
/// be met:
/// Origin header must match AllowedOrigin elements.
/// Access-Control-Request-Method
/// header in case of a pre-flight OPTIONS request must be one of the AllowedMethod
/// elements.
/// Access-Control-Request-Headers request
/// header of a pre-flight request must match an AllowedHeader element.
/// PutBucketCors:
/// s3:PutLifecycleConfiguration
/// permission.
/// s3:DeleteObject
/// s3:DeleteObjectVersion
/// s3:PutLifecycleConfiguration
/// PutBucketLifecycleConfiguration:
/// s3:PutLifecycleConfiguration
/// permission.
/// s3:DeleteObject
/// s3:DeleteObjectVersion
/// s3:PutLifecycleConfiguration
/// PutBucketLifecycleConfiguration:
/// PutObject to only
/// update a single piece of metadata for an existing object. You must put the entire
/// object with updated metadata if you want to update some values.
/// Content-MD5
/// header. When you use this header, Amazon S3 checks the object against the provided
/// MD5 value and, if they do not match, returns an error. Additionally, you can calculate
/// the MD5 while putting an object to Amazon S3 and compare the returned ETag to the
/// calculated MD5 value.
/// PutObject request, you must have the s3:PutObject
/// in your IAM permissions.
/// PutObject request, you
/// must have the s3:PutObjectAcl in your IAM permissions.
/// PutObject request, you must
/// have the s3:PutObjectTagging in your IAM permissions.
/// Content-MD5 header is required for any request to upload an object
/// with a retention period configured using Amazon S3 Object Lock. For more information
/// about Amazon S3 Object Lock, see Amazon
/// S3 Object Lock Overview in the Amazon S3 User Guide.
/// bucket-owner-full-control
/// canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests
/// that contain other ACLs (for example, custom grants to certain Amazon Web Services
/// accounts) fail and return a 400 error with the error code AccessControlListNotSupported.
/// For more information, see
/// Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.
/// DefaultRetention settings require both a mode and a period.
/// DefaultRetention period can be either Days or Years
/// but you must select one. You cannot specify Days and Years
/// at the same time.
/// s3:PutObjectRetention permission in order
/// to place an Object Retention configuration on objects. Bypassing a Governance Retention
/// configuration requires the s3:BypassGovernanceRetention permission.
///
///
/// s3:PutObjectTagging
/// action. By default, the bucket owner has this permission and can grant this permission
/// to others.
/// versionId query parameter.
/// You also need permission for the s3:PutObjectVersionTagging action.
/// PutObjectTagging has the following special errors:
/// PutObjectTagging:
/// PublicAccessBlock configuration for an Amazon
/// S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock
/// permission. For more information about Amazon S3 permissions, see Specifying
/// Permissions in a Policy.
///
/// PublicAccessBlock configuration for a bucket
/// or an object, it checks the PublicAccessBlock configuration for both
/// the bucket (or the bucket that contains the object) and the bucket owner's account.
/// If the PublicAccessBlock configurations are different between the bucket
/// and the account, Amazon S3 uses the most restrictive combination of the bucket-level
/// and account-level settings.
/// PutPublicAccessBlock:
/// select - Perform a select query on an archived object
/// restore an archive - Restore an archived object
/// S3 structure in the request body, see
/// the following:
/// SELECT type of restoration for your
/// query in the request body's SelectParameters structure. You can use expressions
/// like the following examples.
/// SELECT * FROM Object
/// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
/// fileHeaderInfo in the CSV
/// structure in the request body to USE, you can specify headers in the
/// query. (If you set the fileHeaderInfo field to IGNORE, the
/// first row is skipped for the query.) You cannot mix ordinal positions with header
/// column names.
/// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
/// Expedited tier. For more information
/// about tiers, see "Restoring Archives," later in this topic.
/// 409.
/// s3:RestoreObject
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// Tier element of the request body:
/// Expedited - Expedited retrievals allow you to quickly access your data
/// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3
/// Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives
/// are required. For all but the largest archived objects (250 MB+), data accessed using
/// Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity
/// ensures that retrieval capacity for Expedited retrievals is available when you need
/// it. Expedited retrievals and provisioned capacity are not available for objects stored
/// in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive
/// tier.
/// Standard - Standard retrievals allow you to access any of your archived
/// objects within several hours. This is the default option for retrieval requests that
/// do not specify the retrieval option. Standard retrievals typically finish within 3–5
/// hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage
/// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours
/// for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
/// Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.
/// Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible
/// Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large
/// amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within
/// 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
/// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
/// lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive.
/// They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive
/// storage class or S3 Intelligent-Tiering Deep Archive tier.
/// Expedited data access, see Restoring
/// Archived Objects in the Amazon S3 User Guide.
/// HEAD request.
/// Operations return the x-amz-restore header, which provides information
/// about the restoration status, in the response. You can use Amazon S3 event notifications
/// to notify you when a restore is initiated or completed. For more information, see
/// Configuring
/// Amazon S3 Event Notifications in the Amazon S3 User Guide.
/// 200 OK or 202 Accepted
/// status code.
/// 202 Accepted
/// in the response.
/// 200 OK in the
/// response.
/// RestoreObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the action was initiated.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// select - Perform a select query on an archived object
/// restore an archive - Restore an archived object
/// S3 structure in the request body, see
/// the following:
/// SELECT type of restoration for your
/// query in the request body's SelectParameters structure. You can use expressions
/// like the following examples.
/// SELECT * FROM Object
/// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
/// fileHeaderInfo in the CSV
/// structure in the request body to USE, you can specify headers in the
/// query. (If you set the fileHeaderInfo field to IGNORE, the
/// first row is skipped for the query.) You cannot mix ordinal positions with header
/// column names.
/// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
/// Expedited tier. For more information
/// about tiers, see "Restoring Archives," later in this topic.
/// 409.
/// s3:RestoreObject
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// Tier element of the request body:
/// Expedited - Expedited retrievals allow you to quickly access your data
/// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3
/// Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives
/// are required. For all but the largest archived objects (250 MB+), data accessed using
/// Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity
/// ensures that retrieval capacity for Expedited retrievals is available when you need
/// it. Expedited retrievals and provisioned capacity are not available for objects stored
/// in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive
/// tier.
/// Standard - Standard retrievals allow you to access any of your archived
/// objects within several hours. This is the default option for retrieval requests that
/// do not specify the retrieval option. Standard retrievals typically finish within 3–5
/// hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage
/// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours
/// for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
/// Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.
/// Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible
/// Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large
/// amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within
/// 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
/// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
/// lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive.
/// They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive
/// storage class or S3 Intelligent-Tiering Deep Archive tier.
/// Expedited data access, see Restoring
/// Archived Objects in the Amazon S3 User Guide.
/// HEAD request.
/// Operations return the x-amz-restore header, which provides information
/// about the restoration status, in the response. You can use Amazon S3 event notifications
/// to notify you when a restore is initiated or completed. For more information, see
/// Configuring
/// Amazon S3 Event Notifications in the Amazon S3 User Guide.
/// 200 OK or 202 Accepted
/// status code.
/// 202 Accepted
/// in the response.
/// 200 OK in the
/// response.
/// RestoreObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the action was initiated.
/// A property of RestoreObjectRequest used to execute the RestoreObject service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// select - Perform a select query on an archived object
/// restore an archive - Restore an archived object
/// S3 structure in the request body, see
/// the following:
/// SELECT type of restoration for your
/// query in the request body's SelectParameters structure. You can use expressions
/// like the following examples.
/// SELECT * FROM Object
/// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
/// fileHeaderInfo in the CSV
/// structure in the request body to USE, you can specify headers in the
/// query. (If you set the fileHeaderInfo field to IGNORE, the
/// first row is skipped for the query.) You cannot mix ordinal positions with header
/// column names.
/// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
/// Expedited tier. For more information
/// about tiers, see "Restoring Archives," later in this topic.
/// 409.
/// s3:RestoreObject
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// Tier element of the request body:
/// Expedited - Expedited retrievals allow you to quickly access your data
/// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3
/// Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives
/// are required. For all but the largest archived objects (250 MB+), data accessed using
/// Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity
/// ensures that retrieval capacity for Expedited retrievals is available when you need
/// it. Expedited retrievals and provisioned capacity are not available for objects stored
/// in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive
/// tier.
/// Standard - Standard retrievals allow you to access any of your archived
/// objects within several hours. This is the default option for retrieval requests that
/// do not specify the retrieval option. Standard retrievals typically finish within 3–5
/// hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage
/// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours
/// for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
/// Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.
/// Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible
/// Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large
/// amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within
/// 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
/// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
/// lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive.
/// They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive
/// storage class or S3 Intelligent-Tiering Deep Archive tier.
/// Expedited data access, see Restoring
/// Archived Objects in the Amazon S3 User Guide.
/// HEAD request.
/// Operations return the x-amz-restore header, which provides information
/// about the restoration status, in the response. You can use Amazon S3 event notifications
/// to notify you when a restore is initiated or completed. For more information, see
/// Configuring
/// Amazon S3 Event Notifications in the Amazon S3 User Guide.
/// 200 OK or 202 Accepted
/// status code.
/// 202 Accepted
/// in the response.
/// 200 OK in the
/// response.
/// RestoreObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the action was initiated.
/// VersionId used to reference a specific version of the object.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// select - Perform a select query on an archived object
/// restore an archive - Restore an archived object
/// S3 structure in the request body, see
/// the following:
/// SELECT type of restoration for your
/// query in the request body's SelectParameters structure. You can use expressions
/// like the following examples.
/// SELECT * FROM Object
/// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
/// fileHeaderInfo in the CSV
/// structure in the request body to USE, you can specify headers in the
/// query. (If you set the fileHeaderInfo field to IGNORE, the
/// first row is skipped for the query.) You cannot mix ordinal positions with header
/// column names.
/// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
/// Expedited tier. For more information
/// about tiers, see "Restoring Archives," later in this topic.
/// 409.
/// s3:RestoreObject
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// Tier element of the request body:
/// Expedited - Expedited retrievals allow you to quickly access your data
/// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3
/// Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives
/// are required. For all but the largest archived objects (250 MB+), data accessed using
/// Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity
/// ensures that retrieval capacity for Expedited retrievals is available when you need
/// it. Expedited retrievals and provisioned capacity are not available for objects stored
/// in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive
/// tier.
/// Standard - Standard retrievals allow you to access any of your archived
/// objects within several hours. This is the default option for retrieval requests that
/// do not specify the retrieval option. Standard retrievals typically finish within 3–5
/// hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage
/// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours
/// for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
/// Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.
/// Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible
/// Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large
/// amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within
/// 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
/// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
/// lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive.
/// They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive
/// storage class or S3 Intelligent-Tiering Deep Archive tier.
/// Expedited data access, see Restoring
/// Archived Objects in the Amazon S3 User Guide.
/// HEAD request.
/// Operations return the x-amz-restore header, which provides information
/// about the restoration status, in the response. You can use Amazon S3 event notifications
/// to notify you when a restore is initiated or completed. For more information, see
/// Configuring
/// Amazon S3 Event Notifications in the Amazon S3 User Guide.
/// 200 OK or 202 Accepted
/// status code.
/// 202 Accepted
/// in the response.
/// 200 OK in the
/// response.
/// RestoreObject:
/// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.
/// Object key for which the action was initiated.
/// VersionId used to reference a specific version of the object.
/// A property of RestoreObjectRequest used to execute the RestoreObject service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// select - Perform a select query on an archived object
/// restore an archive - Restore an archived object
/// S3 structure in the request body, see
/// the following:
/// SELECT type of restoration for your
/// query in the request body's SelectParameters structure. You can use expressions
/// like the following examples.
/// SELECT * FROM Object
/// SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
/// fileHeaderInfo in the CSV
/// structure in the request body to USE, you can specify headers in the
/// query. (If you set the fileHeaderInfo field to IGNORE, the
/// first row is skipped for the query.) You cannot mix ordinal positions with header
/// column names.
/// SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
/// Expedited tier. For more information
/// about tiers, see "Restoring Archives," later in this topic.
/// 409.
/// s3:RestoreObject
/// action. The bucket owner has this permission by default and can grant this permission
/// to others. For more information about permissions, see Permissions
/// Related to Bucket Subresource Operations and Managing
/// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.
/// Tier element of the request body:
/// Expedited - Expedited retrievals allow you to quickly access your data
/// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3
/// Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives
/// are required. For all but the largest archived objects (250 MB+), data accessed using
/// Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity
/// ensures that retrieval capacity for Expedited retrievals is available when you need
/// it. Expedited retrievals and provisioned capacity are not available for objects stored
/// in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive
/// tier.
/// Standard - Standard retrievals allow you to access any of your archived
/// objects within several hours. This is the default option for retrieval requests that
/// do not specify the retrieval option. Standard retrievals typically finish within 3–5
/// hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage
/// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours
/// for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
/// Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.
/// Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible
/// Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large
/// amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within
/// 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
/// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
/// lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive.
/// They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive
/// storage class or S3 Intelligent-Tiering Deep Archive tier.
/// Expedited data access, see Restoring
/// Archived Objects in the Amazon S3 User Guide.
/// HEAD request.
/// Operations return the x-amz-restore header, which provides information
/// about the restoration status, in the response. You can use Amazon S3 event notifications
/// to notify you when a restore is initiated or completed. For more information, see
/// Configuring
/// Amazon S3 Event Notifications in the Amazon S3 User Guide.
/// 200 OK or 202 Accepted
/// status code.
/// 202 Accepted
/// in the response.
/// 200 OK in the
/// response.
/// RestoreObject:
/// s3:GetObject permission for this operation. Amazon S3 Select
/// does not support anonymous access. For more information about permissions, see Specifying
/// Permissions in a Policy in the Amazon S3 User Guide.
/// Transfer-Encoding header with chunked
/// as its value in the response. For more information, see Appendix:
/// SelectObjectContent Response.
/// SelectObjectContent action does not support the following GetObject
/// functionality. For more information, see GetObject.
/// Range: Although you can specify a scan range for an Amazon S3 Select
/// request (see SelectObjectContentRequest
/// - ScanRange in the request parameters), you cannot specify the range of bytes
/// of an object to return.
/// GLACIER, DEEP_ARCHIVE, and REDUCED_REDUNDANCY
/// storage classes, or the ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS
/// access tiers of the INTELLIGENT_TIERING storage class: You cannot query
/// objects in the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY
/// storage classes, nor objects in the ARCHIVE_ACCESS or DEEP_ARCHIVE_ACCESS
/// access tiers of the INTELLIGENT_TIERING storage class. For more information
/// about storage classes, see Using
/// Amazon S3 storage classes in the Amazon S3 User Guide.
/// SelectObjectContent:
/// Content-MD5
/// header in the upload part request. Amazon S3 checks the part data against the provided
/// MD5 value. If they do not match, Amazon S3 returns an error.
/// x-amz-content-sha256 header as a checksum instead of Content-MD5.
/// For more information see Authenticating
/// Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).
///
/// UploadPart has the following special errors:
/// UploadPart:
/// GetObject operation when using Object
/// Lambda access points. For information about Object Lambda access points, see Transforming
/// objects with Object Lambda access points in the Amazon S3 User Guide.
///
///
/// RequestRoute, RequestToken, StatusCode,
/// ErrorCode, and ErrorMessage. The GetObject
/// response metadata is supported so that the WriteGetObjectResponse caller,
/// typically an Lambda function, can provide the same metadata when it internally invokes
/// GetObject. When WriteGetObjectResponse is called by a customer-owned
/// Lambda function, the metadata returned to the end user GetObject call
/// might differ from what Amazon S3 would normally return.
/// x-amz-meta. For example, x-amz-meta-my-custom-header:
/// MyCustomValue. The primary use case for this is to forward GetObject
/// metadata.
///